Histórico da Página
Arquivo de
logLog do
integrador separadoIntegrador Separado por Thread
Características do Requisito
Linha de Produto: | TSA | ||||
Segmento: | Manufatura | ||||
Rotina: |
| ||||
Cadastros Iniciais: | Relacione os cadastros necessários que precisam ser preenchidos antes da utilização desse requisito./conf/log4j.properties | ||||
Parâmetro(s): | Informe os parâmetros utilizados. | ||||
Ponto de Entrada: | Informe o ponto de entrada relacionado (link). | ||||
Chamados relacionados | Informe o(s) chamado(s) relacionado(s).tsa.log4j.generateLogByThread | ||||
Requisito (ISSUE): Informe o requisito relacionado (Issue). | PCREQ-5483 | ||||
Versões/Release: | 12.1. 7 em diante.8 |
Descrição
Escreva aqui a descrição da nova implementação ou melhoria.
Importante
(Apenas para Microsiga Protheus, versões anteriores à versão 12)
Antes de executar o compatibilizador informe o nome do compatibilizador é imprescindível:
- Realizar o backup da base de dados do produto que será executado o compatibilizador (diretório PROTHEUS_DATA\DATA, se versão 10, ou \PROTHEUS11_DATA\DATA, se versão 11) e dos dicionários de dados SXs (diretório PROTHEUS_DATA_SYSTEM, se versão 10, ou \PROTHEUS11_DATA\SYSTEM, se versão 11).
- Os diretórios acima mencionados correspondem à instalação padrão do Protheus, portanto, devem ser alterados conforme o produto instalado na empresa.
- Essa rotina deve ser executada em modo exclusivo, ou seja, nenhum usuário deve estar utilizando o sistema.
- Se os dicionários de dados possuírem índices personalizados (criados pelo usuário), antes de executar o compatibilizador, certifique-se de que estão identificados pelo nickname. Caso o compatibilizador necessite criar índices, irá adicioná-los a partir da ordem original instalada pelo Protheus, o que poderá sobrescrever índices personalizados, caso não estejam identificados pelo nickname.
- O compatibilizador deve ser executado com a Integridade Referencial desativada*.
Atenção O procedimento a seguir deve ser realizado por um profissional qualificado como Administrador de Banco de Dados (DBA) ou equivalente! A ativação indevida da Integridade Referencial pode alterar drasticamente o relacionamento entre tabelas no banco de dados. Portanto, antes de utilizá-la, observe atentamente os procedimentos a seguir:
Contate o Help Desk Framework EM CASO DE DÚVIDAS! |
---|
- Em Microsiga Protheus TOTVS Smart Client (se versão 10) ou ByYou Smart Client (se versão 11), digite informe o nome do compatibilizador no campo Programa Inicial. Descreva se o compatibilizador deve ter uma data específica ou superior para que a atualização nos dicionários seja efetuada corretamente. Importante: Para a correta atualização do dicionário de dados, certifique-se que a data do compatibilizador seja igual ou superior a ___/___/____.
- Clique em OK para continuar.
- Após a confirmação é exibida uma tela para a seleção da empresa em que o dicionário de dados será modificado ou é apresentada a janela para seleção do compatibilizador. Selecione o programa xxxx().
- Ao confirmar é exibida uma mensagem de advertência sobre o backup e a necessidade de sua execução em modo exclusivo.
- Clique em Processar para iniciar o processamento. O primeiro passo da execução é a preparação dos arquivos.
É apresentada uma mensagem explicativa na tela. - Em seguida, é exibida a janela Atualização concluída com o histórico (log) de todas as atualizações processadas. Nesse log de atualização são apresentados somente os campos atualizados pelo programa. O compatibilizador cria os campos que ainda não existem no dicionário de dados.
- Clique em Gravar para salvar o histórico (log) apresentado.
- Clique em OK para encerrar o processamento.
- Clique em Processar para iniciar o processamento. O primeiro passo da execução é a preparação dos arquivos.
Descreva se há algum procedimento necessário após a aplicação do compatibilizador.
Procedimento para Implantação
O sistema é atualizado logo após a aplicação do pacote de atualizações (Patch) deste chamado.
- Aplique o patch do chamado e execute uma vez a rotina Informe o nome da rotina.
- No módulo informe o nome do módulo acesse informe o caminho e verifique que o parâmetro informe o nome do parâmetro é criado conforme especificações abaixo:
Nome da Variável: | Informe o Nome da Variável |
Tipo: | Informe o Tipo |
Descrição: | Informe a Descrição |
Valor Padrão: | Informe o Valor Padrão |
Atualizações do Compatibilizador
(Apenas para Microsiga Protheus, versões anteriores à versão 12)
- Criação ou Alteração de Perguntas no arquivo SX1 – Cadastro de Perguntes:
Pergunte | (X1_PERGUNT) |
Nome |
|
Grupo | (X1_GRUPO) |
Ordem | (X1_ORDEM) |
Tipo | (X1_TIPO) |
Tamanho | (X1_TAMANHO) |
2. Criação ou Alteração de tabela no arquivo SX2– Tabelas:
Chave | Nome | Modo | PYME |
B04 (X2_CHAVE) | Dente/Região (X2_NOME) | C (X2_MODO) | N (X2_PYME) |
3. Criação ou Alteração de Tabelas Genéricas no arquivo SX5 – Tabelas Genéricas:
Chave | Ex.: AR |
Descrição | Ex.: Tabela de IR de Aplicações Financeiras |
4. Criação ou Alteração (mantenha somente a instrução correspondente) de Campos no arquivo SX3 – Campos:
- Tabela BGD - Prod x Cob x Proc x Co-Part:
Campo | (X3_CAMPO) |
Tipo | (X3_TIPO) |
Tamanho | (X3_TAMANHO) |
Decimal | (X3_DECIMAL) |
Formato | (X3_PICTURE) |
Título | (X3_TITULO) |
Descrição | (X3_DESCRIC) |
Nível | (X3_NÍVEL) |
Usado | (X3_USADO) Informe Sim ou Não |
Obrigatório | (X3_OBRIGAT) Informe Sim ou Não |
Browse | (X3_BROWSE) Informe Sim ou Não |
Opções | (X3_CBOX) |
When | (X3_WHEN) |
Relação | (X3_RELACAO) |
Val. Sistema | (X3_VALID) |
Help | Descreva o conteúdo informado para Help de Campo no ATUSX |
Importante:
O tamanho dos campos que possuem grupo pode variar conforme ambiente em uso.
5. Criação ou Alteração de Consulta Padrão no arquivo SXB – Consulta Padrão:
- Pesquisa B05PLS:
Alias | (XB_ALIAS) |
Tipo | (XB_TIPO) |
Sequência | (XB_SEQ) |
Coluna | (XB_COLUNA) |
Descrição | (XB_DESCRI) |
Contém | (XB_CONTEM) |
6. Criação ou Alteração de Índices no arquivo SIX – Índices:
Índice | AA1 |
Ordem | 6 |
Chave | AA1_FILIAL+AA1_CODVEN |
Descrição | Cod. Vendedor |
Proprietário | S |
7. Criação ou Alteração de Parâmetros no arquivo SX6 – Parâmetros:
Nome da Variável | (X6_VAR) |
Tipo | (X6_TIPO) |
Descrição | (X6_DESCRIC + X6_DESC1 + X6_DESC2) |
Valor Padrão | (X6_CONTEUD) |
8. Criação ou Alteração (mantenha somente a instrução correspondente) de Gatilhos no arquivo SX7 – Gatilhos:
- Tabela BD5 – Contas Médicas:
Campo | Informe o conteúdo do (X7_CAMPO) |
Sequência | Informe o conteúdo do (X7_SEQUENC) |
Campo Domínio | Informe o conteúdo do (X7_CDOMIN) |
Tipo | Informe o conteúdo do (X7_TIPO) |
Regra | Informe o conteúdo do (X7_REGRA) |
Posiciona? | Informe o conteúdo do (X7_SEEK) |
Chave | Informe o conteúdo do (X7_CHAVE) |
Condição | Informe o conteúdo do (X7_CONDIC) |
Proprietário | Informe o conteúdo do (X7_PROPRI) |
Procedimento para Configuração
(Estes procedimentos devem ser feitos quando for necessário configurar parâmetros e/ou rotinas no menu).
CONFIGURAÇÃO DE PARÂMETROS
- No Configurador (SIGACFG), acesse Ambientes/Cadastros/Parâmetros (CFGX017). Crie/configure (mantenha somente a instrução correspondente) o(s) parâmetro(s) a seguir:
(É necessário criar uma tabela para cada parâmetro descrito no item Parâmetro(s), da tabela Características do Requisito)
Itens/Pastas | Descrição |
Nome: |
|
Tipo: | Informe o Tipo do parâmetro |
Cont. Por.: | Informe o Conteúdo padrão |
Descrição: |
|
CONFIGURAÇÃO DE MENUS
2. No Configurador (SIGACFG), acesse Ambientes/Cadastro/Menu (CFGX013). Informe a nova opção de menu do informe o nome do módulo, conforme instruções a seguir:
Menu | Informe o Menu em que estará localizada a rotina |
Submenu | Informe o Submenu em que estará localizada a rotina |
Nome da Rotina | Informe o Título da rotina |
Programa | Informe o Fonte da rotina |
Módulo | Informe o Nome do(s) produto(s) a ser utilizado ou “Todos” |
Tipo | Informe a Função |
Procedimento para Utilização
- Descreva os procedimentos, passo a passo (caso de uso), que serão realizados pelos usuários para que a melhoria seja visualizada identificando as seguintes informações:
- Localização da rotina no menu;
- Localização dos novos campos e/ou perguntas e respectivas pastas de cadastro que são visualizadas pelo usuário;
- Caso seja necessário ter algum cadastro feito previamente, faça uma observação.
Exemplo:
1. No Plano de Saúde (SIGAPLS), acesse Atualizações / Produto Saúde / Produto Saúde (PLSA800).
O sistema apresenta a janela de produtos cadastrados.
2. Posicione o cursor em um produto e clique em Alterar.
3. Na pasta Cobertura/Carências selecione a subpasta Tipo de Prestador.
4. Dê duplo clique no campo TP Prestador (BCW_TIPPRE).
O sistema apresenta a janela Tipo de Prestador – Coparticipação – Alterar.
5. Informe os dados conforme orientação do help de campo e observe o preenchimento do novo campo:
Som. p/Compra (BCW_SOMCOM): selecione Sim para indicar se a coparticipação cadastrada será válida somente para efeito de compra de procedimentos ou Não, caso contrário.
6. Confira os dados e confirme.
Vídeo
- Vídeo hospedado no youtube e inserido no template por meio da macro Widget Connector.
** Canal do youtube e software de vídeoem definição.
Título do Vídeo: | Disponibilizado pelo Marketing. |
Introdução: | Disponibilizado pelo Marketing. |
Passo a Passo: | Capturar diretamente do sistema. |
Finalização: | Disponibilizado pelo Marketing. |
Este é um requisito de suportabilidade e visa possibilitar a geração das saídas de log do integrador separados em vários arquivos, sendo que cada um destes representa uma Thread (processo paralelo). Por exemplo, se existir dois dispositivos ativos da Telemática, são pelo menos duas Threads em execução e assim, cada uma gerará um arquivo de log independente (/log/TelematicaServer_01.txt /log/TelematicaServer_02).
Por questões de otimização, recomenda-se que a ativação deste parâmetro seja realizada a pedidos de um analista, técnico ou consultor e que o mesmo permaneça ativo apenas no período da análise. A ativação desse parâmetro requer que a capacidade mínima de disco reservada para os logs do TSA seja aumentada. Para saber a quantidade de disco mínima necessária, multiplique o valor do parâmetro "/conf/log4j.properties/*MaxFileSize" por 30. Ou seja, se o valor do parâmetro estiver "100MB", serão necessário 3GB mínimos de espaço em disco.
Procedimento para Implantação
Para ativar a funcionalidade, é necessário inserir a chave abaixo no arquivo "/conf/log4j.propertiers", atribuindo-a o valor true.
Nome da Variável: | tsa.log4j.generateLogByThread |
Tipo: | Boolean (true - ativa) / false - desativa) |
Descrição: | Cria vários arquivos de logs, um para cada Thread |
Valor Padrão: | False |
Exemplo:
Para desativar a funcionalidade basta alterar o valor da chave "tsa.log4j.generateLogByThread" para false.
ATENÇÃO:
- Em ambos os casos (Ativação/Desativação) o integrador precisa ser reiniciado.
- O arquivo server_log.txt continuará ser gerado com a ativação deste requisito.
Procedimento para Configuração
CONFIGURAÇÃO DE PARÂMETROS
O appender padrão do arquivo /log/log4j.propertiers é o fileOut, assim, qualquer configuração colocada em suas chaves "log4j.appender.fileOut.*" serão replicadas para os arquivos de log das Threads. Por exemplo, caso a chave log4j.rootLogger esteja com o valor INFO, significa que o nível de log visualizado é INFO, então, se quiser que no arquivo TelematicaServer_01.txt, sejam mostrados logs de nível DEBUG, basta alterar de INFO para DEBUG neste parâmetro.
Procedimento para Utilização
Com a ativação do parâmetro, ao iniciar o integrador serão criados diversos arquivos de log, conforme imagem abaixo:
No exemplo acima, a imagem refere-se a um integrador contendo apenas um dispositivo da Telemática ativo. Todos esses arquivos mostrados foram criados, pois, cada um representa uma Thread especifica.
Abrindo um desses arquivos, o layout das mensagens pode ser lido da seguinte forma: na linha selecionada observe que antes do "->" refere-se ao nome da Thread pai, antes do "<|>" refere-se ao nome Thread corrente, e, após, refere-se a classe onde o log está inserido, veja:
ATENÇÃO:
- Quando a Thread A chamar a Thread B, todos os logs contidos na classe da Thread B serão mostrados na Thread A. Somente será criado um arquivo de log para a Thread B se ela instanciar alguma classe, assim, todos os logs contidos nesta classe sairão em seu arquivo de log.
Ponto de Entrada
Descrição: | Informe o Menu em que estará localizada a rotina | ||||||||||||||||
Localização: | Informe o Submenu em que estará localizada a rotina | ||||||||||||||||
Eventos: | Informe o Título da rotina | ||||||||||||||||
Programa Fonte: | Informe o Fonte da rotina | ||||||||||||||||
Função: | Informe o Nome do(s) produto(s) a ser utilizado ou “Todos” | ||||||||||||||||
Retorno: |
|
Exemplo:
#Include 'Protheus.ch'
User Function CN120ALT()
Local aCab:= PARAMIXB[1]
Local cTipo:= PARAMIXB[2]
If cTipo == '1'
aCab[4][2]:= 'NF' //Validações do usuário
EndIf
Return aCab