Árvore de páginas


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.

IMPORTANTE!

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 HAT


Para habilitar os jobs automáticos, é necessário adiciona-los ao arquivo appserver.ini:


Crie uma instância PJobHatXML:

Bloco PLSHAT
[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:

Bloco ONSTART
[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:

Configuração do Ambiente
[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:

  1. Identificador Único
  2. Número do Pedido (BNV_CODIGO)
  3. Número da Thread que processou o registro
  4. Horário do processamento
  5. Mensagem do Processamento

Com essa organização, é possível ler o log com facilidade separando cada processamento.


IMPORTANTE!

A geração dos logs do processo é habilitada através do parâmetro MV_PHATLOG com o conteúdo 1.



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_PROCESCaracter10ProcessadoProcessado@! Sim
Vazio() .Or. Pertence('01')0=Não;1=SimNãoVisualRealNão
B1R_ROBOIDCaracter150ID RoboID Robo Processamento@! Sim


NãoVisualRealNão
B1R_ROBOHRCaracter170Hr Inic ProcHora inicio proces robo@! Sim


NãoVisualRealNão
B1R_QTDTRYNumérico20Qtde TentatQtde. Tentativas Rôbo99Sim


NãoVisualRealNão
B1R_DATSUBData80Dat. Subm.Data da Subm. do Arquivo
Sim


NãoVisualRealNã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_HATMIPNumérico20Qtd Min PostQtde Minutos Post99Sim

5NãoAlterarRealNão
BA0_HATMIGNumérico20Qtd Min GetQuantidade Minutos Get99Sim

5NãoAlterarRealNão
BA0_HATTRYNumérico20Qtd Tent RecQtde Tentativas Reconexão99Sim

5NãoAlterarRealNão


Pastas (folders) SXA:

XA_ALIASXA_ORDEMXA_DESCRI
BA05Integração HAT


Parâmetros SX6:

Parâmetro MV_PSVCLOG
DescriçãoHabilita log para servicos do PLS (0=Desativado / 1=Ativado)
TipoCaracter
Conteúdo1

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.