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 | | Referência |
---|
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 | | Referência |
---|
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 | | 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:
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 | | Default | | Obrigatório | | Referência |
---|
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, 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 | | 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 | | 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 | | 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 | | 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 | | Referência |
---|
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 | | 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()
Âncora |
---|
| _Toc403759561 |
---|
| _Toc403759561 |
---|
|
_NoTags()
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')