XML Publisher-Bericht aus XML-Datenvorlage
Früher habe ich mich gefragt, wie man XML Publisher-Berichte entwickelt, ohne ein gleichzeitiges RDF- oder SQL- oder PL / SQL-Programm zu verwenden. Der traditionelle Weg besteht darin,
- Eine RDF- oder SQL- oder PL / SQL-Prozedur zu erstellen
- Registrieren Sie den RDF- oder SQL- oder PL / SQL-Bericht als gleichzeitiges Programm und setzen Sie die Ausgabe auf XML
- Führen Sie den obigen Bericht aus und rufen Sie die Ausgabe ab und speichern Sie sie als XML-Datei
-
Das schien mir etwas umständlich zu sein. Also suchte ich nach Alternativen. Dann bin ich auf die folgende Lösung gestoßen. Und ich hoffe, das hilft euch allen. Dies ist Teil einer Reihe von Blogs. Ich hoffe, Ihnen gefällt dies und Sie haben Fragen und Anregungen. Schauen wir uns also an, wie wir einen XML-Bericht aus einer XML-Datenvorlage erstellen können.
Die XML-Datenvorlage ist ein XML-Dokument, das aus vier grundlegenden Abschnitten besteht:
- Parameter
- Trigger
- Datenabfrage
- Datenstruktur
Diese Struktur ist in der folgenden Grafik dargestellt:
Schritt-für-Schritt-Anleitung zum Erstellen einer Beispiel-XML-Datenvorlage:
Entscheiden Sie sich für die SQL-Abfrage
Im Beispiel versuchen wir, die folgenden Daten aus der Tabelle AP_INVOICES_ALL abzurufen
- INVOICE_NUM
- INVOICE_CURRENCY_CODE
- INVOICE_AMOUNT
Die Abfrage für das gleiche wird wie unten sein:
SELECT invoice_num ,invoice_currency_code ,invoice_amount FROM ap_invoices_all;
Entscheiden Sie sich für die Parameter
Wir werden zwei Parameter verwenden, um die abgerufenen Daten zu begrenzen:
- ORG_ID
- VENDOR_ID
Die resultierende Abfrage lautet wie folgt:
SELECT invoice_num ,invoice_currency_code ,invoice_amount FROM ap_invoices_all WHERE org_id = :p_OrgId AND vendor_id = :p_VendorId;
Das ist alles, was wir brauchen, um die XML-Datenvorlage zu erstellen.
<?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>
Wenn Sie die obige XML-Datenvorlage sehen, haben wir die Parameter angegeben, die verwendet werden, und auch die SQL-Abfrage, die die Daten abrufen wird. Die SQL-Abfrage verwendet die Parameter, die im Abschnitt Parameter definiert werden. Ich habe auch ein JPEG-Bild der XML-Dateidefinition beigefügt. Wenn Sie die XML-Definition aus dem Blog kopieren, können manchmal „ungültige Zeichen“ auftreten, die Probleme verursachen können. Überprüfen Sie also das JPEG-Bild und verwenden Sie es.
Speichern Sie das gleiche wie „.xml“-Datei in Ihrem lokalen System. Nach dem Speichern der Datei sollten Sie sie im Browser öffnen können. Doppelklicken Sie auf die XML-Datei und die Datei sollte geöffnet werden. Die Datei wird wie unten gezeigt aussehen:
Öffnen Sie Word. Gehen Sie zu Add-Ins. Sie können das BI Publisher-Menü sehen. Wählen Sie im Menü Daten > XML-Schema laden. Wählen Sie die soeben erstellte XML-Datei aus.
Wenn die Daten erfolgreich geladen wurden, erhalten Sie die folgende Meldung:
Klicken Sie auf OK und um fortzufahren. Wählen Sie Einfügen > Tabelle/Formular
Sie erhalten die unten bildschirm:
Ziehen Sie das G Inv-Element wie unten gezeigt aus der Datenquelle in den Vorlagenbereich
Wählen Sie Alle Knoten löschen aus der Auswahl. Wir werden den folgenden Bildschirm bekommen:
Drücken Sie OK. Wir erhalten die folgende Vorlage im Word-Dokument. Speichern Sie dasselbe wie XXINV_DETAILS.rtf.
Artikelnummer Währung Betrag F INV_NUMBER WÄHRUNG BETRAG E Gehen Sie zu XML Publisher Administrator Responsibility und erstellen Sie eine neue Datendefinition. Geben Sie Folgendes für die Felder an:
Name – XXINV_DETAILS
Code – XXINV_DETAILS
Application – Provisioning (oder Ihre benutzerdefinierte Anwendung)
Startdatum – Automatisch ausgefüllt
Drücken Sie „Datei hinzufügen“ neben Datenvorlage. Durchsuchen und laden Sie die XML-Datenvorlage hoch, die wir hier erstellt haben.
Gehen Sie zu Datenvorlagen und erstellen Sie eine neue Datenvorlage. Geben Sie die folgenden Details an:
Wählen Sie die Datendefinition aus, die wir zuvor erstellt hatten.
Wählen Sie Sprache als US-Englisch und laden Sie die RTF-Datei, die wir erstellt haben (XXINV_DETAILS.rtf).
Navigieren Sie zu System Administrator > Concurrent > Program > Define.
Erstellen Sie ein neues gleichzeitiges Programm und geben Sie die folgenden Details an.
Die ausführbare Datei sollte immer XDODTEXE sein.
Klicken Sie auf Parameter und geben Sie die folgenden Details an:
Weisen Sie das Programm der Anforderungsgruppe zu und führen Sie das Programm aus.
Die Beispiel-Ausgabedatei können Sie HIER herunterladen.
Hoffe das hilft. Lassen Sie mich Ihre Gedanken wissen und fühlen Sie sich frei, Fragen zu stellen, die Sie haben könnten. Schauen Sie sich auch den nächsten Blog an, in dem Trigger aus der XML-Vorlagendatei aufgerufen werden. Sie können es hier überprüfen.
Lesen Sie auch das erweiterte Thema zu XML-Vorlagen – XML-Vorlage Teil 3