View Full Version : SQL XML
... ich tippe mal, dass die vermeintliche Source nicht die Quelle des vorhandenen Programmes ist. Falls der Pre Compiler das durchlassen würde, hätte der Compiler beim clear MYXMLDOC die nächsten Einwände anzumelden...
D*B
Da tippst du falsch!
die 14 nimmt normal die Quelle vor der sie gemacht wird.
das myxmldoc ist ne DS
(Sitze am handy, mei e kiste ist aus)
Hast du es probiert?
... erst Brille putzen!!! In der Quelle hier im Forum ist keine DS deklariert...
Robis Quelle ist schon korrekt.
Er hat lediglich vergessen die D-Bestimmungen, sprich die Definition der XML_CLOB_File mitzukopieren.
Das XML-Dokument wird direkt mit dem SELECT ... INTO in das IFS geschrieben.
Wird eine XML_CLOB_FILE definiert wird das XML-Dokument in die in der der Option SQL_XML_DATA_CCSID in der Abfrage-Options-Datei QAQQINI angegebene CCSID konvertiert. Default-Wert der Option ist 1208 (=UTF-8)
D MyXMLDOC S SQLTYPE(XML_CLOB_FILE)
C/EXEC SQL SET OPTION COMMIT=*NONE, DATFMT=*ISO, TIMFMT=*ISO,
C+ NAMING=*SYS, CLOSQLCSR=*ENDACTGRP
C/END-EXEC
/FREE
CLEAR MYXMLDOC;
MYXMLDOC_NAME = '/HOME/RJ/MYXMLDOC.XML';
MYXMLDOC_NL = %LEN(%TRIM(MYXMLDOC_NAME));
MYXMLDOC_FO = SQFOVR; //REPLACE IF EXISTS
EXEC SQL
SELECT XMLDOCUMENT
(XMLGROUP(ADR006 AS "D_C",
ADR007 AS "NUMMER",
ADR009 AS "INTERN-NAME",
ADR018 AS "STREET",
ADR015 AS "ZIPCODE",
ADR020 AS "CITY"
ORDER BY ADR015 DESC, ADR009
OPTION ROW "KUNDEN"
ROOT "ADRESSEN"))
INTO :MYXMLDOC
FROM ADRM1;
*INLR = *ON;
/END-FREE
Das Ganze klappt natürlich auf für komplexere XML-Dokumente.
Übrigens mit File-Reference-Variablen kann man mit embedded SQL direkt ins IFS schreiben und natürlich auch aus dem IFS lesen.
Birgitta
Hi zusammen,
so wie Birgitta es geschrieben hat scheint es zu funktionieren.
Das Thema File-Reference-Variablen wäre auch noch interessant.
Gruß
Michael
Das Thema File-Reference-Variablen wäre auch noch interessant.
Ich kann ja für die nächste Common-Veranstaltung einen entsprechenden Vortrag vorschlagen/einreichen.
Ansonsten habe ich für den kostenpflichtigen TechKnowLetter (ITP-Verlag) und für iProDeveloper mehrere Artikel zu dem Thema Verarbeitung von Large Objects geschrieben, in denen auch die File-Reference-Variablen abgedeckt werden.
Birgitta
Nun ist die Definition der Variable auch klar.
Die Beschreibung im Netz habe ich auch gefunden.
Im neuesten V7R2 (oder V7R1) PDF-Handbuch finde ich nichts dazu.
Auch ansonsten scheint es keine gescheite Beschreibung für zu geben.
Gibt es irgendwo einen Link für das Ganze?
Wo ist das denn tatsächlich mal offiziell dokumentiert?
Oder gibt's das nur für Softwarehäuser mit IBM-Ausbildern:)?
Im Übrigen findet man obiges Beispiel auch wieder hier im Forum, 2012 von Birgitta:
http://newsolutions.de/forum-systemi-as400-i5-iseries/threads/17892-Variable-Feldname/page2
Eine Beschreibung gibt es im Embedded SQL Programming-Handbuch, aber die ist tatsächlich nicht doll.
LOB File Reference Variable (http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzajp/rzajpirpglobfileref.htm?lang=en)
... übrigens nicht jeder, der in einem Software-Haus hat eine IBM-Ausbildung. Vielmehr ist es so, dass man in vielen Softwarehäusern erwartet, dass die Mitarbeiter alles können oder sich im Notfall selber beibringen. Zumindest war und ist das in den Softwarehäusern der Fall in denen ich in den letzten 20 Jahren beschäftigt war.
Birgitta
Hallo,
ob die Doku jetzt gut ist ?
Auf jeden Fall ist das Forum , mit Moderatoren , mit Teilnehmern und den Beiträgen
ein wertvoller Helfer.
Ich hoffe das das so bleibt
Gruss an alle
Michael
Moin zusammen,
sch.... da hab ich doch, warum auch immer, beim kopieren eine Zeile nicht mitgenommen.
Sorry Leute, war keine böse Absicht
Gruß
Robi