01. DADOS GERAIS
Produto: | TOTVS Saúde Planos |
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Saúde |
Módulo: | Plano de Saúde |
Função: | PJobHatXML |
País: | Brasil |
Story: | DSAUREV-7176 |
02. SITUAÇÃO/REQUISITO
Necessidade de realizar melhorias no processo de integração de faturamento PLS com o HAT.
03. SOLUÇÃO
Implementada melhoria com a disponibilização da possibilidade de realizar a comunicação de faturamento do PLS com o HAT através Jobs inicializados pelo appserver.ini.
Este ajuste substitui a utilização dos robôs de comunicação PLSxHAT002 e PLSvHAT002.
Após aplicar esse patch, o robo antigo será desativado. Assim que o patch for aplicado, alterar as configurações no appserver.ini do servidor onde o robo é executado e em seguida ativar o parâmetro featureFlag004 no ambiente de administração do HATIMPORTANTE!
Para habilitar os jobs automáticos, é necessário adiciona-los ao arquivo appserver.ini:
Crie uma instância PJobHatXML:
[PJobHatXML] ENVIRONMENT=PLS27 INSTANCES=1,1 main=PJobHatXML
ENVIRONMENT - Indique o ambiente que será processado.
INSTANCES - Quantidade de threads que será alocada/iniciada ao iniciar o server.
main - Nome do programa, manter PJobPlsHat fixo.
Agora precisamos adicionar a instância PJobHatXML no ONSTART para a mesma ser iniciada junto com o ambiente:
[OnStart] jobs=PJobHatXML RefreshRate=120
Jobs - Nome dos jobs (instâncias) que serão iniciados ao inicializar o serviço.
Refreshrate - Determina um intervalo de tempo, em segundos, para que os jobs especificados, na chave [OnStart], sejam executados novamente e automaticamente, caso os mesmos não estejam em execução.
Esta chave, uma vez especificada, é válida para todos os jobs da seção [OnStart]. Deste modo, todos os jobs especificados serão executados novamente, caso já tenham sido terminados.
Na chave correspondente ao seu ambiente, é necessário adicionar as atributos: EMPROBOXML, FILROBOXML e OPEPLSTOHAT. Perceba que em nossa chave [PLSHAT] criada anteriormente, utilizamos o ambiente PLS27. Segue um exemplo de preenchimento:
[PLS27] SourcePath=C:\PLS27\rpo RootPath=C:\PLS27\ProtheusData StartPath=\System RpoLanguage=Portuguese RpoVersion=120 RpoDb=TOP LocalFiles=CTREE localdbextension=.DTC SpecialKey=PLS27 dbDataBase=MSSQL dbServer=localhost dbALIAS=P12127MNTDBEXP dbPort=7890 TOPMemoMega=1 JEMP=T1 JFIL=M SP 01 EMPROBOXML=T1 FILROBOXML=M SP 01 OPEPLSTOHAT=0001
EMPROBOXML - Empresa que o Job PJobPlsHat executará.
FILROBOXML - Filial que o Job PJobPlsHat executará.
OPEPLSTOHAT - Código da Operadora (BA0) que o Job PJobPlsHat executará.
IMPORTANTE!
Aplique o pacote de dicionário de dados que acompanha este pacote e também o pacote do release incremental (para maiores informações consultar: Pacotes de Atualização - Plano de Saúde - P12 ) ou crie os campos da tabela B1R e BA0 descritos na sessão 05 deste documento.
No SIGAPLS, acesse Atualizações/Operadora/Operadora de Saúde (PLSA010). Selecione sua Operadora, clique em Alterar. Na nova aba Integração HAT, preencha os novos campos
Qtd Min Post (BA0_HATMIP) - Indica a quantidade de minutos para o job de integração PLS x HAT realizar novamente o envio de registros POST que tiveram falha na comunicação (se o campo estiver vazio, o padrão do sistema é 2).
Qtd Min Get (BA0_HATMIG) - Indica a quantidade de minutos para o job de integração PLS x HAT realizar novamente o envio de registros GET que tiveram falha na comunicação (se o campo estiver vazio, o padrão do sistema é 5).
Qtd Tent Rec (BA0_HATTRY) - Indica a quantidade reenvios que o job de comunicação PLS x HAT pode realizar para um registro que houve falha na comunicação (se o campo estiver vazio, o padrão do sistema é 5).
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 plsxmldownload.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 plsxmldownload.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.
A geração dos logs do processo é habilitada através do parâmetro MV_PHATLOG com o conteúdo 1.IMPORTANTE!
05. ASSUNTOS RELACIONADOS
- Dicionário de dados atualizado:
Novos Campos SX3:
Tabela B1R:
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
B1R_PROCES | Caracter | 1 | 0 | Processado | Processado | @! | Sim | Vazio() .Or. Pertence('01') | 0=Não;1=Sim | Não | Visual | Real | Não | |
B1R_ROBOID | Caracter | 15 | 0 | ID Robo | ID Robo Processamento | @! | Sim | Não | Visual | Real | Não | |||
B1R_ROBOHR | Caracter | 17 | 0 | Hr Inic Proc | Hora inicio proces robo | @! | Sim | Não | Visual | Real | Não | |||
B1R_QTDTRY | Numérico | 2 | 0 | Qtde Tentat | Qtde. Tentativas Rôbo | 99 | Sim | Não | Visual | Real | Não | |||
B1R_DATSUB | Data | 8 | 0 | Dat. Subm. | Data da Subm. do Arquivo | 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.