Histórico da Página
NOME DO REQUISITO
Características do Requisito
Linha de Produto: | Informe a linha de produto.RM | ||||||||||
Segmento: | Informe o segmento.FRAMEWORK | ||||||||||
Módulo: | Informe o móduloEAI 2.0 | ||||||||||
Rotina: |
| ||||||||||
Cadastros Iniciais: | Relacione os cadastros necessários que precisam ser preenchidos antes da utilização desse requisito. | ||||||||||
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). | ||||||||||
Requisito (ISSUE): | Informe o requisito relacionado (Issue). | ||||||||||
País(es): | Informe o(s) Pais(es). | ||||||||||
Banco(s) de Dados: | Informe o(s) Banco(s) de Dados utilizado(s). | ||||||||||
Tabelas Utilizadas: | Informe as tabelas utilizadas. | ||||||||||
Sistema(s) Operacional(is): | Informe o(s) sistema(s) operacional(is) utilizados. |
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), digite 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. |
Descrição
Efetuar a migração dos dados cadastrados nas tabelas de integração do EAI 1.0 para as tabelas do EAI 2.0.
Definições importantes
É importante que um backup da base seja feito antes da execução desse processo;
Modelo de solução
Abaixo será descrito as regras de negócio do conversor.
1) - Localização
O assistente de conversor deve ser chamado do caminho abaixo:
Integração/Mensagem Única/Conversor EAI 2.0
Obs: Esse menu deve ser habilitado para o usuário no sistema de segurança do RM.
2) - Opções do assistente de conversão
a) - Tipo de execução
Converter para o EAI 2.0:
Efetuará a migração dos dados do EAI 1.0 para as tabelas do EAI 2.0.
Porém, o EAI 2.0 ficará travado até a execução desse processo com a opção "Liberar utilização do EAI 2.0".
Durante esse período, tanto o EAI 1.0 quanto o EAI 2.0 ficarão fora de operação.
Voltar para o EAI 1.0
Exclui todas as linhas geradas nas tabelas do EAI 2.0 e volta para o EAI 1.0.
Liberar utilização do EAI 2.0
Libera a utilização do EAI 2.0. A partir desse momento todas as mensagens recebidas e enviadas serão processadas pelo EI 2.0.
b) - Mensagens de conversão
Algumas mensagens aparecerão para o usuário nessa página do assistente.
O usuário deverá selecionar a opção "Continuar Conversão" para prosseguir com o processo.
c) - Integrações disponíveis
Todas as integrações, com exceção das integrações inativas, (cadastradas na tabela HCIntegracao) aparecerão na grid.
O usuário deverá selecionar uma ou várias integrações a serem convertidas para o novo modelo de EAI.
Opção "Atualiza informação de "Sourceapplication" dos aplicativos chamando a mensage Whois":
Com essa opção marcada, o processo enviará uma mensagem de Whois para cada endereço de webServices cadastrado nas integrações selecionadas.
O processo fará uma leitura na resposta dessa mensagem e buscará a informação de "SourceApplication".
O valor desse atributo será usado para preencher o campo "SourceApplication" da tabela GEAIApp.
Caso essa opção não seja marcada no processo de conversão, o valor para o campo "SOURCEAPPLICATION", disponível no cadastro de aplicativos, deve ser alterado manualmente após a conversão.
Opção "Importa mensagens assíncronas":
Com essa opção marcada, todas as mensagens assíncronas, que não foram processadas com sucesso, com menos de 5 (cinco) tentativas de processamento,
serão migradas para a nova tabela de mensagens;
Opção "Data Início das mensagens":
Somente as mensagens assíncronas com data de inclusão maior que o informado serão migradas.
3) - Mapeamento de informações (EAI 1.0 / 2.0)
Aplicativos
Tabela/Coluna EAI 1.0 | Tabela/Coluna EAI 2.0 | Regras |
GEAIAPP.ID | auto incremento | |
GEAIAPP.SOURCEAPPLICATION | O valor de SourceApplication será recuperado pela busca do atributo "SourceApplication" da resposta da mensagem de Whois. A mensagem de whois será enviada para cada endereço de webServices cadastrado nas integrações a serem convertidas. | |
HCINTEGRACAO.SISTEMAINTEGRADO | GEAIAPP.CODDPRODUTO |
|
GEAIAPP.NOME | Concatenação dos campos HCIntegracao.SISTEMAINTEGRADO + "-" + SOURCEAPPLICATION O valor de SourceApplication será recuperado pela busca do atributo "SourceApplication" da resposta da mensagem de Whois.
| |
GEAIAPP.DESCRICAO | Concatenação dos campos HCIntegracao.SISTEMAINTEGRADO + "-" + SOURCEAPPLICATION O valor de SourceApplication será recuperado pela busca do atributo "SourceApplication" da resposta da mensagem de Whois | |
HCINTEGRACAO.WSURL | GEAIAPP.URLWSDLEXTERNO
|
|
HCINTEGRACAO.WSUSUARIO | GEAIAPP.USRWSDLEXTERNO |
|
HCINTEGRACAO.WSSENHA | GEAIAPP.PASSWSDLEXTERNO | |
HCINTEGRACAO.RMCOLIGADAONPROTHEUS | GEAIAPP.RMCOLIGADAONPROTHEUS |
Não poderá existir mais de um aplicativo com o mesmo "SourceApplication" / "CodProduto".
A partir de agora o RM poderá integrar com mais de um aplicativo "Protheus" desde que os mesmos possuem SourceApplications diferentes.
Transação
Tabela/Coluna EAI 1.0 | Tabela/Coluna EAI 2.0 | Regras |
GEAITRANSACAO.ID | Auto incremento | |
HCTRANSFORMACAO.TRANSACTIONID | GEAITRANSACAO.TRANSACAO
|
|
HCTRANSFORMACAO.DESCRICAO | GEAITRANSACAO.DESCRICAO |
|
| GEAITRANSACAO.MODOSUPORTADO | 1 - Envio HCTRANSFORMACAO.XSLTSAIDA diferente de vazio HCTRANSFORMACAO.XSLTENTREDA vazio 2 - Recebimento HCTRANSFORMACAO.XSLTSAIDA vazio HCTRANSFORMACAO.XSLTENTREDA diferente de vazio 3 - Ambos HCTRANSFORMACAO.XSLTSAIDA diferente de vazio HCTRANSFORMACAO.XSLTENTREDA diferente de vazio |
GEAITRANSACAO.SYNCASYNCENVIO | Será gravado o valor "0 - Sincrono". No EAI 1.0 RM não deve existir mensagens assincronas, pois o mesmo não foi projetadopara enviar /receber esse tipo de mensagem. Somente mensagens com características de "falso assíncrono" que será detalhado nesse mesmo documento. | |
| GEAITRANSACAO.PERMITERECASYNC | Será gravado o valor "0 - Não permite" O EAI 1.0 não está preparado para envio/recebimento assíncrono |
GEAITRANSACAO.EXECVIAJOB | Esse campo definirá se as mensagens de envio (nas transações em questão) serão executadas via Job ou imediatamente na chamada do método. Esse campo foi criado para resolver a situação do "falso assíncrono". Algumas mensagens são enviadas para o EAI 1.0 com o tipo de entrega assíncrono. Porém, essas mensagens , no momento de execução pelo Job, são enviadas para outro aplicativo com o tipo entrega "sincrono". Abaixo serão listadas essas transações com esse comportamento: DEVICEEQUIPMENTAPPOINTMENT DEVICETASKSAPPOINTMENT DEVICETRANSPORTCYCLEAPPOINTMENT LABORDEVICETASKSAPPOINTMENT |
Transação / Versão
Tabela/Coluna EAI 1.0 | Tabela/Coluna EAI 2.0 | Regras |
HCMAPAINTEGRACAO.VERSAOMENSAGEM | GEAITRANSACAOVERSAO.VERSAO
|
|
HCMAPAINTEGRACAO.ENTIDADE | GEAITRANSACAOVERSAO.IDTRANSACAO | O campo identificação da transação será buscado da tabela GEAITransacao. |
|
|
Transação / Aplicativo (rotas)
Tabela/Coluna EAI 1.0 | Tabela/Coluna EAI 2.0 | Regras |
HCMAPAINTEGRACAO.IDINTEGRACAO HCINTEGRACAO.SISTEMAINTEGRADO | GEAITRANSACAOAPP.IDAPP
| O identificador do App será buscado da tabela GEAIApp. |
HCMAPAINTEGRACAO.ENTIDADE | GEAITRANSACAOAPP.IDTRANSACAO | O campo identificação da transação será buscado da tabela GEAITransacao. |
HCMAPAINTEGRACAO.VERSAOMENSAGEM | GEAITRANSACAOAPP.IDTRANSACAO | |
GEAITRANSACAOAPP.IDSOURCECODE | Identificador do código fonte (GSourceCode). | |
GEAITRANSACAOAPP.INCLUIMENSAGEMORIGINAL | Será gravado o valor 1. Por default, a mensagem original sempre será incluída na mensagem de resposta. | |
GEAITRANSACAOAPP.MODOHABILITADO | O valor será copiado da transação (GEAITRANSACAO.MODOSUPORTADO) | |
Não será permitido o mapeamento entre um aplicativo e uma transação em versões diferentes.
Ex: A transação "COSTCENTER" poderá ser mapeada para o aplicativo "Protheus/Enviromment" somente na versão 1.000.
Os códigos fontes cadastrados na tabela GSourceCode e mapeados na tabela "HCMapaTransacao.Extensions" não serão migrados para tabela GEAITransacaoApp.IdSourceCode.
No EAI 2.0 esse campo será usado exclusivamente para armazenar códigos customizados feitos pelo cliente/customização.
Ex: Transação mapeada para mais de um um aplicativo:
O RM ao enviar uma mensagem dessa transação, a mesma poderá ser enviada somente em caso assíncrono.
O RM ao receber uma mensagem, os atributos "SourceApplication" e "ProductCode" do xml TotvsMessage serão recuperados e usados para localizar o aplicativo correto.
Pacote de instalação
Tabela/Coluna EAI 1.0 | Tabela/Coluna EAI 2.0 | Regras |
HCINTEGRACAO.NOMEINTEGRACAO | GEAIPACOTEINSTALADO.NOMEPACOTE
|
|
HCINTEGRACAO.NOMEREDUZIDO | GEAIPACOTEINSTALADO.NOMEREDUZIDO |
|
| GEAIPACOTEINSTALADO.ID | Novo Guid |
HCINTEGRACAO.SISTEMAINTEGRADO | GEAIPACOTEINSTALADO.APPID | O valor do campo "SistemaIntegrado" será usado para buscar o AppId da tabela GEAIApp. |
|
|
4) - Atualização das informações de DE/PARA
- A chave primária da tabela "HCINTEGRACAOID" foi removida;
- Foi criada nessa tabela a coluna "APPID" para armazenar o identificador do aplicativo responsável pela inclusão/atualização do De/Para;
- Ex: O centro de custo do RM 001, no protheus/Produção possuirá o externalId 1|001 e no Protheus/Homologação o externalId 0007.
- A coluna "SistemaIntegrado" dessa tabela não será mais usada. A mesma não será removida para questões de histórico.
- A coluna AppId será atualizada de acordo com o campo "SistemaIntegrado".
5) - Migração das mensagens assíncronas
- Todas as mensagens assíncronas, que não possuem execução com sucesso e com menso de 5 tentativas de execução serão migradas para a nova tabela de mensagens;
- Para cada uma dessas mensagens migradas, será criado um job responsável em executar essa mensagem em questão;
- Mensagens de envio "assíncronas" serão tratadas como "falso assíncrono"
Essas serão processas pelo Job (da mesma forma que uma mensagem assíncrona) porém serão enviadas para o aplicativo destino como uma mensagem síncrona; Sentença de seleção das mensagens:
select HCFILAMENSAGEM.UUID, HCFILAMENSAGEM.TIPOENTREGA, HCFILAMENSAGEM.NOMEPRODUTO,
HCFILAMENSAGEM.ENTRADASAIDA, HCFILAMENSAGEM.EVENTOMENSAGEM, HCFILAMENSAGEM.TIPOMENSAGEM,
HCFILAMENSAGEM.TRANSACTIONID, HCFILAMENSAGEM.STATUSPROCESSAMENTO,HCFILAMENSAGEM.VERSAOMENSAGEM,
HCFILAMENSAGEM.DATAINCLUSAO, HCFILAMENSAGEM.MENSAGEMORIGINAL, HCFILAMENSAGEM.IDINTEGRACAO,
HCFILAMENSAGEM.CODCOLIGADA, HCFILAMENSAGEM.CODFILIAL, HCFILAMENSAGEM.CODUSUARIO,
HCINTEGRACAO.SISTEMAINTEGRADO
from HCFILAMENSAGEM (nolock)
INNER JOIN HCINTEGRACAO (NOLOCK)
ON (HCFILAMENSAGEM.IDINTEGRACAO = HCINTEGRACAO.IDINTEGRACAO)
where UUID not in (select HCFILAEXECUCAO.UUID
from HCFILAEXECUCAO (nolock)
where HCFILAMENSAGEM.UUID = HCFILAEXECUCAO.UUID
and STATUSEXECUCAO = 1)
and ((select count(HCFILAEXECUCAO.UUID)
from HCFILAEXECUCAO (nolock)
where HCFILAMENSAGEM.UUID = HCFILAEXECUCAO.UUID) <= 5)
and TIPOENTREGA = 1
and HCINTEGRACAO.SISTEMAINTEGRADO = :sistemaintegrado
and HCFILAMENSAGEM.DATAINCLUSAO >= :datainicio
and HCFILAMENSAGEM.STATUSPROCESSAMENTO = 0
ORDER BY HCFILAMENSAGEM.DATAINCLUSAO
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