Árvore de páginas

Especificação de Requisitos

Projeto/Versão: PDR_SER_TUR001-P12

Requisito/Módulo: PCREQ-2774/SIGATUR

Sub-Requisito/Função:

Tarefa/Chamado:

País: All

Data Especificação: 11/09/2015

Rotinas Envolvidas

Rotina

Tipo de Operação

Opção de Menu

TURA011.PRW

Alteração

Atualizações-> Cadastros-> Formas de Pagamento

TURI011.PRW

Criação

 

  

Estratégia de Desenvolvimento e Liberação

Produto

Microsiga Protheus

Release que está sendo desenvolvido

Versão 12

Possui Réplica?

( ) Sim  ( X ) Não

Qual a versão?

12.1.7

Integração Front – Formas de Pagamento

Objetivo


Integrar o cadastro de Formas de Pagamento 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 TravelPaymentTerm.

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 TravelPaymentTerm.
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 TURA011 deve ser alterada para realizar a chamada para a rotina TURI011, que será utilizada para processar a Mensagem Única TravelPaymentTerm. 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:= TURI011( cXml, nTypeTrans, cTypeMessage )
Return aRet

  • Acrescentar o campo G3N_MSBLQL e G3O_MSBLQL na respectivas tabela G3N e G3O, conforme dicionário de dados abaixo;
  • Desenvolver o fonte TURI011, que fará todo o tratamento para o envio e recebimento do XML, da seguinte forma:


Function TURI011 ( 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 TURI011, deve ser adicionado a diretiva de include para o arquivo FWADAPTEREAI.CH;
  • 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 TURA011 está cadastrada no "Adapter EAI" e se a mesma está configurada para o envio de mensagem no método Assí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 status do processamento e o valor da chave da entidade para o 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:

<ReturnContent>
<ListOfInternalId>
<InternalId>
<Name>PaymentForm</Name>
<Origin>99|01|FOP001</Origin> 
<Destination>99|02| FOP015</Destination>
</InternalId>
<InternalId>
<Name>Itens</Name>
<Origin>99|01| FOP001|ZZ</Origin>
<Destination>99|02| FOP015|ZZ</Destination>
</InternalId>
</ListOfInternalId>
</ReturnContent>

  • Depois da alteração do fonte TURA011 e do desenvolvimento do fonte TURI011, 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: TURA011;
    • Mensagem: TravelPaymentTerm;
    • Descrição: Formas de Pagamento;
    • Envia: Sim;
    • Recebe: Não;
    • Método: Assíncrono;
    • Operação: Todas;
    • Versão Envio: 1.000;
  • A seguir, detalhe dos campos do cadastro de Formas de Pagamento (tabelas G3N e G3O) com as respectivas TAGS do TotvsMessage TravelPaymentTerm:

 

Tag Superior

TAG

Campo

Observação

BusinessContentType

CompanyId

 

Código da Empresa

BusinessContentType

BranchId

G3N_FILIAL

Código da Filial

BusinessContentType

CompanyIternalId

 

InternalId da chave Empresa+Filial

BusinessContentType

Code

G3N_CODIGO

Código da Forma de Pagamento

BusinessContentType

InternalId

 

InternalId da Forma de Pagamento

BusinessContentType

Description

G3N_DESCR

Descrição

BusinessContentType

Corporate

G3N_CORP

Entidade Adicional no Corporativo ( "1"-Sim / "2"-Não )

BusinessContentType

Event

G3N_EVENTO

Entidade Adicional no Eventos ( "1"-Sim / "2"-Não )

BusinessContentType

Recreation

G3N_LAZER

Entidade Adicional no Lazer ( "1"-Sim / "2"-Não )

BusinessContentType

]Situation

G3N_MSBLQL

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

BusinessContentType

ListOfItens

 

Lista de Itens da Forma de Pagamento

ItensType

ItemCode

G3O_ITEM

Código Sequencial dos Itens

ItensType

ItemInternalId

 

InternalId do Sequencial dos Itens

ItensType

Type

G3O_TIPO

Tipo do Item da Forma de Pagamento
( 1-Intermediacao / 2-Direto Agência / 3-Pag. Direto / 4-Cartao Cliente )

ItensType

Percent

G3O_PERC

Percentual do Item da Forma de Pagamento
(Não pode aceitar valor negativo)

ItensType

PaymentOrigin

G3O_ORICP

Origem do Pagamento
(1 - Fornecedor / 2 - Fixa / 3 - Venda / 4 - Cartão Próprio)

ItensType

PaymentConditionCode

G3O_CONDCP

Condição de Pagamento

ItensType

PaymentConditionInternalId

 

InternalId da Cond Pgto

ItensType

PaymentNature

G3O_NATCP

Natureza do Pagamento

ItensType

ReceiptOrigin

G3O_ORICR

Origem do Recebimento
(1 - Cliente / 2 - Fixa / 3 - Venda / 4 - POS)

ItensType

ReceiptConditionCode

G3O_CONDCR

Condição de Recebimento

ItensType

ReceiptConditionInternalId

 

InternalId da Cond recebimento

ItensType

ReceiptNature

G3O_NATCR

Natureza do Recebimento



DICIONÁRIO DE DADOS

  • Arquivo SX3 – Campos da Tabela

    Campo

    G3N_MSBLQL

    Tipo

    C

    Tamanho

    1

    Contexto

    Real

    Propriedade

    Alterar

    Descrição

    Registro Bloqueado?

    Título

    Bloqueado

    Help de Campo

    Define se registro está bloqueado ou não.

    Obrigatório

    Sim

    Usado

    Sim

    Browser

    Não

    Combo

    1=Sim;2=Não

    Validação

    Pertence("12")

    Inic. Padrão

    "2"

     

    Fluxo do Processo





    Protótipo de Tela (Figuras meramente ilustrativas)



    Browser do cadastro de Adpater E.a.i

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