-
... 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)
Code:
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...Feldname/page2
-
Eine Beschreibung gibt es im Embedded SQL Programming-Handbuch, aber die ist tatsächlich nicht doll.
LOB File Reference Variable
... ü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
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
 Zitat von Fuerchau
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...Feldname/page2
... da gab es schon unter V4R5 (oder so) SQLTYPE(CLOBFILE), die haben nur noch nicht geschafft dieses Feature zu dokumentieren und/oder ordentlich zu implementieren. Bei folgendem Snippet kriegt der Compiler schon die Freck:
d yours s sqltype(clob_file)
d yours_name s 10
Ansonsten kann man ja auch ausprobieren was man da so alles in die Felder der generierten DS reinschreiben kann und was das so macht, immer in der Hoffnung, dass das dann im nächsten Release noch genauso ist.
D*B
PS: seit wann gibt es eigentlich qualified?
-
QUALIFIED für DS seit V5R1, für Record Formate seit V6R1.
(Im RPG-Handbuch nach dem Inhaltsverzeichnis unter "What's new" - ich liebe diese Aufstellung.)
-
Hallo,
mit Birgittas Snippet habe ich die erste Hürde genommen.
Jetzt muss ich aber eine XML Datei mit einer Gruppe aufbauen.
Also ganz simpel:
-Bestellung
.. Artikel
.. Artikel
.. Artikel
-Bestellung
-Bestellung
.. Artikel
.. Artikel
.. Artikel
-Bestellung
usw...
Dazu habe ich folgendes Programm
PHP-Code:
DCL-S XmlDocL SQLTYPE(XML_CLOB_FILE); clear XmlDocL ;
XmlDocL_Name = '/asmtool/test/aXmlDocList.xml'; XmlDocL_NL = %len(%trim(XmlDocL_Name)); XmlDocL_FO = SQFOVR;
Exec SQL select XMLDOCUMENT ( XMLELEMENT (NAME "Bestellungen", XMLATTRIBUTES( eb.bbstnr AS "BSTNR"), xmlagg ( xmlelement( name "BestellRow" , xmlelement( name "Bestellnr" , eb.bbstnr) , xmlelement( name "Artikel" , eb.bartnr) , xmlelement( name "DAN" , az.azsoar) ) order by eb.bartnr )
) )
Into :XmlDocL from ....
Im OpsNav sehe ich das für mehrere Bestellungen auch Artikel mehrfach vorhanden sind.
Allerdings wird in der IFS Datei nur eine einfach Bestellung
als XML ausgegeben.
Weiß jemand wie man eine solche Gruppe
mit SQL erzeugen kann ?
Gruß
Michael
-
 Zitat von BenderD
... da gab es schon unter V4R5 (oder so) SQLTYPE(CLOBFILE), die haben nur noch nicht geschafft dieses Feature zu dokumentieren und/oder ordentlich zu implementieren. Bei folgendem Snippet kriegt der Compiler schon die Freck:
d yours s sqltype(clob_file)
d yours_name s 10
Ansonsten kann man ja auch ausprobieren was man da so alles in die Felder der generierten DS reinschreiben kann und was das so macht, immer in der Hoffnung, dass das dann im nächsten Release noch genauso ist.
D*B
PS: seit wann gibt es eigentlich qualified?
Hier die generierte DS
PHP-Code:
EVAL xmldoc
XMLDOC_NL OF XMLDOC = 0
XMLDOC_DL OF XMLDOC = 0
XMLDOC_FO OF XMLDOC = 0
XMLDOC_NAME OF XMLDOC =
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks