Incluindo entidades hang-off e customizadas no modelo da API
As APIs padrão podem ser estendidas para fornecer informações das tabelas customizadas e hang-off. Uma ferramenta fornecida especificamente para gerar o XML do modelo, templateXmlGen.xml , está localizada no diretório <runtime_sandbox>/bin
Sobre esta tarefa
Para incluir entidades customizadas e hang-off no modelo da API:
Procedimento
- Execute a ferramenta de geração XML de modelo a partir do diretório <runtime_sandbox> usando o comando a seguir:
sci_ant.sh -Dtable=TABLE_NAME -f bin/templateXmlGen.xml - Quando o comando for executado, os arquivos XML de amostra serão colocados no diretório <runtime_sandbox>/extn/sampleXML como
TABLE_NAME_sample.xml.Por exemplo, considere que
HF_Order_Headeré um hang-off da tabelaYFS_Order_Header. OHF_Order_Header_sample.xmlgerado é como a seguir:<HFOrderHeader Createprogid=" " Description=" " DocumentType=" " EnterpriseKey=" " OrderHeaderKey=" " OrderName=" " OrderNo=" " .... > </HFOrderHeader> - Um XML de amostra para incluir os atributos acima em uma API padrão pode ser gerado passando a tabela YFS que tem um relacionamento com a tabela hang-off na qual você está interessado.
Por exemplo, suponha que HF_Order_Header é uma tabela filha com um relacionamento para a tabela YFS_Order_Header. O modelo XML gerado pela ferramenta quando TABLE_NAME=YFS_Order_Header é passado:
<Order> <OrderLines> <OrderLine ........> <Extn extended attributes > <HFOrderHeaderList> <HFOrderHeader Createprogid=" " Description=" " .........> </HFOrderHeader> </HFOrderHeaderList> </Extn> </OrderLine> </OrderLines> </Order>Nota: é possível modificar os atributos somente dentro de seu elemento customizado ou hang-off.É possível remover esse XMl de amostra para incluir os seus atributos customizados em um modelo de API, como o modelo de saída getOrderDetails. Porém, é possível modificar qualquer um dos elementos ou atributos YFS.
Nota: os XML de amostra também são gerados automaticamente quando você cria o arquivo jar de extensão de banco de dados e são postados no diretório <runtime_sandbox>/xapidocs/sampleXML ... Porém, se você precisar criar um modelo de amostra, você deve executar a ferramenta de geração de XML de modelo separadamente especificando o nome da tabela YFS correspondente. - Uma tabela filha pode ser excluída passando um atributo Operation nas APIs de alteração ou modificação. Por exemplo, o elemento HF_Order_Header pode ser excluído em uma API changeOrder como:
<Order> <OrderLines> <OrderLine ........> <Extn extended attributes > <HFOrderHeaderList> <HFOrderHeader Operation="Delete" Createprogid=" " ....... > </HFOrderHeader> </HFOrderHeaderList> </Extn> </OrderLine> </OrderLines> </Order>As operações como Criar e Modificar são executadas por padrão. Se uma entrada para esse elemento existir, a API modifica as entradas com o valor recente. No caso em que esse elemento não exista, ela criará uma nova entrada.
- Os registros em uma tabela hang-off podem ser reconfigurados designando o valor de “true” para o atributo Reconfigurar no elemento de nível de lista do XML. Quando os registros são reconfigurados, todos os registros existentes para essa tabela hang off que correspondam à tabela-pai são excluídos e todos os elementos incluídos sob o elemento da lista são inseridos. Por exemplo, registros hang off no elemento HF_Order_Header_list podem ser reconfigurados usando o seguinte:
<Order> <OrderLines> <OrderLine ........> <Extn extended attributes > <HFOrderHeaderList Reset="true"> <HFOrderHeader> </HFOrderHeader> </HFOrderHeaderList> </Extn> </OrderLine> </OrderLines> </Order> - Construa e implemente as suas extensões.