Páginas filhas
  • Funções e classes utilizáveis no EAI Protheus

Versões comparadas

Chave

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


Abaixo as principais funções do EAI Protheus e dicas de uso:

Âncora
_Toc403759553
_Toc403759553
Static Function IntegDef

Veja os tópicos IntegDef em rotinas MVC Protheus e IntegDef em rotinas Não-MVC Protheus.

Âncora
_Toc403759554
_Toc403759554
FWIntegDef


Função de geração de mensagem Única de forma manual, acionando a IntegDef do programa indicado.
FWIntegDef( cSourceCode, cTypeMessage, cType, cXml, cFunName, lOnlyReturn, cVersion )
Parâmetros:

Nome Tipo Descrição Default Obrigatório 
cSourceCode –
Referência
cSourceCode Caracter Nome do fonte onde se encontra a rotina static IntegDef GetRotInteg()  
cTypeMessage –
  
cTypeMessage Caracter Tipo da
mensagem
Mensagem (BusinessMessage,
etc)
  • cType – Tipo da transação (Envio ou recebimento)
  • cXml – Xml a ser tratado (normalmente só para recebimento)
  • cFunName – Função chamadora da rotina. Quando a mensagem é disparada de um fonte diferente da rotina chamada no Menu, pode usar este recurso para forçar a rotina de tratamento do EAI
  • lOnlyReturn – Utilizável somente quando a mensagem é enviada – Define que será gerada apenas a mensagem da IntegDef, e seu envio não será realizado. Desta maneira, não será gerado todo o corpo da Mensagem Única.
    BusinessMessage, Etc. ) '20'(EAI_MESSAGE_BUSINESS)    
    cType Caracter Envio ou Recepcao '1' (TRANS_SEND)    
    cXml Caracter XML a ser tratado quando Recepção      
    cFunName Caracter Força o GetRotInteg(), indicando para o EAI qual é a rotina que possui o adapter GetRotInteg()    
    lOnlyReturn Lógico Quando for um Envio: .T. Define que sera gerado apenas o retorno da INTEGDEF e nao sera fetio o Envio .F.    
    cVersion Caracter Versão da mensagem Única 1.000    

    Âncora
    _Toc403759555
    _Toc403759555
    FWEAIBusEvent


    Cria bloco de XML referente a Business Event da Business Message da Mensagem Única
    FWEAIBusEvent( cEntity, nOperation, aKeys )
    Parâmetros:

    Nome Tipo Descrição Default Obrigatório 
    cEntity -
    Referência
    cEntity Caracter Entidade da mensagem (nome da mensagem única)    
    nOperation -
      
    nOperation Numérico Operação: 3 ou 4 = upsert / 5 = delete 2  
    aKeys -
      
    aKeys Array Vetor bidimensional com campos no formato {Campo, Conteúdo} 

     

    { }

     

        

     

    Exemplo:
    cXMLRet := FWEAIBusEvent( "ITEM", 5, { { "Code", SB1->B1_COD } } )
    Retorno:
    XML a ser utilizado:
    <BusinessEvent>
    <Entity>ITEM</Entity>
    <Event>delete</Event>
    <Identification>
    <key name="code">0000000001</key>
    </Identification>
    </BusinessEvent>

    Âncora
    _Toc403759556
    _Toc403759556
    FWEAIBusRequest


    Cria bloco de XML referente à Business Request da Business Message da Mensagem Única
    FWEAIBusRequest( cRequest )

    Parâmetros:

    Nome Tipo Descrição Default Obrigatório 
    cRequest -
    Referência
    cRequest Caracter Nome da requisição (nome da mensagem)      

     

    Exemplo:
    cXMLRet := FWEAIBusRequest( "AccountBalance" )

    Retorno:
    XML a ser utilizado :
    <BusinessRequest>
    <Operation>AccountBalance </Operation>
    </BusinessRequest>

    Âncora
    _Toc403759557
    _Toc403759557
    FWEAILOfMessages

    Função para geração de múltiplas mensagens de retorno na Response Message da mensagem única
    FWEAILOfMessages( aMessages )
    Parâmetros:

    aMessages -
    Nome Tipo Descrição Default Obrigatório Referência
    aMessages Array 

    Vetor bidimensional com os dados para a criação da mensagem no formato:

    [1] Caracter - Mensagem

    [2] Numérico - Tipo da mensagem: 1=error ou 2=warning

    [3] Caracter - Codigo de Erro da mensagem conforme a mensagem

        X  

    Exemplo:
    aMessages := {}
    aAdd( aMessages, { 'Estado nao existe' , 1, '001' } )
    aAdd( aMessages, { 'CNPJ invalido' , 1, 'A10' } )
    aAdd( aMessages, { 'Nao informado tipo', 2, '500' } )
    cRet := FWEAILOfMessages( aMessages )
    // cRet será
    //<Message type="error" code="001">Estado nao existe</Message>
    //<Message type="error" code="A10">CNPJ invalido</Message>
    //<Message type="warning" code="500">Nao informado tipo</Message>

    Âncora
    _Toc403759558
    _Toc403759558
    FWEAIEMPFIL


    Verifica o de/para de empresa filial no Protheus para o CompanyId e BranchId das Mensagem Única no recebimento
    FWEAIEMPFIL( cCompanyID, cBranchId, cProduct )

    Parâmetros:

    Nome Tipo Descrição
    cCompanyID -
     Default Obrigatório Referência
    cCompanyID Caracter Codigo da companhia (CompanyID) recebido no XML da mensagem
    cBranchId - cProduct -
        X  
    cBranchId Caracter Codigo da unidade (BranchID) recebido no XML da mensagem
       X  
    cProduct Caracter 
    Codigo do produto (Product) recebido no XML da mensagem   X  


    Retorno:
    Vetor com { Empresa, Filial }

    Âncora
    _Toc403759559
    _Toc403759559
    CFGA070Int


    Obtém um código interno da tabela de/para através de um código externo
    CFGA070Int( cRefer, cAlias, cField, cValExt,cTable )
    Parâmetros:

    Nome 
    cRefer - cAlias -
    Tipo Descrição Default Obrigatório Referência
    cRefer Caracter Referencia. Normalmente a "marca" da mensagem: PROTHEUS / LOGIX / RM / DATASUL, etc.
        X  
    cAlias Caracter 
    Alias do de/para (SA1, SA2, etc.)   X 
    cField - É a
     
    cField Caracter É o campo de referencia do De/para (A1_COD, B1_COD, etc. )   X
    cValExt -
      
    cValExt Caracter Código externo para busca do código interno   
    cTable -
    X  
    cTable Caracter Nome físico da tabela de dados ao qual o de-para se refere. Não é necessário que seja passado
    . Seu valor default é o RetSqlName do cAlias.
     RetSqlName(cAlias)    


    Retorno:
    Código Externo

    Âncora
    _Toc403759560
    _Toc403759560
    CFGA070Ext


    Obtém um código externo da tabela de/para através de um código interno
    CFGA070Int( cRefer, cAlias, cField, cValInt,cTable)
    Parâmetros:

    cRefer -

    cAlias -

    Nome Tipo Descrição Default Obrigatório Referência
    cRefer Caracter Referencia. Normalmente a "marca" da mensagem: PROTHEUS / LOGIX / RM / DATASUL, etc.
        X  
    cAlias Caracter 
    Alias do de/para (SA1, SA2, etc.)
    cField - É a
       X  
    cField Caracter É o campo de referencia do De/para (A1_COD, B1_COD, etc. )   X
    cValInt - Código interno
      
    cValInt Caracter Código externo para busca do código
    externocTable -
    interno   X  
    cTable Caracter Nome físico da tabela de dados ao qual o de-para se refere. Não é necessário que seja passado
    . Seu valor default é o RetSqlName do cAlias.
     RetSqlName(cAlias)    


    Retorno:
    Código Externo

    Âncora
    _Toc403759561
    _Toc403759561
    CFGA070Mnt


    Faz a Inclusão /Alteração / Exclusão dos dados na tabela de/para
    CFGA070Mnt( cRefer, cAlias, cField, cValExt, cValInt, lDelete, nOrdem,cTable )

    Parâmetros:

    Nome Tipo Descrição Default Obrigatório
    cRefer -
     Referência
    cRefer Caracter Referencia. Normalmente a "marca" da mensagem: PROTHEUS / LOGIX / RM / DATASUL, etc.
    cAlias -
          
    cAlias Caracter Alias do de/para (SA1, SA2, etc.)
    cField - É a
       X  
    cField Caracter É o campo de referencia do De/para (A1_COD, B1_COD, etc. ) 
    cValExt - lDelete -
      X  
    cValExt Caracter Código externo para gravacao 
  • cValInt - Código externo para gravaçao
  •      
    cValInt Caracter Código interno para gravação   X  
    lDelete Lógico 
    Indica a deleção do registro
  • nOrdem - Ordem para busca
  • cTable -
     .F.    
    nOrdem Numérico Ordem para busca Se DELETE, assume 3, senão assume 1    
    cTable Caracter 
    Nome físico da tabela de dados ao qual o de-para se refere. Não é necessário que seja passado
    . Seu valor default é o RetSqlName do cAlias.
     RetSqlName(cAlias)    

     

    Âncora
    _Toc403759561
    _Toc403759561
    SetRotInteg


    Ajusta a rotina de integração no EAI (o GetRotInteg()), quando a rotina chamada não é a rotina de contexto da integração. Ao utilizar esta rotina, após a chamada da integração é aconselhável utilizá-la para voltar o GetRotInteg() ao estado original.
    SetRotInteg( cFunction )

    Parâmetros:

    Nome Tipo Descrição Default Obrigatório Referência
    cFunction Caracter Rotina que se deseja iniciar a integração    X  

    Exemplo

    SetRotInteg('CTBA030')

     

     

    Âncora
    _Toc403759561
    _Toc403759561
    GetRotInteg


    Devolve a rotina de contexto de integração na Mensagem Única
    GetRotInteg( )

    Exemplo

    cRotina:=GetRotInteg() 

    Status do documentoConcluído
    Data18/11/2014
    Versão1.0
    Versão anterior1.0
    Autores

    Jandir Deodato De Souza Silva

    Índice resumido
    Índice
    maxLevel1
    indent10px
    Índice
    Índice
    outlinetrue
    indent10px