Árvore de páginas

Produto:

Microsiga Protheus

Ocorrência:

Integração Protheus x RM

Neste documento você verá:

  • Criação Webservice
  • Parâmetros
  • De/Para Empresas
  • De/Para Mensagem Única
  • Configuração Adapter
  • InternalId
  • Mensagem única/ SOAP UI
  • Tabelas EAI
  • Integração Pedido de Compras (ORDER)
  • Integração XML Solicitação de compras (REQUEST)

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:



    Clicar no link "Descrição do Serviço (WSDL)", o link que abrir irá utilizar para configurar tanto o Soap quanto o MV_EAIURL2:


    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_RESTINC: Indica se restringe a inclusão de pedido de compras sem solicitação de compras para usuários não cadastrados como compradores. Conteúdo do parâmetro igual Sim;


    • MV_SLMPUSR: Define a utilização do usuário enviado pelo TOTVS Obras e Projetos. Este usuário é armazenado no campo C7_USER da tabela de pedidos de compras;


    • 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);


    • MV_SLMPREP: Define o prefixo dos títulos a pagar;


    • MV_SLMCOND: Condição de pagamento padrão;


    • MV_SLMTS: Tipo de Saída (TES) padrão;


    • MV_SLMNATP: Natureza padrão do Título a Pagar;


    • MV_SLMNATR: Natureza padrão do Título a Receber;


    • MV_SLMPROP: Produto padrão da despesa avulsa (título a pagar);


    • MV_SLMCOMP: Define o nome do usuário comprador default para alçada/WS;


    • MV_SLMNTPV: Natureza padrão do Pedido de Venda.


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



    Obs:

    No cadastro de Adapter da integração de cadastro de Fornecedores (Rotina: MATA020 - Mensagem: CUSTOMERVENDOR), para que haja integração da informação de Tipo de Conta (campo A2_TIPCTA) do Cadastro do Fornecedor, o XML de ENVIO em questão deve estar em uma versão a partir da 2.004, bem como os devidos cadastros de Adapters.




    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



    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



    <![CDATA[

    "cola o xml aqui""

    ]]> 


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


    XX0 - Cadastro de agents (Schedule)

    XX1 - Agendamento (Schedule)

    XX2 - Agendamento x Empresa/Filial (Schedule)

    XX3 - Transações EAI

    XX4 - Adapter EAI

    XX5 - Relação de uso de rotinas/módulos

    XX6 - Catalogo de personalizações

    XX7 - Itens do Catalogo de personalizações

    XX8 - Configuração de empresas

    XX9 - Itens de configuração de empresas

    XXF - De/Para EAI

    XXD - De-para de Empresas do EAI

    Simulação de integração de Pedido de Compras (MENSAGEM ORDER):


    XML Exemplo:


    Pedido de Compras.xml



    OBS: Cadastrar UserInternalId como comprador


    Será necessário estar habilitado o adapter:


    • MATA120 (Pedido de Compras):




    • MATA010 (Cadastro de Produto):




    • AGRA045 (Local de Estoque):




    • PMSA200 (Projeto):




    • PMSA203 (Tarefas do Projeto):






    REFERÊNCIA:



    EMPRESA/FILIAL XML:



    PROTHEUS:


    FORNECEDOR

    <CustomerInternalId>17|01;F000213</CustomerInternalId>





    <PaymentConditionInternalId>17|002</PaymentConditionInternalId>





    <CurrencyId>R$</CurrencyId>



    <ItemInternalId>17|15724</ItemInternalId>



    <UnitOfMeasureInternalId>M2</UnitOfMeasureInternalId>



    <WarehouseInternalId>17|1|0000017</WarehouseInternalId>



    <CostCenterInternalId>1F8ADAFE-F805-4FC6-9A0C-0E9147C5B898</CostCenterInternalId>




    <ItemInternalId>1EDB480E-3A91-42EA-98B5-2DFB1BE5D4A4</ItemInternalId>



    <WarehouseInternalId>86FF78DB-64CE-4575-8711-359B573D13F7</WarehouseInternalId>



    <ProjectInternalId>1|75</ProjectInternalId>



    <CostCenterInternalId>C00160C9-CE4A-4E7E-BD3D-5490C7CD0902</CostCenterInternalId>




    Obs:

    Neste exemplo do XML em que as informações do Centro de Custo estão no XML na tag "<ListOfApportionOrderItem>" o Centro de Custo será importado no Pedido de Compras na tela de Rateio de Centro de Custos (tabela SCH):

    Verificando junto à Equipe de Produto, no programa MATI120 do Compras do Protheus que recebe o XML do RM, neste exemplo do XML quando recebe a informação e é utilizada a tag "<CostCenterInternalId>" dentro da "<ListOfApportionOrderItem>" o padrão é ela ser importada para a tela de rateio (tabela SCH). Mesmo sendo 1 ou mais centro de custo.



    Para o Protheus receber informação de Centro de Custo no Item do Pedido na SC7 as informações do mesmo devem estar contidas na tag "<CostCenterInternalId>" dentro da "<Item>" do arquivo XML diretamente.

    Se caso, tiver a tag dentro do "Item" e também dentro do "ListOfApportationOrderItem", o que vai prevalecer é que esta dentro do "ListOfApportationOrderItem".




    <ItemInternalId>1EDB480E-3A91-42EA-98B5-2DFB1BE5D4A4</ItemInternalId>



    <WarehouseInternalId>86FF78DB-64CE-4575-8711-359B573D13F7</WarehouseInternalId>



    <ProjectInternalId>1|75</ProjectInternalId>



    <CostCenterInternalId>C00160C9-CE4A-4E7E-BD3D-5490C7CD0902</CostCenterInternalId>




    Obs:

    Neste exemplo do XML em que as informações do Centro de Custo estão no XML na tag "<ListOfApportionOrderItem>" o Centro de Custo será importado no Pedido de Compras na tela de Rateio de Centro de Custos (tabela SCH):

    Verificando junto à Equipe de Produto, no programa MATI120 do Compras do Protheus que recebe o XML do RM, neste exemplo do XML quando recebe a informação e é utilizada a tag "<CostCenterInternalId>" dentro da "<ListOfApportionOrderItem>" o padrão é ela ser importada para a tela de rateio (tabela SCH). Mesmo sendo 1 ou mais centro de custo.



    Para o Protheus receber informação de Centro de Custo no Item do Pedido na SC7 as informações do mesmo devem estar contidas na tag "<CostCenterInternalId>" dentro da "<Item>" do arquivo XML diretamente.

    Se caso, tiver a tag dentro do "Item" e também dentro do "ListOfApportationOrderItem", o que vai prevalecer é que esta dentro do "ListOfApportationOrderItem".




    <ProjectInternalId>17|9</ProjectInternalId>



    <TaskInternalId>17|9|185|0|0</TaskInternalId>



    <SubProjectInternalId>17|9|185|0|0</SubProjectInternalId>






    Simulação de integração de Solicitação de Compras (MENSAGEM REQUEST):



    XML Exemplo:


    Solicitação de Compras.xml


    Será necessário estar habilitado o adapter para a rotina MATA110(Solicitação de Compras):



    E o adapter pata a rotina MATA105 (Solicitação de Armazém):




    REFERÊNCIA:

     

     


    XML:

     

     

     

    PROTHEUS:


    <ItemInternalId>1EDB480E-3A91-42EA-98B5-2DFB1BE5D4A4</ItemInternalId>



    <WarehouseInternalId>86FF78DB-64CE-4575-8711-359B573D13F7</WarehouseInternalId>



    <ProjectInternalId>1|75</ProjectInternalId>



    <CostCenterInternalId>C00160C9-CE4A-4E7E-BD3D-5490C7CD0902</CostCenterInternalId>




    Obs:

    Neste exemplo do XML em que as informações do Centro de Custo estão no XML na tag "<ListOfApportionOrderItem>" o Centro de Custo será importado no Solicitação de Compras na tela de Rateio de Centro de Custos (tabela SCH):

    Verificando junto à Equipe de Produto, no programa MATI120 do Compras do Protheus que recebe o XML do RM, neste exemplo do XML quando recebe a informação e é utilizada a tag "<CostCenterInternalId>" dentro da "<ListOfApportionOrderItem>" o padrão é ela ser importada para a tela de rateio (tabela SCH). Mesmo sendo 1 ou mais centro de custo.



    Para o Protheus receber informação de Centro de Custo no Item do Pedido na SC7 as informações do mesmo devem estar contidas na tag "<CostCenterInternalId>" dentro da "<Item>" do arquivo XML diretamente.

    Se caso, tiver a tag dentro do "Item" e também dentro do "ListOfApportationOrderItem", o que vai prevalecer é que esta dentro do "ListOfApportationOrderItem".




    OBS: Caso o XML possuir mais de uma tag <TaskInternalId> com código diferente será necessário cadastrar todas as demais tags


    <TaskInternalId>1|75|3|0|0</TaskInternalId>



    <UnitOfMeasureCode>M3</UnitOfMeasureCode>





    Documentação Complementar:

    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
    MP - SIGACOM - Como extrair o XML na Integração EAI (Protheus) ?
    XML Formatter

    Testes de Integração Mensagem única via Soap