Árvore de páginas

Versões comparadas

Chave

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

Objetivo

Listar e detalhar as funções do internalId.

Informações
titleÍndice

Índice
stylesquare

Objetivo


Listar e detalhar as funções utilizadas nos adapters para manipulação do InternalId. Para mais informações sobre o conceito de InternalId, consulte a documentação correspondente aqui.


register


Cadastra a estrutura de um InternalId que será utilizado pelos Adapters. Será cadastrado por ambos os aplicativos, porém, cada um com seus respectivos nomes de tabelas e valores que compõem o campo de chave primária.

...


Expandir

...

titleMais informações...
Informações
titleUso da tabela no InternalId

A informação da tabela interna é uma necessidade conceitual do InternalId, pois em alguns sistemas, pode ocorrer de um mesmo identificador de InternalId estar associado a mais de uma tabela. Por exemplo: O identificador "CustomerVendor" pode estar associado às tabelas "cliente" e "fornecedor".

Parâmetros:

ParâmetroTipoDescrição
internalIdStringCódigo que identificará o InternalId. Utiliza-se o nome da mensagem para esse campo. Exemplo: "Invoice".
internalTableStringNome da tabela interna que possui os campos que serão utilizados para fazer a conversão de valores da InternalId. Exemplo: "nota-fiscal".
internalColumnString

Colunas da tabela utilizada para fazer a conversão de valores da InternalId. Todas as colunas serão registradas nesse campo separadas pelo caractere “|”.

Exemplo: “cod_empresa|nota_fiscal|serie_nota_ fiscal”.

...


Retorno:

ValorDescrição
TRUECadastrou corretamente o registro.
FALSEHouve problemas durante o cadastro.

 


Exemplo de utilização em Progress:

Bloco de código
languageactionscript3
themeEmacs

...

...

linenumberstrue
USING com.totvs.datasul.eai.internalid.*.

oMapper = InternalIdMapperProvider:getMapper().

IF oMapper:register("

...

CustomerVendor","clientes","cod_empresa|cod_cliente") = TRUE THEN DO:

...


	MESSAGE "Cadastro efetuado com sucesso" VIEW-AS ALERT-BOX.
END.
ELSE DO:
    MESSAGE "Problemas durante o cadastro" VIEW-AS ALERT-BOX.
END.

...


Exemplo de utilização em Java:

Bloco de código
languagejava
themeEmacs

...

linenumberstrue
if(!internalIdMapperImpl.register("

...

CustomerVendor","clientes", "cod_empresa|cod_cliente")) {        
	System.out.println("Problemas durante o cadastro");
} else {
    System.out.println("Cadastro efetuado com sucesso;");
}

existMapping (Progress) ou exists (Java)


Verifica se

...

a estrutura do InternalId está cadastrada.

Expandir
titleMais informações...

Parâmetros:

ParâmetroTipoDescrição
internalIdStringCódigo do

...

InternalId a ser consultado. Ex: "CustomerVendor".
internalTableStringNome da tabela que será pesquisada juntamente com o InternalId

...

. Ex: "clientes".


Retorno:


ValorDescrição
TRUEExiste internalId consultado
FALSENão existe o internalId consultado

...


Exemplo de utilização em Progress:

Bloco de código
languageactionscript3
themeEmacs

...

linenumberstrue
USING com.totvs.datasul.eai.internalid.*.

oMapper = InternalIdMapperProvider:getMapper().

IF oMapper:existMapping("

...

CustomerVendor", "clientes") = TRUE THEN DO:    
	MESSAGE "Encontrou o registro" VIEW-AS ALERT-BOX.
END.
ELSE DO:
    MESSAGE "Não encontrou o registro" VIEW-AS ALERT-BOX.
END.

...


Exemplo de utilização em Java:

Bloco de código
languagejava
themeEmacs

...

linenumberstrue
if(internalIdMapperImpl.exists("

...

CustomerVendor", "clientes")) {        
	System.out.println("Encontrou o registro");
} else {
        System.out.println("Não encontrou o registro");
}


setValue


Função responsável por adicionar os valores relacionados ao InternalId do aplicativo interno e do aplicativo externo.

Utilizada pelo aplicativo destino da mensagem, ou seja, quando receber uma mensagem de Evento, o aplicativo verificará a necessidade da utilização do InternalId e, caso necessário, cadastrará um registro utilizando

...

essa função.


Expandir
titleMais informações...

Esta verificará se o argumento dos campos internos possui a mesma quantidade de campos do registro do InternalId (feito pela função register), garantindo a integridade dos campos do InternalId.

Parâmetros:

ParâmetroTipoDescrição
internalIdStringCódigo do InternalId dos valores a ser incluído. Ex: "CustomerVendor".
internalTableStringNome da tabela interna a qual está associado o InternalId. Ex: "clientes".
internalValueStringValores das colunas da tabela

...

associada. Todas as colunas serão registradas nesse campo separadas pelo caractere “|”

...

. Exemplo: “01|

...

234”.
externalApplicationStringCódigo do aplicativo externo

...

que identifica de quem é o valor dos campos externos. O código do aplicativo externo vem da mensagem de origem (BussinessMessage ou ReturnMessage) e deve ser extraído pela função do Adapter.
externalValueStringCódigo dos valores do InternalId utilizado pelo aplicativo externo.

...


Retorno:

ValorDescrição
TRUECadastrou o registro com sucesso
FALSEProblemas durante o cadastro do registro

...


Exemplo de utilização em Progress:

Bloco de código
languageactionscript3
themeEmacs

...

...

linenumberstrue
USING com.totvs.datasul.eai.internalid.*.

oMapper = InternalIdMapperProvider:getMapper().

IF oMapper:setValue("CustomerVendor", "

...

clientes", "01|

...

20", "DATASUL_EAI","02|30|40|12345678") = TRUE THEN DO:

...


	MESSAGE "Cadastro efetuado com sucesso" VIEW-AS ALERT-BOX.
END.
ELSE DO:
    MESSAGE "Problemas durante o cadastro" VIEW-AS ALERT-BOX.
END.

...


Exemplo de utilização em Java:

Bloco de código
languagejava
themeEmacs

...

linenumberstrue
if (!internalIdMapperImpl.setValue("

...

CustomerVendor", "clientes", "01|

...

20", "DATASUL_EAI","02|30|40|12345678")) {

...


	System.out.println("Problemas durante o cadastro");
} else {
    System.out.println("Cadastro efetuado com sucesso");
}

getValue


Função responsável por resgatar o valor interno relacionado ao InternalId do aplicativo externo.

...

Passa-se o código do InternalId e o

...

nome do aplicativo externo.


Expandir
titleMais informações...

Parâmetros:

ParâmetroTipoDescrição
internalIdString

...

Código do internalId. Ex: "CustomerVendor".
externalApplication

...

StringCódigo do aplicativo externo da mensagem. Ex: "DATASUL11".
externalValueStringValor do internalId do aplicativo externo

...

. Ex: "01|123456".


Retorno:

ValorDescrição
Valor do InternalId do aplicativo internoRetornará o valor do internalId do aplicativo interno

...

nulo (?)Caso não encontre o internalId

...


Exemplo de utilização em Progress:

Bloco de código
languageactionscript3
themeEmacs

...

...

linenumberstrue

...

USING com.totvs.datasul.eai.internalid.*.

DEFINE VARIABLE valor AS CHARACTER NO-UNDO. 

oMapper = InternalIdMapperProvider:getMapper(). 

valor = oMapper:getValue("

...

CustomerVendor", "clientes", "DATASUL_EAI","02|30|40|123456789").
MESSAGE "Valor retornado " + valor + " = 01|

...

20" VIEW-AS ALERT-BOX.

 


Exemplo de utilização em Java:

Bloco de código
languagejava
themeEmacs

...

...

linenumberstrue
String valor = internalIdMapperImpl.getValue("CustomerVendor", "

...

clientes", "DATASUL_EAI","02|30|40|123456789");
System.out.println("Valor retornado " + valor + " = 01|

...

20");

internalIdGetValue


Função responsável por extrair o valor de uma coluna de um campo interno do InternalId utilizando o nome

...

da coluna registrada.


Expandir
titleMais informações...

Passa-se o código do InternalId e o aplicativo externo para fazer o rastreamento do relacionamento da chave dos valores externos.

Parâmetros:

ParâmetroTipoDescrição
internalIdStringCódigo do internalId
internalValueString

Valor dos campos do internalId do aplicativo interno que deseja extrair a informação.

...

Informações
titleUso da forma antiga

Anteriormente, a tabela associada do InternalId era incorporada ao valor. Exemplo: “01|234@pedidos”. Com a inclusão de campo próprio para a tabela, esta forma perdeu utilidade, mas ainda é suportada.

internalTableStringValor da tabela utilizada pelo internalId. Caso o

...

nome da tabela

...

seja passado no campo

...

InternalValue, o valor passado como parâmetro para internalTable poderá ser

...

nulo ( ? ).
columnString

...

Nome da coluna utilizada para extrair valor de internalValue.

...


Retorno:

...

ValorDescrição
columnValueStringValor

...

correspondente a coluna

...

informada no parâmetro "column".
nulo ( ? )

Quando

...

não encontrar o valor correspondente aos parâmetros

...

fornecidos.


Exemplo de utilização em Progress:

Bloco de código
languageactionscript3
themeEmacs

...

linenumberstrue
USING com.totvs.datasul.eai.internalid.*.

DEFINE VARIABLE valor AS CHARACTER NO-UNDO.

oMapper = InternalIdMapperProvider:getMapper().

valor = oMapper:internalIdGetValue("

...

CustomerVendor","01|20@clientes",?,"cod_empresa").
MESSAGE "Valor retornado " + valor + " = '01'" VIEW-AS ALERT-BOX.
  
valor = oMapper:internalIdGetValue("

...

CustomerVendor","01|20","clientes","cod_cliente").
MESSAGE "Valor retornado " + valor + " = '20'" VIEW-AS ALERT-BOX.

...


Exemplo de utilização em Java:

Bloco de código
languagejava
themeEmacs

...

linenumberstrue
String valor = internalIdMapperImpl.internalIdGetValue("

...

CustomerVendor", "01|20@clientes", null, "cod_empresa");
System.out.println("Valor retornado " + valor + " = '01'");
                
valor  = internalIdMapperImpl.internalIdGetValue("

...

CustomerVendor", "01|20", "clientes", "cod_cliente");
System.out.println("Valor retornado " + valor + " = '20'");

deleteValue


Função responsável por excluir o(s) registro(s) que contenha(m) os valores do InternalId com os parâmetros selecionados.


Expandir
titleMais informações...

Parâmetros:

ParâmetroTipoDescrição
internalIdStringCódigo do internalId utilizado como filtro para exclusão. Ex: "CustomerVendor"
internalValueCHAR (200)Utilizará o código do valor interno como filtro para exclusão. Ex: "01|10".
externalApplicationCHAR (200)

Utilizará o código do aplicativo externo como filtro para exclusão. Ex: "P1299".

Informações
titleObservação

...

A versão da função

...

sem

...

este argumento

...

excluirá todos os registros

...

do internalId” e “internalValueinformados.

...


Retorno:

RetornoValor
TRUEExcluiu o(s) registro(s) com sucesso
FALSEHouve problemas durante a exclusão do registro.

...


Exemplo de utilização em Progress:

Bloco de código

...

themeEmacs
languageactionscript3
linenumberstrue
languageactionscript3
themeEmacs
linenumberstrue
USING com.totvs.datasul.eai.internalid.*.

oMapper = InternalIdMapperProvider:getMapper().

/* Exclusão de TODOS os registros do valor de internalId informado */
IF oMapper:deleteValue("

...

CustomerVendor","01|

...

20") = TRUE THEN DO:    
	MESSAGE "Exclusão do internalid com o valor: '01|20@clientes' para todos os Aplicativos externos." VIEW-AS ALERT-BOX.
END.
ELSE DO:
    MESSAGE "Problemas com a exclusão." VIEW-AS

...

 ALERT-BOX.
END.

/* Exclusão do valor de internalId de determinado aplicativo externo. */  
IF oMapper:deleteValue("

...

CustomerVendor","01|

...

20","

...

P1299") = TRUE THEN DO:
    MESSAGE "Exclusão do internalid com o valor: '01|20@clientes' para a aplicativo externo: '

...

P1299'." VIEW-AS ALERT-BOX.
END.
ELSE DO:
    MESSAGE "Problemas com a exclusão." VIEW-AS ALERT-BOX.
END.

...


Exemplo de utilização em Java:

Bloco de código
languagejava
themeEmacs

...

linenumberstrue
// Exclusão de TODOS os registros do valor de internalId informado 
if(internalIdMapperImpl.deleteValue("

...

CustomerVendor", "01|20@clientes")) {
	System.out.println("Exclusão do internalid com o valor: '01|20@clientes' para todos os Aplicativos externos.");
} else {
    System.out.println("Problemas com a exclusão.");
}
                
// Exclusão do valor de internalId de determinado aplicativo externo.
if(internalIdMapperImpl.deleteValue("

...

CustomerVendor", "01|20@clientes", "

...

P1299")) {
    System.out.println("Exclusão do internalid com o valor: '01|20@clientes' para a aplicativo externo: '

...

P1299'.");
} else {
    System.out.println("Problemas com a exclusão.");
}

deleteMapping (Progress) e delete (Java)


Função responsável por excluir

...

a estrutura do InternalId com os parâmetros selecionados.


Expandir
titleMais informações...

Parâmetros:

ParâmetroTipoDescrição
internalIdStringCódigo do internalId utilizado como filtro para exclusão. Ex: "CustomerVendor".
internalTableStringUtilizará o código da tabela interna como filtro para

...

exclusão. Ex: "clientes".


Retorno:

RetornoValor
TRUEExcluiu o registro com sucesso
FALSEHouve problemas

...

durante a exclusão do registro


Exemplo de utilização em Progress:

Bloco de código
languageactionscript3
themeEmacs
linenumberstrue
USING com.totvs.datasul.eai.internalid.*.

DEFINE VARIABLE valor AS CHARACTER NO-UNDO.

oMapper = InternalIdMapperProvider:getMapper().

Exemplo de utilização em Progress:

...

themeEmacs
languageactionscript3
linenumberstrue
IF oMapper:deleteMapping("

...

CustomerVendor","fornecedores") = TRUE THEN DO:    
	MESSAGE "Exclusão do internalid efetuada com sucesso" VIEW-AS ALERT-BOX.
END.
ELSE DO:
    MESSAGE "Problemas com a exclusão." VIEW-AS ALERT-BOX.
END.

...


Exemplo de utilização em Java:

Bloco de código
languagejava
themeEmacs

...

...

linenumberstrue
if(internalIdMapperImpl.delete("

...

CustomerVendor","fornecedores")) {        
	System.out.println("Exclusão do internalid efetuada com sucesso");
} else {
    System.out.println("Problemas com a exclusão.");
}