Integração Protheus x RM

Produto:

Microsiga Protheus

Ambiente: Compras (SIGACOM)

Ocorrência:

Integração Protheus x RM

Neste documento você verá:



Documentação:

A camada do EAI
Funções e classes utilizáveis no EAI Protheus
Configurar Portais e Webservices
Dicas úteis e dúvidas sobre o EAI Protheus
EAI Protheus
Manual de Integração PIMS MultiCultivos x Protheus (V.12.1.18)
Como realizar testes de Integrações (Mensagem Unica)
CONFIGURAÇÃO - INTEGRAÇÕES - EAI RM

Integração RM x PROTHEUS


Veja nas abas abaixo o detalhamento de cada opção e procedimentos:


Criação Webservice: Configurar Portais e Webservices


Toda integração deve-se conter um webservice ativo.


Configurado via appserver.ini:

Port = Definir porta

Environment = Ambiente que utiliza o webservice

ResponseJob = Definir um nome de JOB

127.0.0.1 = IP Localhost (facilita para nossos testes)



Obs: Serviço responsabilidade do Framework.


Ao iniciar o appserver, no browse acesse o ip + porta para que veja o webservice no ar (exemplo: 10.173.10.219:8087/ws01), poderá verificar se seu serviço está ativo ao pesquisar e o mesmo constar como "HABILITADO":


Após pesquise por EAISERVICE e clique no link. Esse serviço é o responsável pela comunicação entre os XML:



Caminho selecionado: Utilizar para configurar SoapUi ou caso tenha uma integração Protheus x Protheus configurar no parâmetro MV_EAIURL2:

Principais parâmetros utilizados:


Parâmetros: PARÂMETROS TOP X PROTHEUS - EAI 1 / EAI 2


  • MV_EAIURL2: Responsável para a comunicação entre Protheus e o outro sistema. Informar o webservice do outro sistema apenas quando o Protheus for ENVIAR a mensagem única;

 

  • MV_EAIWS: Client Service, já vem configurado, porém, quando integrado com o Datasul deve ser alterado;

 

  • MV_EAIUSER: Caso o webservice necessite de alguma autenticação de usuário e senha, nesse parâmetro informe o usuário;

 

  • MV_EAIPASS: Caso o webservice necessite de alguma autenticação de usuário e senha, nesse parâmetro informe a senha;


  • MV_PMSITMU: Indica que a integração do módulo SIGAPMS, via mensagem única, está ativada. (necessário ativar para que o sistema busque o usuário preenchido no XML).


 De/Para Empresas - APCFG050  - (SIGACFG->Ambiente->Schedule) – Tabela XXD:


 

  • Cadastro para informar qual Sistema/Empresa/Filial integrará com o Protheus.
  • Referência = Nome da empresa que integrará com o Protheus <Product:Name>
  • Empresa = Código da empresa <CompanyId>
  • Filial = Filial da empresa <BranchId>
  • Grupo Emp. Protheus = Código da empresa (99 - Protheus)
  • Fil. Protheus = Filial da empresa (01 - Protheus)


Obs: Utilizar o mesmo que é apresentado para logar no Protheus



De/Para Mensagem Única - APCFG070  - (SIGACFG->Ambiente->Schedule) – Tabela XXF:


Cadastro onde fica os registro informando a chave única no Protheus (Valor Interno) e a chave única no outro sistema (RM – Valor Externo):




Configuração Adapter (SIGACFG -> Schedule -> Adapter E.A.I) – Tabela XX4: Como realizar testes de Integrações (Mensagem Unica)



Mensagem Única = Sim

Rotina = rotina de integração (MATA010)

Mensagem = Nome da mensagem única (ITEM)

Envia = Indica se o Protheus envia a mensagem única (antes de exclusão ou após inclusão/alteração).

Recebe = Indica se o Protheus recebe a mensagem única.

Método = Síncrona (Aguarda resposta – Mesma transação) ou Assíncrona (Não aguarda resposta – Outra transação) do outro sistema.

Condição = Regra para quando o Protheus enviara a mensagem única (SA2->A2_EST = ‘SP’), somente fornecedores do estado de SP que enviam mensagem única.

Canal Envio = 2 – EAI - REST

XSD = Caminho dos XSD caso o cliente queira validar XSD com XML enviado/recebido

Versão envio = Versão da mensagem (WHOIS)

Alias = Alias da tabela

Formato = XML




Modelos de mensagens Síncronas e Assíncronas 

 As integrações via Mensageria propõem dois modelos de envio e recebimento de mensagens. O modelo Síncrono e o Assíncrono.


Síncronas:  No modelo de mensagens Síncronas a mensagem é enviada e o sistema que enviou aguarda o processamento da mensagem pelo receptor.


Assíncronas:   Já no modelo Assíncrono a mensagem é enviada e o sistema que a enviou não aguarda o seu processamento. Posteriormente a mensagem será processada no receptor.

A tag InternalId, significa que ela é o identificador único para busca no sistema de onde está sendo enviado o XML.

Quando dentro da BusinessContent possuir outros InternalId, significa que a mensagem possui dependência de outras mensagens.

-> ITEM

-> UNITOFMEASURE

-> WAREHOUSE





Criação Webservice: Configurar Portais e Webservices


Toda integração deve-se conter um webservice ativo.


Configurado via appserver.ini:

Port = Definir porta

Environment = Ambiente que utiliza o webservice

ResponseJob = Definir um nome de JOB

127.0.0.1 = IP Localhost (facilita para nossos testes)



Obs: Serviço responsabilidade do Framework.


Ao iniciar o appserver, no browse acesse o ip + porta para que veja o webservice no ar (exemplo: 10.173.10.219:8087/ws01), poderá verificar se seu serviço está ativo ao pesquisar e o mesmo constar como "HABILITADO":


Após pesquise por EAISERVICE e clique no link. Esse serviço é o responsável pela comunicação entre os XML:



Caminho selecionado: Utilizar para configurar SoapUi ou caso tenha uma integração Protheus x Protheus configurar no parâmetro MV_EAIURL2:

Principais parâmetros utilizados:


Parâmetros: PARÂMETROS TOP X PROTHEUS - EAI 1 / EAI 2


  • MV_EAIURL2: Responsável para a comunicação entre Protheus e o outro sistema. Informar o webservice do outro sistema apenas quando o Protheus for ENVIAR a mensagem única;

 

  • MV_EAIWS: Client Service, já vem configurado, porém, quando integrado com o Datasul deve ser alterado;

 

  • MV_EAIUSER: Caso o webservice necessite de alguma autenticação de usuário e senha, nesse parâmetro informe o usuário;

 

  • MV_EAIPASS: Caso o webservice necessite de alguma autenticação de usuário e senha, nesse parâmetro informe a senha;


  • MV_PMSITMU: Indica que a integração do módulo SIGAPMS, via mensagem única, está ativada. (necessário ativar para que o sistema busque o usuário preenchido no XML).


 De/Para Empresas - APCFG050  - (SIGACFG->Ambiente->Schedule) – Tabela XXD:


 

  • Cadastro para informar qual Sistema/Empresa/Filial integrará com o Protheus.
  • Referência = Nome da empresa que integrará com o Protheus <Product:Name>
  • Empresa = Código da empresa <CompanyId>
  • Filial = Filial da empresa <BranchId>
  • Grupo Emp. Protheus = Código da empresa (99 - Protheus)
  • Fil. Protheus = Filial da empresa (01 - Protheus)


Obs: Utilizar o mesmo que é apresentado para logar no Protheus



De/Para Mensagem Única - APCFG070  - (SIGACFG->Ambiente->Schedule) – Tabela XXF:


Cadastro onde fica os registro informando a chave única no Protheus (Valor Interno) e a chave única no outro sistema (RM – Valor Externo):




Configuração Adapter (SIGACFG -> Schedule -> Adapter E.A.I) – Tabela XX4: Como realizar testes de Integrações (Mensagem Unica)



Mensagem Única = Sim

Rotina = rotina de integração (MATA010)

Mensagem = Nome da mensagem única (ITEM)

Envia = Indica se o Protheus envia a mensagem única (antes de exclusão ou após inclusão/alteração).

Recebe = Indica se o Protheus recebe a mensagem única.

Método = Síncrona (Aguarda resposta – Mesma transação) ou Assíncrona (Não aguarda resposta – Outra transação) do outro sistema.

Condição = Regra para quando o Protheus enviara a mensagem única (SA2->A2_EST = ‘SP’), somente fornecedores do estado de SP que enviam mensagem única.

Canal Envio = 2 – EAI - REST

XSD = Caminho dos XSD caso o cliente queira validar XSD com XML enviado/recebido

Versão envio = Versão da mensagem (WHOIS)

Alias = Alias da tabela

Formato = XML




Modelos de mensagens Síncronas e Assíncronas 

 As integrações via Mensageria propõem dois modelos de envio e recebimento de mensagens. O modelo Síncrono e o Assíncrono.


Síncronas:  No modelo de mensagens Síncronas a mensagem é enviada e o sistema que enviou aguarda o processamento da mensagem pelo receptor.


Assíncronas:   Já no modelo Assíncrono a mensagem é enviada e o sistema que a enviou não aguarda o seu processamento. Posteriormente a mensagem será processada no receptor.

A tag InternalId, significa que ela é o identificador único para busca no sistema de onde está sendo enviado o XML.

Quando dentro da BusinessContent possuir outros InternalId, significa que a mensagem possui dependência de outras mensagens.

-> ITEM

-> UNITOFMEASURE

-> WAREHOUSE



Criação Webservice: Configurar Portais e Webservices


Toda integração deve-se conter um webservice ativo.


Configurado via appserver.ini:

Port = Definir porta

Environment = Ambiente que utiliza o webservice

ResponseJob = Definir um nome de JOB

127.0.0.1 = IP Localhost (facilita para nossos testes)



Obs: Serviço responsabilidade do Framework.


Ao iniciar o appserver, no browse acesse o ip + porta para que veja o webservice no ar (exemplo: 10.173.10.219:8087/ws01), poderá verificar se seu serviço está ativo ao pesquisar e o mesmo constar como "HABILITADO":


Após pesquise por EAISERVICE e clique no link. Esse serviço é o responsável pela comunicação entre os XML:



Caminho selecionado: Utilizar para configurar SoapUi ou caso tenha uma integração Protheus x Protheus configurar no parâmetro MV_EAIURL2:

Principais parâmetros utilizados:


Parâmetros: PARÂMETROS TOP X PROTHEUS - EAI 1 / EAI 2


  • MV_EAIURL2: Responsável para a comunicação entre Protheus e o outro sistema. Informar o webservice do outro sistema apenas quando o Protheus for ENVIAR a mensagem única;

 

  • MV_EAIWS: Client Service, já vem configurado, porém, quando integrado com o Datasul deve ser alterado;

 

  • MV_EAIUSER: Caso o webservice necessite de alguma autenticação de usuário e senha, nesse parâmetro informe o usuário;

 

  • MV_EAIPASS: Caso o webservice necessite de alguma autenticação de usuário e senha, nesse parâmetro informe a senha;


  • MV_PMSITMU: Indica que a integração do módulo SIGAPMS, via mensagem única, está ativada. (necessário ativar para que o sistema busque o usuário preenchido no XML).


 De/Para Empresas - APCFG050  - (SIGACFG->Ambiente->Schedule) – Tabela XXD:


 

  • Cadastro para informar qual Sistema/Empresa/Filial integrará com o Protheus.
  • Referência = Nome da empresa que integrará com o Protheus <Product:Name>
  • Empresa = Código da empresa <CompanyId>
  • Filial = Filial da empresa <BranchId>
  • Grupo Emp. Protheus = Código da empresa (99 - Protheus)
  • Fil. Protheus = Filial da empresa (01 - Protheus)


Obs: Utilizar o mesmo que é apresentado para logar no Protheus



De/Para Mensagem Única - APCFG070  - (SIGACFG->Ambiente->Schedule) – Tabela XXF:


Cadastro onde fica os registro informando a chave única no Protheus (Valor Interno) e a chave única no outro sistema (RM – Valor Externo):




Configuração Adapter (SIGACFG -> Schedule -> Adapter E.A.I) – Tabela XX4: Como realizar testes de Integrações (Mensagem Unica)



Mensagem Única = Sim

Rotina = rotina de integração (MATA010)

Mensagem = Nome da mensagem única (ITEM)

Envia = Indica se o Protheus envia a mensagem única (antes de exclusão ou após inclusão/alteração).

Recebe = Indica se o Protheus recebe a mensagem única.

Método = Síncrona (Aguarda resposta – Mesma transação) ou Assíncrona (Não aguarda resposta – Outra transação) do outro sistema.

Condição = Regra para quando o Protheus enviara a mensagem única (SA2->A2_EST = ‘SP’), somente fornecedores do estado de SP que enviam mensagem única.

Canal Envio = 2 – EAI - REST

XSD = Caminho dos XSD caso o cliente queira validar XSD com XML enviado/recebido

Versão envio = Versão da mensagem (WHOIS)

Alias = Alias da tabela

Formato = XML




Modelos de mensagens Síncronas e Assíncronas 

 As integrações via Mensageria propõem dois modelos de envio e recebimento de mensagens. O modelo Síncrono e o Assíncrono.


Síncronas:  No modelo de mensagens Síncronas a mensagem é enviada e o sistema que enviou aguarda o processamento da mensagem pelo receptor.


Assíncronas:   Já no modelo Assíncrono a mensagem é enviada e o sistema que a enviou não aguarda o seu processamento. Posteriormente a mensagem será processada no receptor.

A tag InternalId, significa que ela é o identificador único para busca no sistema de onde está sendo enviado o XML.

Quando dentro da BusinessContent possuir outros InternalId, significa que a mensagem possui dependência de outras mensagens.

-> ITEM

-> UNITOFMEASURE

-> WAREHOUSE



MessageInformation / BusinessMessage = Framework é o responsável.

MessageInformation (CompanyId / BranchId / Product:Name) = Utilizar no de/para de empresa

Event = Upsert (Inclusão ou Alteração), para definir se é inclusão tag InternalId não deve constar no cadastro de de/para de registros, caso o InternalId for encontrado será uma alteração.

Event = Delete (Exclusão)

BusinessContent = Responsabilidade da squad



XML – Resposta (OK / ERROR)


OK

ReturnContent:ListOfInternalId = Deve conter o nome da mensagem única, a identificador único do Protheus e do outro sistema, para que seja feita a inclusão/exclusão do registro.



ERROR

ReturnContent:ListOfMessages = Conterá a mensagem de erro durante o processamento da mensagem.



Mensagem única/ SOAP UI: Como realizar testes de Integrações (Mensagem Unica)


Essa ferramenta nos auxilia quando é o Protheus que recebe a mensagem.

Em “File -> New SOAP Project” informar o caminho do serviço EAISERVICE


Em “File -> Import Project” importar arquivo com as mensagens já salvas.


Prin












Prin


Prin


Prin


Controle de numeração via Tabelas SXE / SXF (MV_TPNRNFS = 2)


Certifique-se 

uhuihuhi

Controle de numeração com uso de SD9 (MV_TPNRNFS = 3)




    • Em caso de alterar o conteúdo deste parâmetro após já ter sido criado o Lote de numerações, é necessário executar a rotina de Ajuste de Numeração da tabela SD9: MATA470 mencionada abaixo para exclusão das numerações que ficarão em desuso.

Controle de numeração via Tabelas SXE / SXF (MV_TPNRNFS = 2)


Certifique-se 

uhuihuhi

Controle de numeração com uso de SD9 (MV_TPNRNFS = 3)




    • Em caso de alterar o conteúdo deste parâmetro após já ter sido criado o Lote de numerações, é necessário executar a rotina de Ajuste de Numeração da tabela SD9: MATA470 mencionada abaixo para exclusão das numerações que ficarão em desuso.

Controle de numeração via Tabelas SXE / SXF (MV_TPNRNFS = 2)


Certifique-se 

uhuihuhi

Controle de numeração com uso de SD9 (MV_TPNRNFS = 3)




    • Em caso de alterar o conteúdo deste parâmetro após já ter sido criado o Lote de numerações, é necessário executar a rotina de Ajuste de Numeração da tabela SD9: MATA470 mencionada abaixo para exclusão das numerações que ficarão em desuso.




Principais Pontos de Entrada que permitem tratar a Numeração do Documento de Saída


Pode lhe interessar:

Criação de série de NFs para utilizar no Documentos de Saída: https://tdn.totvs.com/x/WU1tDQ

Configuração de numeração de Notas Fiscais com mais de 6 dígitos: https://tdn.totvs.com/x/NIojDw