30 listopada, 2021

XML Publisher Report from XML Data Template

zastanawiałem się, jak opracować raporty XML Publisher bez użycia RDF lub SQL lub programu współbieżnego pl/SQL. W tradycyjny sposób

  1. Utwórz procedurę RDF lub SQL lub PL/SQL
  2. Zarejestruj raport RDF lub SQL lub PL/SQL jako współbieżny program i ustaw wynik na XML
  3. Uruchom powyższy raport i uzyskaj wynik i zapisz go jako plik XML
  4. Użyj danych XML w budowaniu szablonu za pomocą Microsoft Word

wydaje mi się to trochę uciążliwe. Więc szukałem alternatyw. Potem natknąłem się na następujące rozwiązanie. I mam nadzieję, że to wam pomoże. To jest część pierwsza z serii blogów. Mam nadzieję, że spodoba ci się to i wymyślić pytania i sugestie. Przyjrzyjmy się więc, jak możemy stworzyć raport xml z szablonu danych xml.

szablon danych XML jest dokumentem XML, który składa się z czterech podstawowych sekcji:

  1. parametry
  2. wyzwalacze
  3. Zapytanie o dane
  4. Struktura danych

ta struktura jest pokazana na poniższej grafice:

szablon XML

przewodnik krok po kroku, aby utworzyć przykładowy szablon danych XML:

zdecyduj się na zapytaniu SQL

w przykładzie staramy się uzyskać następujące dane z tabeli AP_INVOICES_ALL

  1. INVOICE_NUM
  2. INVOICE_CURRENCY_CODE
  3. INVOICE_AMOUNT

zapytanie o to samo będzie jak poniżej:

SELECT invoice_num ,invoice_currency_code ,invoice_amount FROM ap_invoices_all;

zdecyduj się na parametrach

będziemy używać dwóch parametrów, aby ograniczyć pobieranie danych:

  1. ORG_ID
  2. VENDOR_ID

wynikowe zapytanie będzie takie:

SELECT invoice_num ,invoice_currency_code ,invoice_amount FROM ap_invoices_all WHERE org_id = :p_OrgId AND vendor_id = :p_VendorId;

to wszystko, czego potrzebujemy, aby skonstruować szablon danych 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>

jeśli widzisz powyższy szablon danych XML, określiliśmy parametry, które są używane, a także zapytanie SQL, które będzie pobierać dane. Zapytanie SQL wykorzystuje parametry, które są zdefiniowane w sekcji Parametry. Dodałem również obraz jpeg definicji pliku XML. Czasami po skopiowaniu definicji XML z bloga możesz napotkać „nieprawidłowe znaki”, które mogą powodować problemy. Więc sprawdź obraz jpeg i wykorzystaj go.

xml_template_definition

zapisz to samo co „.plik xml” w systemie lokalnym. Po zapisaniu pliku powinieneś być w stanie otworzyć go w przeglądarce. Kliknij dwukrotnie plik xml i plik powinien się otworzyć. Plik będzie wyglądał jak pokazano poniżej:

xml_file

Otwórz słowo. Przejdź do dodatków. Będziesz mógł zobaczyć menu wydawcy Bi. Z Menu wybierz Data > załaduj schemat XML. Wybierz plik xml, który właśnie utworzyliśmy.

dodatek BI Publisher Word

jeśli dane zostaną pomyślnie załadowane, otrzymasz poniższy komunikat:

dane załadowane pomyślnie

kliknij OK i kontynuuj. Wybierz Wstaw > tabela / formularz

otrzymasz poniższy ekran:

przeciągnij i upuść element G Inv ze źródła danych do regionu szablonu, jak pokazano poniżej

wybierz opcję upuść wszystkie węzły z opcji. Otrzymamy poniższy ekran:

naciśnij OK. Otrzymamy poniższy szablon w dokumencie Word. Zapisz to samo co XXINV_DETAILS.rtf.

numer Inv Waluta kwota
F INV_NUMBER waluta kwota e

przejdź do XML Publisher Administrator responsibility i utwórz nową definicję danych. Podaj następujące pola:

Nazwa-XXINV_DETAILS

Kod-XXINV_DETAILS

Application-Provisioning (lub Twoja aplikacja niestandardowa)

Data rozpoczęcia – automatycznie wypełniona

naciśnij „Dodaj plik” obok szablonu danych. Przeglądaj i prześlij szablon danych XML, który stworzyliśmy tutaj.

przejdź do szablonów danych i utwórz nowy szablon danych. Podaj następujące szczegóły:

Wybierz definicję danych, którą wcześniej stworzyliśmy.

Wybierz język jako Polski i prześlij utworzony przez nas plik RTF (XXINV_DETAILS.rtf).

przejdź do Administratora Systemu > współbieżny > Program > Zdefiniuj.

Utwórz nowy program współbieżny i podaj następujące szczegóły.

plik wykonywalny powinien być zawsze XDODTEXE.

kliknij na parametry i podaj następujące szczegóły:

Przypisz program do grupy żądań i uruchom program.

możesz pobrać przykładowy plik wyjściowy tutaj.

mam nadzieję, że to pomoże. Daj mi znać swoje myśli i nie krępuj się zadawać pytań, które możesz mieć. Sprawdź także Następny blog, który ma wyzwalacze wywoływane z pliku szablonu XML. Możesz to sprawdzić tutaj.

sprawdź również bardziej zaawansowany temat na temat szablonów XML-szablon XML Cz. 3

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.