12.07.2015 Aufrufe

200 - Midrange Magazin

200 - Midrange Magazin

200 - Midrange Magazin

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

TECHNIK & INTEGRATIONNeuerungen in V5R4RPG und XMLXML hat sich zu einem Standard entwickelt, der es erlaubt, Daten zwischen Anwendungenund unterschiedlichen Computer-Systemen austauschen zu können. Auf Grund seiner nichtproprietärenEigenschaften wird XML seinen Siegeszug fortsetzen und langfristig allebisherigen Austauschformate ersetzen. Dazu zählt auch EDI/Edifact.Allein die Tatsache, dass IBM mit derDB2-Version 9.1 ermöglicht, Datenauch im XML-Format zu speichern, istmehr als ein Fingerzeig.Aber was hat das mit RPG zu tun?Nun, seit Release V5R4M0 gibt es entsprechendeErweiterungen, mit denenich XML-Dokumente direkt verarbeitenkann. An dieser Stelle möchte ichdarauf hinweisen, dass Basiskenntnissezum Thema XML die Vorrausset-zung zum Verständnis dieses Beitragssind.Das in Abbildung 1 gezeigte XML-Dokument fand in allen BeispielenVerwendung. Die XML-Dokumentemüssen, sofern sie als Datei verarbeitetwerden, innerhalb des IFS gespeichertsein. Das Root-Element Customersenthält drei Elemente mit dem Namen„customer“, welche wiederum die Elemente„kundenr, company, addr1, plz,ort“ enthalten. Für die Verarbeitungvon XML-Dokumenten im RPG gibt esdie neuen OP-Codes XML-INTO undXML-SAX.XML-INTOBeim Operations-Code müssen zweiParameter angegeben werden. Außerdemkann die Verarbeitung auf zweiverschiedene Arten ausgeführt werden.Die Art des ersten Parameters steuert1 beispiel1MeiereiMeier67454Meiertal2MüllereiMüller67000Müllertal3SchlossereiSchlosser67001XML-INTO SchlossertalBeim Operations-Code müssen zwei Parameter angegeben werden. Außerdem kanndie Verarbeitung auf zwei verschiedene Arten ausgeführt werden. Die Art des erstenParameters steuert die jeweilige Variante. Damit es nicht zu kompliziert wird, sehenSie im Folgenden ein konkretes Beispiel für die Operation mit der Variante 1:2 beispiel3 beispielh debug(*input)dsdsd err_msg 91 170d xml_rc 368 371b 0D kunde ds qualifiedD kundenr 5D company130D addr1 30d plz 10D ort 30D customers ds qualifiedd customerlikeds(kunde)d2dim(3)/freexml-into(e) customers %xml('XML/custom.xml' :'doc=File ' +3'allowmissing=yes ' +'allowextra=yes ');*inlr = *on;/end-freeOP-CodeErweiterung(erlaubt sind Eund H)Parameter 1enthält einenVariablennamenParameter 2 ist(immer) diebuilt in function(BIF) = %XMLxml-into(e) customers %xml('XML/custom.xml' :Parameter 1 Parameter 2Pfad innerhalbdes IFS undDateiname desXML-Dokumentes'doc=File ' +'allowmissing=yes ' +'allowextra=yes ');Trennzeichen1 Definition einer (qualifizierten) Datenstruktur. Die Subfelder sind in der Reihenfolgeund in der Namensvergabe identisch mit der Elementstruktur „customer“ imXML-Dokument.2 Definition einer Element-Datenstruktur mit drei Elementen. Name der Datenstruktursowie die Subfeld-Definitionen sind identisch mit den Elementnamen imXML-Dokument („customers“ bzw. „customer“).3 Einlesen des XML-Dokuments „custom.xml, das als Datei (option doc=file) im IFSim Verzeichnis XML steht (1. Parameter der BIF %XML) und das die RPG-Variable(Elemente-Datenstruktur = customers – erster Parameter von XML-INTO) aktiviert.66%XML OptionenMIDRANGE MAGAZIN · 09/<strong>200</strong>7DOCDefiniert, ob die „Daten“ in einem String(doc=string) oder in einer Datei (doc=file)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!