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

Â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 Caracter Nome do fonte onde se encontra a rotina static IntegDef GetRotInteg()   
cTypeMessage Caracter Tipo da Mensagem (BusinessMessage, 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 Caracter Entidade da mensagem (nome da mensagem única)     
nOperation Numérico Operação: 3 ou 4 = upsert / 5 = delete 2   
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 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:

Nome Tipo Descrição Default Obrigatório 
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 e retorna o de/para de empresa filial no Protheus para o CompanyId e BranchId das Mensagem Única no recebimento , caso seja encontrado.
FWEAIEMPFIL( cCompanyID, cBranchId, cProduct )

Parâmetros:

Nome Tipo Descrição Default Obrigatório 
cCompanyID Caracter Codigo da companhia (CompanyID) recebido no XML da mensagem    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 Protheus, Filial Protheus}

Â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 Tipo Descrição Default Obrigatório 
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 Caracter É o campo de referencia do De/para (A1_COD, B1_COD, etc. )   X 
cValExt Caracter Código externo para busca do código 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 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:

Nome Tipo Descrição Default Obrigatório 
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 Caracter É o campo de referencia do De/para (A1_COD, B1_COD, etc. )   X 
cValInt Caracter Código externo para busca do código 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 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 Caracter Referencia. Normalmente a "marca" da mensagem: PROTHEUS / LOGIX / RM / DATASUL, etc.     
cAlias Caracter Alias do de/para (SA1, SA2, etc.)   X 
cField Caracter É o campo de referencia do De/para (A1_COD, B1_COD, etc. )   X 
cValExt Caracter Código externo para gravacao     
cValInt Caracter Código interno para gravação   X 
lDelete Lógico Indica a deleção do registro .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 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 
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()

 

Âncora
_Toc403759561
_Toc403759561
_NoTags


Ajusta uma string trocando os caracteres de controle do XML por suas entidades de referência
_NoTags( cTexto)

Parâmetros:

Nome Tipo Descrição Default Obrigatório 
cTexto Caracter String na qual se deseja mudar os caracteres não permitidos    X 

Exemplo

cRetorno:=_NoTags( 'Quero enviar Pais&Filhos ->"Novo Texto" ')

cRetorno assumirá

Quero enviar Pais&amp;Filhos-&gt;&quot;Novo Texto&quot;

 

 

Âncora
_Toc403759561
_Toc403759561
FWHasEai


Verifica se uma rotina possui configuração de EAI
FWHasEAI( cFunction, lVerifySend, lVerifyRec, lVerifyUMess )

Parâmetros:

Nome Tipo Descrição Default Obrigatório 
cFunction Caracter Nome da função para verificação  GetRotInteg()   
lVerifySend Lógico Verifica se está configurado para envio .F.   
lVerifyRec Lógico Verifica se está configurado para recepção .F.   
lVerifyUmess Lógico Verifica se está configurada como Mensagem Única Totvs .F.   

         

          Se todos os parâmetros forem omitidos, será verificado apenas se há uma configuração de EAI para a rotina independentemente de se ter o envio ou recebimento habilitados.

 

Exemplo

lRetorno:=FWHasEai('MATA020',.T.,,.T.) //verifica se existe a mensagem única do fonte MATA020 cadastrada para envio

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