Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Ajuste nos exemplos e em alguns métodos, que estavam defasados em relação ao código fonte atual.

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.

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
themeEmacslanguageactionscript3
linenumberstrue
IF oMapper:register("CustomerVendorInternalIdCustomerVendor","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
language
languagejava
themeEmacs
javalinenumberstrue
if(!internalIdMapperImpl.register("CustomerVendorInternalIdCustomerVendor","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 internalid está registradoa estrutura do InternalId está cadastrada.

Parâmetros:

ParâmetroTipoDescrição
internalIdStringCódigo do
internalId
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
language
languageactionscript3
themeEmacs
actionscript3linenumberstrue
IF oMapper:existMapping("CustomerVendorInternalIdCustomerVendor", "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
themeEmacslanguagejava
linenumberstrue
if(internalIdMapperImpl.exists("CustomerVendorInternalIdCustomerVendor", "clientes")) {        
	System.out.println("Encontrou o registro");
} else {
        System.out.println("Não encontrou o registro");
}

...

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
utilizadas mais o nome da tabela
associada. Todas as colunas serão registradas nesse campo separadas pelo caractere “|”.
No final os valores das colunas serão separados da tabela pelo caractere “@”.
Exemplo: “01|
234@pedidos”
234”.
externalApplicationStringCódigo do aplicativo externo
para identificar
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
language
languageactionscript3
themeEmacs
actionscript3linenumberstrue
IF oMapper:setValue("CustomerVendorInternalId"CustomerVendor", "clientes", "01|20@clientes20", "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
languagejava
linenumberstrue
if (!internalIdMapperImpl.setValue("CustomerVendor", "CustomerVendorInternalIdclientes", "01|20@clientes20", "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 para fazer o rastreamento do relacionamento da chave dos valores externos.

Parâmetros:

ParâmetroTipoDescrição
internalIdStringCódigo do internalId
aplicativo_externo
. Ex: "CustomerVendor".
externalApplicationStringCó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
null
nulo (?)Caso não encontre o internalId

...


Exemplo de utilização em Progress:

Bloco de código
language
languageactionscript3
themeEmacs
actionscript3linenumberstrue
DEFINE VARIABLE valor AS CHARACTER NO-UNDO. 
 
valor = oMapper:getValue("CustomerVendor", "CustomerVendorInternalIdclientes", "DATASUL_EAI","02|30|40|123456789").
MESSAGE "Valor retornado " + valor + " = 01|20@clientes20" VIEW-AS ALERT-BOX.

...


Exemplo de utilização em Java:

Bloco de código
language
languagejava
themeEmacs
javalinenumberstrue
String valor = internalIdMapperImpl.getValue("CustomerVendor", "CustomerVendorInternalIdclientes", "DATASUL_EAI","02|30|40|123456789");
System.out.println("Valor retornado " + valor + " = 01|20@clientes20");

internalIdGetValue

...

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âmetroTipoDescrição
internalIdStringCódigo do internalId
internalValueStringValor dos campos do internalId do aplicativo interno que deseja extrair a informação. Pode ser passado o nome da tabela no final, separado pelo caractere “@”. Exemplo: “01|234@pedidos”
internalTableStringValor da tabela utilizada pelo internalId. Caso o código da tabela for passado no campo “internalValue”, o valor passado como parâmetro para internalTable poderá ser “null”’
columnStringCódigo da coluna utilizada para extrair valor de internalValue.

...


Retorno:

  • internalValueColumn: String
    • Valor da coluna selecionada no campo internalValue;
    • Valor da coluna extraída do campo “InternalValue” correspondente à posição da coluna da InternalId referenciada pelo “campo”;
    • NULL: quando não encontrar o valor correspondente aos parâmetros passados.

...

Exemplo de utilização em Progress:

Bloco de código
languageactionscript3
themeEmacslanguageactionscript3
linenumberstrue
DEFINE VARIABLE valor AS CHARACTER NO-UNDO.
  
valor = oMapper:internalIdGetValue("CustomerVendorInternalId","01|20@clientes",?,"cod_empresa").
MESSAGE "Valor retornado" + valor + "= '01'" VIEW-AS ALERT-BOX.
  
valor = oMapper:internalIdGetValue("CustomerVendorInternalId","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
languagejava
linenumberstrue
String valor = internalIdMapperImpl.internalIdGetValue("CustomerVendorInternalId", "01|20@clientes", null, "cod_empresa");
System.out.println("Valor retornado" + valor + "= '01'");
                
valor  = internalIdMapperImpl.internalIdGetValue("CustomerVendorInternalId", "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âmetroTipoDescrição
internalIdStringCódigo do internalId utilizado como filtro para exclusão.
internalValueCHAR (200)Utilizará o código do valor interno como filtro para exclusão.
externalApplicationCHAR (200)Utilizará o código do aplicativo externo como filtro para exclusão.
Informações
titleObservação

Existe uma função separada sem esse argumento: excluirá todos os registros pertencentes ao “internalId” e “internalValue”.

 


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
language
languageactionscript3
themeEmacs
actionscript3linenumberstrue
IF oMapper:deleteValue("_CustomerVendorInternalId_","01|20@clientes") = 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.
  
IF oMapper:deleteValue("_CustomerVendorInternalId_","01|20@clientes","DATASUL_EAI") = TRUE THEN DO:
    MESSAGE "Exclusão do internalid com o valor: '01|20@clientes' para a aplicativo externo: 'LogixApp'." 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
themeEmacslanguagejava
linenumberstrue
if(internalIdMapperImpl.deleteValue("CustomerVendorInternalId", "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.");
}
                
if(internalIdMapperImpl.deleteValue("CustomerVendorInternalId", "01|20@clientes","LogixApp")) {
    System.out.println("Exclusão do internalid com o valor: '01|20@clientes' para a aplicativo externo: 'LogixApp'.");
} else {
    System.out.println("Problemas com a exclusão.");
}

...

Função responsável por excluir o registro do InternalId com os parâmetros selecionados.

Parâmetros:

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

...


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
themeEmacslanguageactionscript3
linenumberstrue
IF oMapper:deleteMapping("CustomerVendorInternalId","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
themeEmacslanguagejava
linenumberstrue
if(internalIdMapperImpl.delete("CustomerVendorInternalId","fornecedores")) {        
	System.out.println("Exclusão do internalid efetuada com sucesso");
} else {
    System.out.println("Problemas com a exclusão.");
}