Histórico da Página
01. DADOS GERAIS
Produto: |
| ||||
---|---|---|---|---|---|
Linha de Produto: |
| ||||
Segmento: |
| ||||
Módulo: | Plano de Saúde | ||||
Função: | |||||
País: | Brasil | ||||
Story: | DSAUREV-6566 |
02. SITUAÇÃO/REQUISITO
Necessidade de realizar melhorias no processo de integração de cadastros PLS com o HAT.
03. SOLUÇÃO
Implementada melhoria com a disponibilização da possibilidade de realizar a comunicação de cadastro do PLS com o HAT através Jobs inicializados pelo appserver.ini.
Este ajuste é uma alternativa a utilização do Schedule de comunicação PLENVHAT, assim o cliente pode decidir por qual processo ele deseja enviar os dados cadastrais do PLS para o HAT. Caso o método adotado seja a utilização de Jobs, recomendamos desabilitar o Schedule PLENVHAT.
Funcionamento dos jobs:
Com a utilização de jobs, diferentemente do Schedule que processava os registros por Alias, os jobs sempre vão buscar os registros sem processamento mais antigos independentes da API. Cada thread processa um registro por vez, tentando realizar a comunicação com a API da HAT.
Caso a comunicação não possa ser realizada por algum motivo, o sistema incrementará o campo Qtde Tentat. (BNV_QTDTRY). O sistema reinicializa os registros que não teve sucesso ao comunicar a cada 2 minutos para solicitações Post, 5 minutos para Get e realiza 5 tentativas para cada registro. Após as 5 tentativas, o sistema ignora esse registro para não gerar problemas de controle de fila tentando enviar a todo tempo, um registro que já apresentou problemas no envio 5 vezes. É possível posteriormente, realizar o envio manualmente deste registro na rotina Pedidos PLS x HAT (PLSA274).
O job continua realizando o controle de enviar primeiramente um registro para sua API correspondente com o verbo POST para incluir o mesmo na fila de processamento do HAT, e posteriormente, uma comunicação GET para verificar se o registro já foi processado pelo HAT com sucesso.
Card documentos Informacao O tempo para reconexão das solicitações Post e Get, e a quantidade máxima de tentativas podem ser parametrizados em novos campos na tabela de Operadoras de Saúde (BA0). Titulo IMPORTANTE!
Totvs custom tabs box | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||
|
04. DEMAIS INFORMAÇÕES
MUDANÇA NOS LOGS
Foi implementado também, uma melhoria nos logs do processo. Como o processo pode utilizar várias threads, foi criado uma estrutura de separação dos dados no modelo .CSV com separação das colunas com o caracter ;
O log plshat.log pode ser encontrado em \ProtheusData\logpls\[Data de Processamento].
Exemplo:
Para ler o log com precisão, utilize uma ferramenta de leitura de CSVs. Abaixo, é apresentado o passo-a-passo no Microsoft Excel:
Acesse Dados/De Texto:
Selecione o arquivo plshat.log:
Selecione opção Delimitado:
Em Delimitadores selecione Ponto e vírgula:
Marque todas as colunas com a opção Texto, clique em Concluir.
Selecione todos os registros e clique em Classificar. Adicione as colunas em Ordem: A, B, C e D:
Os registros são apresentados com as colunas na ordem:
- Identificador Único
- Número do Pedido (BNV_CODIGO)
- Número da Thread que processou o registro
- Horário do processamento
- Mensagem do Processamento
Com essa organização, é possível ler o log com facilidade separando cada processamento.
Card documentos Informacao
...
A geração dos logs do processo é habilitada através do parâmetro MV_PHATLOG com o conteúdo 1. Titulo IMPORTANTE!
05. ASSUNTOS RELACIONADOS
- Dicionário de dados atualizado:
Novos campos Campos SX3:
Tabela BNV:
X3_CAMPO | X3_TIPO | X3_TAMANHO | X3_DECIMAL | X3_TITULO | X3_DESCRIC | X3_PICTURE | X3_USADO | X3_RELACAO | X3_VALID | X3_CBOX | X3_BROWSE | X3_VISUAL | X3_CONTEXT | X3_OBRIGAT |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BNV_PROCES | Caracter | 1 | 0 | Processado | Processado | @! | Sim | Vazio() .Or. Pertence('01') | 0=Não;1=Sim | Não | Visual | Real | Não | |
BNV_ROBOID | Caracter | 15 | 0 | ID Robo | ID Robo Processamento | @! | Sim | Não | Visual | Real | Não | |||
BNV_ROBOHR | Caracter | 17 | 0 | Hr Inic Proc | Hora inicio proces robo | @! | Sim | Não | Visual | Real | Não | |||
BNV_QTDTRY | Numérico |
2 | 0 | Qtde Tentat | Qtde. Tentativas Rôbo |
99 | Sim | Não | Visual | Real | Não |
Tabela BA0:
X3_CAMPO | X3_TIPO | X3_TAMANHO | X3_DECIMAL | X3_TITULO | X3_DESCRIC | X3_PICTURE | X3_USADO | X3_RELACAO | X3_VALID | X3_FOLDER | X3_BROWSE | X3_VISUAL | X3_CONTEXT | X3_OBRIGAT |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BA0_HATMIP | Numérico | 2 | 0 | Qtd Min Post | Qtde Minutos Post | 99 | Sim | 5 | Não | Alterar | Real | Não | ||
BA0_HATMIG | Numérico | 2 | 0 | Qtd Min Get | Quantidade Minutos Get | 99 | Sim | 5 | Não | Alterar | Real | Não | ||
BA0_HATTRY | Numérico | 2 | 0 | Qtd Tent Rec | Qtde Tentativas Reconexão | 99 | Sim | 5 | Não | Alterar | Real | Não |
Pastas (folders) SXA:
XA_ALIAS | XA_ORDEM | XA_DESCRI |
---|---|---|
BA0 | 5 | Integração HAT |
Parâmetros SX6:
Parâmetro | MV_PSVCLOG |
---|---|
Descrição | Habilita log para servicos do PLS (0=Desativado / 1=Ativado) |
Tipo | Caracter |
Conteúdo | 1 |
Observação: esse parâmetro habilita a geração do log plshatservice.log na pasta \ProtheusData\logpls\[Data de Processamento]. Ele é gerado no modelo CSV descrito no na sessão 04 deste documento.
Templatedocumentos |
---|
HTML |
---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } .aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { background: #FF9900; !important } .menu-item.active-tab { border-bottom: none !important; } </style> |