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.
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.
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âmetro | Tipo | Descrição |
---|---|---|
internalId | String | Código que identificará o InternalId. Utiliza-se o nome da mensagem para esse campo. Exemplo: "Invoice". |
internalTable | String | Nome da tabela interna que possui os campos que serão utilizados para fazer a conversão de valores da InternalId. Exemplo: "nota-fiscal". |
internalColumn | String | 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:
Valor | Descrição |
---|---|
TRUE | Cadastrou corretamente o registro. |
FALSE | Houve problemas durante o cadastro. |
Exemplo de utilização em Progress:
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:
if(!internalIdMapperImpl.register("CustomerVendor","clientes", "cod_empresa|cod_cliente")) { System.out.println("Problemas durante o cadastro"); } else { System.out.println("Cadastro efetuado com sucesso;"); } |
Verifica se a estrutura do InternalId está cadastrada.
Parâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
internalId | String | Código do InternalId a ser consultado. Ex: "CustomerVendor". |
internalTable | String | Nome da tabela que será pesquisada juntamente com o InternalId. Ex: "clientes". |
Retorno:
Valor | Descrição |
---|---|
TRUE | Existe internalId consultado |
FALSE | Não existe o internalId consultado |
Exemplo de utilização em Progress:
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:
if(internalIdMapperImpl.exists("CustomerVendor", "clientes")) { System.out.println("Encontrou o registro"); } else { System.out.println("Não encontrou o registro"); } |
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.
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âmetro | Tipo | Descrição |
---|---|---|
internalId | String | Código do InternalId dos valores a ser incluído. Ex: "CustomerVendor". |
internalTable | String | Nome da tabela interna a qual está associado o InternalId. Ex: "clientes". |
internalValue | String | Valores das colunas da tabela associada. Todas as colunas serão registradas nesse campo separadas pelo caractere “|”. Exemplo: “01|234”. |
externalApplication | String | Có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. |
externalValue | String | Código dos valores do InternalId utilizado pelo aplicativo externo. |
Retorno:
Valor | Descrição |
---|---|
TRUE | Cadastrou o registro com sucesso |
FALSE | Problemas durante o cadastro do registro |
Exemplo de utilização em Progress:
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:
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"); } |
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.
Parâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
internalId | String | Código do internalId. Ex: "CustomerVendor". |
externalApplication | String | Código do aplicativo externo da mensagem. Ex: "DATASUL11". |
externalValue | String | Valor do internalId do aplicativo externo. Ex: "01|123456". |
Retorno:
Valor | Descrição |
---|---|
Valor do InternalId do aplicativo interno | Retornará o valor do internalId do aplicativo interno |
nulo (?) | Caso não encontre o internalId |
Exemplo de utilização em Progress:
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:
String valor = internalIdMapperImpl.getValue("CustomerVendor", "clientes", "DATASUL_EAI","02|30|40|123456789"); System.out.println("Valor retornado " + valor + " = 01|20"); |
Função responsável por extrair o valor de uma coluna de um campo interno do InternalId utilizando o nome da coluna registrada.
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âmetro | Tipo | Descrição | |
---|---|---|---|
internalId | String | Código do internalId | |
internalValue | String | Valor dos campos do internalId do aplicativo interno que deseja extrair a informação.
| |
internalTable | String | Valor 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 ( ? ). | |
column | String | Nome da coluna utilizada para extrair valor de internalValue. |
Retorno:
Valor | Descrição |
---|---|
columnValueString | Valor 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:
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:
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'"); |
Função responsável por excluir o(s) registro(s) que contenha(m) os valores do InternalId com os parâmetros selecionados.
Parâmetros:
Parâmetro | Tipo | Descrição | |
---|---|---|---|
internalId | String | Código do internalId utilizado como filtro para exclusão. Ex: "CustomerVendor" | |
internalValue | CHAR (200) | Utilizará o código do valor interno como filtro para exclusão. Ex: "01|10". | |
externalApplication | CHAR (200) | Utilizará o código do aplicativo externo como filtro para exclusão. Ex: "P1299".
|
Retorno:
Retorno | Valor |
---|---|
TRUE | Excluiu o(s) registro(s) com sucesso |
FALSE | Houve problemas durante a exclusão do registro. |
Exemplo de utilização em Progress:
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:
// 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."); } |
Função responsável por excluir a estrutura do InternalId com os parâmetros selecionados.
Parâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
internalId | String | Código do internalId utilizado como filtro para exclusão. Ex: "CustomerVendor". |
internalTable | String | Utilizará o código da tabela interna como filtro para exclusão. Ex: "clientes". |
Retorno:
Retorno | Valor |
---|---|
TRUE | Excluiu o registro com sucesso |
FALSE | Houve problemas durante a exclusão do registro |
Exemplo de utilização em Progress:
USING com.totvs.datasul.eai.internalid.*. DEFINE VARIABLE valor AS CHARACTER NO-UNDO. oMapper = InternalIdMapperProvider:getMapper(). 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:
if(internalIdMapperImpl.delete("CustomerVendor","fornecedores")) { System.out.println("Exclusão do internalid efetuada com sucesso"); } else { System.out.println("Problemas com a exclusão."); } |