Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


01. DADOS GERAIS

Produto:

Solucoes_totvs
SolucaoTOTVS Saúde Planos

Linha de Produto:

Linhas_totvs
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoSaúde

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.

...

Totvs custom tabs box
tabsPasso 01, Passo 02, Passo 03, Passo 04
idspasso1,passo2
Totvs custom tabs box items
defaultyes
referenciapasso1

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


Crie uma instância PLSHAT:

Bloco de código
titleBloco PLSHAT
linenumberstrue
[PLSHAT]
ENVIRONMENT=PLS27
INSTANCES=1,1
main=PJobPlsHat

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 PLSHAT no ONSTART para a mesma ser iniciada junto com o ambiente:

Bloco de código
titleBloco ONSTART
linenumberstrue
[OnStart]
jobs=HTTP,HTTPJOB,PLSHAT
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:

Bloco de código
titleConfiguração do Ambiente
linenumberstrue
[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á.

Totvs custom tabs box items
defaultno
referenciapasso2

Aplique o pacote de dicionário de dados que acompanha este pacote ou crie os campos da tabela BNV 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

Image RemovedImage Added

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 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:

...

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


Card documentos
InformacaoA geração dos logs do processo é habilitada através do parâmetro MV_PHATLOG com o conteúdo 1.
TituloIMPORTANTE!



05. ASSUNTOS RELACIONADOS

  • Dicionário de dados atualizado:


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


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


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


NãoVisualRealNão


Novos campos SX3, tabela 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érico120Qtd Min PostQtde Minutos Post99Sim

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

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

5NãoAlterarRealNão


Novo registro pastas 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.


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>