Árvore de páginas

Versões comparadas

Chave

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

...


Integrar o cadastro de Linhas e Trechos do ERP Microsiga Protheus com o sistema de FrontOffice da agência de viagem. A integração possibilitará que os sistemas se comuniquem através de uma Mensagem Única, utilizando o schema XSD da TotvsMessage RoadLinesStretchesRoadLineStretch.

Definição da Regra de Negócio


Os sistemas de FrontOffice da agências de viagem irão se comunicar com o ERP Microsiga Protheus para sincronismo das informações entre as respectivas bases de dados. Para isso, se faz necessária a utilização da tecnologia Enterprise Application Integration (EAI).
Essa comunicação utilizará o padrão SOAP para envio e recebimento de arquivos XML, além de seguir um conjunto de regras definidas para o padrão de Mensagem Única da TOTVS. Os dados que serão sincronizados entre os sistemas integrados estarão contidos no arquivo XML, que deverá estar no padrão definido no esquema da Mensagem Única conforme XSD da TotvsMessage RoadLinesStretchesRoadLineStretch.
Na integração, as mensagens recebidas e enviadas pelo BackOffice serão processadas pelo adapter EAI do respectivo cadastro. O adapter é o responsável por processar essas mensagens e, se estiver configurada, acionar a rotina de integração para inclusão, alteração e/ou exclusão desse cadastro. Por sua vez, essa rotina será responsável por validar e gravar os dados de acordo com a operação que estiver sendo realizada e retornar para o adapter a mensagem de retorno do processamento (êxito ou falha) que, por fim, envia a mensagem de resposta ao sistema requisitante.
A manutenção (inclusão, alteração ou exclusão) de um registro desse cadastro será feita tanto pelo sistema de FrontOffice como pelo BackOffice, replicando os dados mutuamente. Portanto, o sistema de FrontOffice deverá levar em consideração a regra de negócio do cadastro.

Definição Técnica

...


  • A rotina TURA052 deve ser alterada para realizar a chamada para a rotina TURI052, que será utilizada para processar a Mensagem Única RoadLinesStretchesRoadLineStretch. Para isso, deverá ser implementada a função IntegDef que deverá ser "Static", conforme definição da equipe de FrameWork.


Static Function IntegDef( cXML, nTypeTrans, cTypeMessage )
Local aRet := {}
aRet:= TURI052( cXml, nTypeTrans, cTypeMessage )
Return aRet

  • Desenvolver o fonte TURI052, que fará todo o tratamento para o envio e recebimento do XML, da seguinte forma:


Function TURI052 ( cXML, nTypeTrans, cTypeMessage )
Local lRet       := .T.
Local cXMLRet  := ""
If nTypeTrans == TRANS_RECEIVE
If cTypeMessage == EAI_MESSAGE_BUSINESS
          cXMLRet := '<TAGX>TESTE DE RECEPCAO BUSINESS MESSAGE</TAGX>'
ElseIf cTypeMessage == EAI_MESSAGE_RESPONSE
          cXMLRet := '<TAGX>TESTE DE RECEPCAO RESPONSE MESSAGE</TAGX>'
ElseIf cTypeMessage == EAI_MESSAGE_WHOIS
          cXMLRet := ' <Version>1.0 </Version>'
Endif
ElseIf nTypeTrans == TRANS_SEND
     cXMLRet := '<TAGX>TESTE DE ENVIO</TAGX>'
EndIf
Return { lRet, cXMLRet }

  • No fonte TURI052, deve ser adicionado a diretiva de include para o arquivo FWADAPTEREAI.CH;
  • Microsigra Protheus recebe Mensagem Única:
    • Ao receber a mensagem de negócio (BusinessMessage), o EAI verificará se a rotina TURA052 está cadastrada no "Adapter EAI" e se a mesma está configurada para o recebimento de mensagem no método Síncrono. Caso a rotina esteja cadastrada e configurada corretamente, a função IntegDef deverá chamar a rotina TURI052 que fará o tratamento do XML recebido, e efetuar a gravação dos dados;
    • No final do processamento, deverá será enviada a mensagem de resposta (ResponseMessage) ao sistema requisitante com o status do processamento e, no caso de sucesso da operação INSERT, o valor da chave da entidade para atualização do respectivo DE/PARA;
  • Microsigra Protheus envia Mensagem Única:
    • Ao ser efetuada uma inclusão, alteração ou exclusão, será disparado um evento que verificará se a rotina TURA052 está cadastrada no "Adapter EAI" e se a mesma está configurada para o envio de mensagem no método Síncrono. Caso a rotina esteja cadastrada e configurada corretamente, a função IntegDef retornará o XML (BusinessMessage) ao EAI, que o enviará a mensagem ao sistema requisitante;
    • Após o sistema requisitante receber e processar a mensagem, deverá enviar a mensagem de resposta (ResponseMessage) ao Microsiga Protheus com o o status do processamento e, no caso de sucesso da operação INSERT, o valor da chave da entidade para atualização do respectivo DE/PARA;
    • Por ser um cadastro de cabeçalho e itens, na mensagem de retorno, o bloco (ReturnContent), onde são informadas as InternalId para gravação do DE/PARA, deverá seguir a seguinte estrutura:

...

  • Depois da alteração do fonte TURA052 e do desenvolvimento do fonte TURI052, acessar o módulo Configurador e cadastrar o adapter através do menu Ambiente -> Schedule -> Adapter E.a.i da seguinte forma:
    • Mensagem única: Sim;
    • Rotina: TURA052;
    • Mensagem: RoadLinesStretches RoadLineStretch;
    • Descrição: Linhas e Trechos;
    • Envia: Sim;
    • Recebe: Sim;
    • Método: Síncrono;
    • Operação: Todas;
    • Versão Envio: 1.000;
  • A seguir, detalhe dos campos do cadastro de Linhas e Trechos (tabelas G8M e G8N) com as respectivas TAGS do TotvsMessage RoadLinesStretchesRoadLineStretch:





Tag Superior

TAG

Campo

Observação

BusinessContentType

CompanyId

 

Código da Empresa

BusinessContentType

BranchId

G8M_FILIAL

Código da Filial

BusinessContentType

CompanyIternalId

 

InternalId da chave Empresa+Filial

BusinessContentType

Code

G8M_CODIGO

Código

BusinessContentType

InternalId

 

InternalId da Linha

BusinessContentType

Initials

G8M_SIGLA

Sigla

BusinessContentType

Description

G8M_DESCR

Descrição

BusinessContentType

VendorCode

G8M_CODFOR + G8M_LJFOR

Código do Fornecedor

BusinessContentType

VendorInternalId

 

InternalId do Fornecedor

BusinessContentType

DepartureCity

G8M_CIDINI

Código da Cidade de Embarque

BusinessContentType

DepartureCityInternalId

 

InternalId da Cidade de Embarque

BusinessContentType

ArrivalCity

G8M_CIDFIM

Código da Cidade de Desembarque

BusinessContentType

ArrivalCityInternalId

 

InternalId da Cidade de Desmbarque

BusinessContentType

Distance

 

Distância

BusinessContentType

Minutes

G8M_TEMPO

Minutos

BusinessContentType

BlockedSituation

G8M_MSBLQL

Bloqueado ( "1"-Sim / "2"-Não )

BusinessContentType

ListOfStretches

 Stretch

Lista de Trechos

StretcheStretchType

CodeItemCode

G8N_CODIGO

Código do Trecho

StretcheStretchType

CodeInternalIdItemInternalId

 

InternalID da Trecho

StretcheStretchType

StretchesCityStretchCity

G8N_CIDTRC

Código da Cidade do Trecho

StretcheStretchType

StretchesCityInternalIdStretchCityInternalId

 

InternalId da Cidade do Trecho

StretcheStretchType

StretchesDistanceStretchDistance

G8N_DIST

Distância do Trecho

 


Fluxo do Processo





Protótipo de Tela (Figuras meramente ilustrativas)


Image Removed Âncora_GoBack_GoBackImage Added
Browser do cadastro de Adpater E.a.i
Image Removed
Image Added

Âncora
_GoBack
_GoBack

Formulário de Cadastro do Adapter E.a.i – TURA052