XML Publisher Report from XML Data Template
eu costumava me perguntar como desenvolver relatórios XML Publisher sem usar rdf ou sql ou pl/sql concurrent program. A maneira tradicional é
- Criar um RDF ou SQL ou PL/SQL procedure
- Registrar o RDF ou SQL ou PL/SQL relatório como um concorrente do programa e ajustar a saída em XML
- Executar o relatório acima e obter a saída e salvar como um arquivo XML
- Usar o XML de dados na construção do Modelo usando o Microsoft Word
Este parecia ser um pouco complicado para mim. Então eu estava procurando alternativas. Então me deparei com a seguinte solução. E espero que isso ajude a todos vocês. Isso faz parte de uma série de blogs. Espero que você goste disso e venha com perguntas e sugestões. Então, vamos dar uma olhada em como podemos criar relatório xml a partir do modelo de dados xml.
XML modelo de dados é um documento XML que consiste em quatro seções básicas:
- Parâmetros
- Dispara
- Consulta de Dados
- Estrutura de Dados
Esta estrutura é mostrada no gráfico a seguir:
Guia passo a Passo para criar um Modelo de Dados XML de exemplo:
Decidir sobre a Consulta SQL
No exemplo, estamos tentando obter os seguintes dados do AP_INVOICES_ALL Tabela
- INVOICE_NUM
- INVOICE_CURRENCY_CODE
- INVOICE_AMOUNT
a consulta para O mesmo vai ser como abaixo:
SELECT invoice_num ,invoice_currency_code ,invoice_amount FROM ap_invoices_all;
Decidir sobre os parâmetros
estaremos usando dois parâmetros para limitar os dados que estão sendo recuperados:
- ORG_ID
- VENDOR_ID
A consulta resultante será como:
SELECT invoice_num ,invoice_currency_code ,invoice_amount FROM ap_invoices_all WHERE org_id = :p_OrgId AND vendor_id = :p_VendorId;
é tudo o Que precisamos para construir o Modelo de Dados XML.
<?xml version="1.0" encoding="UTF-8" ?><dataTemplate name ="invoiceData" description="Invoice Data" Version="1.0" ><parameters><parameter name="p_OrgId" dataType="number" /><parameter name="p_VendorId" dataType="number" /></parameters><dataQuery><sqlStatement name="Q1"><!]></sqlStatement></dataQuery><dataStructure><group name="G_INV" source="Q1"><element name="INV_NUMBER" value="invoice_num" /><element name="CURRENCY_CODE" value="invoice_currency_code" /><element name="AMOUNT" value="invoice_amount" /></group></dataStructure></dataTemplate>
se você vir o modelo de dados XML acima, especificamos os parâmetros que estão sendo usados e também a consulta SQL que buscará os dados. A consulta SQL está usando os parâmetros que estão sendo definidos na seção Parâmetros. Eu também incluí uma imagem jpeg da definição do arquivo XML. Às vezes, ao copiar a definição XML do blog, você pode encontrar “caracteres inválidos” que podem causar problemas. Portanto, verifique a imagem jpeg e faça uso dela.
Salve o mesmo que”.xml” arquivo em seu sistema local. Depois de salvar o arquivo, você deve poder abri-lo no navegador. Clique duas vezes no arquivo xml e o arquivo deve abrir. O arquivo ficará como mostrado abaixo:
palavra aberta. Vá para suplementos. Você poderá ver o menu BI Publisher. No Menu, selecione Dados > carregar esquema XML. Selecione o arquivo xml que acabamos de criar.
Se os dados são carregados com êxito, você receberá a mensagem abaixo:
Clique em OK e Continuar. Seleccione Inserir > Tabela/Formulário
Você terá a tela abaixo:
Arraste e Solte G Inv elemento de Fonte de Dados para o Modelo de Região, como mostrado abaixo
Selecione Soltar Todos os Nós a partir de escolhas. Estaremos recebendo a tela abaixo:
pressione OK. Obteremos o modelo abaixo no documento do Word. Salve o mesmo que XXINV_DETAILS.rtf.
Inv Número | Moeda | Quantidade |
F INV_NUMBER | MOEDA | QUANTIDADE E |
Ir para XML Publisher responsabilidade do Administrador e crie uma nova Definição de Dados. Dar o seguinte para os campos:
Nome – XXINV_DETAILS
Código – XXINV_DETAILS
Aplicativo – Aprovisionamento (ou seu aplicativo personalizado)
Data de Início – Preenchido Automaticamente
Pressione o botão “Adicionar Arquivo” ao lado de Modelo de Dados. Navegue e carregue o modelo de dados XML que criamos aqui.
vá para modelos de dados e crie um novo modelo de dados. Dê os seguintes detalhes:
selecione a definição de dados que criamos antes disso.
selecione o idioma como Inglês DOS EUA e carregue o arquivo RTF que criamos (XXINV_DETAILS.rtf).
navegue até administrador do sistema > programa simultâneo > > definir.
crie um novo programa simultâneo e forneça os seguintes detalhes.
o executável deve ser sempre XDODTEXE.
clique nos parâmetros e forneça os seguintes detalhes:
atribua o programa ao grupo de solicitação e execute o programa.
você pode baixar o arquivo de saída de amostra aqui.
espero que isso ajude. Deixe-me saber seus pensamentos e sinta-se à vontade para fazer qualquer pergunta que você possa ter. Além disso, confira o próximo blog que tem gatilhos sendo chamados a partir do arquivo de modelo XML. Você pode verificar aqui.
também Confira o tópico mais avançado sobre modelos XML – modelo XML Parte 3