Toolmaker Produkt-Dokumentation
dircxp Dokumentation
Inhaltsübersicht
Der Befehl CVTXMLPDF
2025-02-11/hw - Version 1.05.00
Beschreibung zum Befehl CVTXMLPDF
Mit diesem Befehl kann eine XRechnung im XML-Format in eine PDF-Datei konvertiert werden. Dies ist z.B. nötig, wenn Sie vom Lieferanten statt eines Rechnungsbelegs nur noch eine XML-Datei erhalten haben. Das ist meist dann so, wenn Sie eine Email mit einem XML-Anhang bekommen, aber keine für Menschen lesbare PDF-Datei beiliegt.
Bitte beachten Sie, dass der Befehl CVTXMLPDF sowie diese Beschreibung neu sind. Es gibt noch wenig Erfahrungen mit unterschiedlich strukturierten XRechnungen aus verschiedensten Quellen. Auch diese Beschreibung kann noch unvollständig sein. Bitte geben Sie der Hotline Bescheid, wenn etwa fehlt.
Im Fall, dass Sie mit dem Toolmaker Produkt directmail oder directspool arbeiten, können Sie je nach Ausbaustufe der Funktionen (Anzahl lizenzierter Komponenten), Emails automatisch vom Rechnungs-Server abrufen und mit der Funktion Posteingangsassistent (PE) diese selbst und deren Anhänge automatisch weiterverarbeiten. Dabei können Sie über ein EXIT-Programm auch den Befehl CVTXMLPDF verwenden, um den von der PDF-Datei abgesonderten Anhang (eine XML-Datei) oder die als Anhang direkt empfangenen Rechnungsdaten von XML nach PDF konvertieren.
Der Befehl CVTXMLPDF wurde erweitert. Man kann jetzt die XML-Daten parallel auch in zwei Datenbankdateien auf der IBM i exportieren (getrennt nach Kopf- und Postenzeilen). Danach könnten Sie die Werte der Rechnung ohne Kenntnisse der Verarbeitung von XML-Datenströmen z.B. mit SQL weiterverarbeiten und in Ihre Anwendungsdateien übernehmen (ggf. ist dafür eine Software Anpassung erforderlich).
Vorausetzungen für die Nutzung
Zur Nutzung des Befehls CVTXMLPDF ist eine Toolmaker Lizenz in Form einer Zertifikatdatei wie z.B. License_DIRCXP_01_78X675P.txt oder ähnlich erforderlich. Diese kann beim Vertrieb bestellt werden oder sie wurde bereits per Email zugesandt. Sie muss in das IFS-Verzeichnis /Toolmaker eingefügt werden.
Es handelt sich hier um ein kleines Tool (Bibliothek DIRCXP), welches unabhängig von anderen Toolmaker Produkten ist - es benötigt weder TIM zur Installation noch DIRMAIL, auch WOPIXX ist nicht erforderlich. Aber die IBM Betriebssystem Version V7R3M0 oder höher wird vorausgesetzt.
Die XML-Datei muss sich in einem IFS-Verzeichnis der IBM i befinden, um konvertiert werden zu können.
Ausführung des Befehls CVTXMLPDF
Der Befehl (als Objekt) wurde bei der Installation des Tools in die Bibliothek QGPL kopiert und man kann ihn ohne vorheriges ADDLIBLE DIRCXP und ohne Qualifizierung (DIRCXP/CVTXMLPDF starten).
Bei Aufruf in einer interaktiven Umgebung wird der Befehl mit Taste F4 gestartet:
Es erscheint die Parametereingabe Maske:
Der Parameter XML File gibt den Pfad und den Namen incl. Endung xml an.
Der Parameter PDF File gibt das Zielverzeichnis und den Namen der neuen Ausgabedatei incl. Endung pdf an.
Der Parameter Create PDF ist standardmäßig auf *YES eingestellt.
Wenn Sie alle möglichen Eingabe Parameter sehen wollen, drücken Sie F9. Dann sehen Sie die weiteren voreingestellten Werte, die Sie bei Bedarf überschreiben können.
Weitere Parameter
Replace existing PDF File - PDF-Datei ersetzen, wenn vorhanden
ist mit *YES vorbelegt,
Output XMLHDR+POS into DBF - Ausgabe der beiden Datenbankdateien XMLHDR und XMLPOS
ist mit *NO vorbelegt. Wenn Sie *YES angeben, werden parallel zur Erstellung der PDF-Datei alle XML-Daten getrennt nach XMLHDR (Kopfdaten) und XMLPOS (Positionsdaten, Postenzeilen) mittels SQL in die Dateien XMLHDR und XMLPOS in eine Bibliothek ausgegeben.
Parameter DBF Library - Bibliothek, in die die beiden Dateien XMLHDR und XMLPOS ausgegeben werden sollen
ist mit dem Standardnamen DIRCXPDBF vorbelegt
Sie können den Namen bei Bedarf mit einem eigenen Namen überschreiben (z.B. RECHNUNGEN oder einen bereits bestehenden Bibliotheksnamen angeben).
Wird die angegebene Bibliothek nicht gefunden, wird sie automatisch erstellt.
Auch die oben genannten Dateien XMLHDR und XMLPOS werden automatisch erstellt, wenn sie in der genannten Bibliothek nicht gefunden werden. Die Spalten (Feldernamen) in den Dateien werden anhand der Daten in der unter Parameter 1 angegebenen XML-Datei ermittelt.
Delete XML File after CVT - Löschen der XML Datei nach erfolgreicher Konvertierung
ist mit *NO vorbelegt.
Bei Angabe von *YES wird die gelieferte XML-Datei mit den Rechnungsdaten gelöscht, wenn bei der Konvertierung kein Fehler aufgetreten ist.
Die folgenden optionalen Parameter können bei der Ausgabe in eine DBF-Bibliothek mit den Dateien XMLHDR und XMLPOS sinnvoll sein
Opt. Mail-ID -Kennung für die Rechnung
kann insbesondere bei der Batchverarbeitung mittels directmail Posteingangsassistenten (PE) die Kennung (interne Mail-ID) der empfangenen Email mit dem XML-Anhang sinnvoll sein, um die Verbindung zum Kopfdatensatz in der XMLHDR Datei zu sichern.
Opt. Numeric Key - Schlüssel in die XMLHDR und XMLPOS schreiben
ist mit *GEN (generieren) vorbesetzt. Es bewirkt, dass eine laufendeNummer mit in die Sätze der beiden Dateien als eine Art Schlüssel geschrieben wird. Damit ist eine eindeutige Verbindung zwischen Kopfsatz und den zugehörigen Positionsdaten hergestellt. Gleichzeitig werden Datum und Uhrzeit als TIMESTAMP des Vorgangs abgespeichert. Der numerische Schlüssel wird unter der Verwendung des Datenbereichs CVTXMLPDFA in Bibliothek QGPL fortgeschrieben.
Opt. Data String -Information für den XMLHDR-Satz
kann genutzt werden, um weitere wichtige Informationen zusammen mit dem Kopfsatz der XML-Datei zu speichern. Das kann der Name desLieferanten (Aussteller der Rechnung) oder dessen Nummer sein. Wird hier der Standardwert *NONE belassen, wird das Feld leer in die Datei ausgegeben.
Beispiel
Nach Enter wird
die Konvertierung der Datei RG4711.xml in eine PDF-Datei mit Namen RG4711.pdf durchgeführt.
die Dateien XMLHDR und XMLPOS in der Bibliothek DIRCXPDBF erstellt und mit den XML-Daten gefüllt.
Für die Prüfung und die weitere Verarbeitung der Rechnungsdaten kann die PDF-Datei angesehen und aus dem IFS entnommen werden.
Falls erforderlich oder so gewünscht können die Datensätze aus den Dateien XMLHDR und XMLPOS mittels SQL oder Programmen in Ihren Anwendungen gelesen und in andere Dateien übernommen werden. Dieser Vorgang richtet sich nach den Datenstrukturen Ihrer IBM i Anwendung.
Fehleranalyse
Falls nach der Konvertierung mit dem Befehl CVTXMLPDF keine neue Datei auffindbar ist, gibt es folgende Fehlergründe:
Pfadname, Name oder Endung bei der XML-Datei ist falsch
Es handelt sich trotz der richtigen Endung nicht um eine Datei im XML-Format
Es liegt ein Lizenzfehler vor ( z.B. die Lizenz war nur temporär und ist heute abgelaufen oder sie passt nicht zu den Systemwerten [ siehe dazu Befehl DSPLICINFO *FULL nachdem zuvor ADDLIBLE DIRCXP angegeben wurde ], es gibt keine Lizenzdatei im IFS-Verzeichnis /Toolmaker). Schauen Sie ggf. auch mit DSPJOBLOG und F10 und F18 nach den Details im Ablauf.
Ein Hinweis im Joblog wie Die Zeichendarstellung eines numerischen Werts ist fehlerhaft kann daraufhindeuten, dass im Datenstrom der XML-Datei ein Datum im Format TT.MM.JJJJ gefunden wurde, obwohl das Format JJJJMMTT erwartet wird. Dieser Schönheitsfehler wird vom Programm ignoriert und das Datum wird wie vorgefunden ins PDF ausgegeben.
Es ist kein Fehler zu sehen, wenn die ausgegebene PDF-Datei schon vorher im IFS-Verzeichnis existierte, sie wird dann automatisch ersetzt (nur das Datum der Datei ändert sich). Um diese Ereignis zu verhindern, sollte die aktuelle PDF-Datei immer mit einem eindeutigen Namen erstellt werden, z.B. indem ein laufender Zähler Teil des Namens ist.
Hinweis: Wird der Befehl CVTXMLPDF in einem CL-Programm interaktiv oder im Batchbetrieb verwendet, müssen die Parameter des Befehls in Hochkommata angegeben werden (siehe auch im Bild) oben). Die Hochkommata müssen paarweise vorhanden sein, ansonsten wird die Datei nicht gefunden. Eine Beispiel Quelle mit Namen EXAMPL1 finden Sie hier: DIRCXP/QCLLESRC