-
XML aktueller Stand
Hallo Zusammen,
in meinem letzten Projekt (SEPA) mit XML und AS/400 bin ich den Weg gegangen die XML Datei über ein PC Programm zu erzeugen. Datei auf der AS/400 erzeugt und per C# Programm das XML erzeugt.
Nun möchte aber ein Kunde, dass wir das komplett auf der AS/400 lösen sollen. Der Kunde hat V7R1. Ich weiß noch von damals, dass dies ziemlich eine Katastrophe war auf der AS/400.
Wie ist jetzt der aktuelle Stand?
Es gibt die Toolbox und ein bisschen was von Scott.
Zu was würdet Ihr tendieren?
Danke.
-
... das geht schon lange - ohne jede masochistische Ader - auf AS/400: Java! Auch wenn die workarounds besser geworden sind, würde ich immer noch die Finger von RPG und cruden SQL Functions lassen.
D*B
-
Dachte ich mir schon.
Der Kunde hat schon ein bisschen was mit DB2Extender gemacht. Ws haltet Ihr davon?
Danke.
-
Ist diesbezüglich nicht mehr nötig.
Wenn der Kunde unbedingt auf die komfortable Lösung mit Java auf AS/400 verzichten will, gibt es bereits einige Hinweise auch hier im Forum, wie man dieses unkomfortabel mit SQL und ILERPG löst.
Zuerst einmal:
Mit ILERPG gibt es nur die Möglichkeit, XML's per XMLINTO zu lesen. Dabei werden auch hierarchische XML's bis max. 16 MB (Speichergrenze bei *snglvl-Storage) bzw. 2TB (bei *teraspace) unterstützt.
SQL kann ebenso XML's lesen, man muss aber daran denken, dass SQL ein Resultset gleichartiger Daten zurückgibt. Eine hierarchische Verarbeitung von XML-Daten gibt es nicht.
Um XML auszugeben kann man ebenso SQL bemühen.
Allerdings kann man hier auch nur simple, nicht hierarchische XML's erstellen, was bei komplexeren Anforderungen kaum ausreicht.
Möchte man sich nicht die Finger brechen, sollte mal sicherlich auf Java ausweichen.
Du könntest natürlich Service-Routinen entwickeln, die analog zu .NET's XML-Writer entsprechende Funktionen bereitstellt um sequentiell hierarchische XML's direkt ins IFS zu schreiben:
StartNode('XXX');
StartAttribute('AAA');
WriteContent('Inhalt 1');
EndAttribute('AAA');
StartAttribute('BBB');
WriteContent('Inhalt 2');
EndAttribute('BBB');
EndNode('XXX');
-
DB2Extender ist abgekündigt und sollte durch den XML Support in der DB2 bzw. SQL ersetzt werden.
Im Gegensatz zu anderen Postern habe ich mit dem XML Support in der DB2 bislang keine Probleme gehabt!
Der (vollständige) XML-Support in SQL ist seit Release 7.1 vorhanden.
Birgitta
-
Hallo!
Wenn professionelle und supportete Lösungen in Frage kommen...
Wir haben ein Produkt "i4XML", welches komplett native läuft.
Mehr unter http://www.goering.de/de/xml.html
Viele Grüße
Andi Göring
-
Das mit dem Tool von Herrn Göring muss ich klären.
Für JAVA auf der AS/400 benötige ich Websphere, oder?
Gibt es ein gutes Tutorial für den XML Support für DB2?
Aktuell geht es darum Bankdaten über XML und Daten für KBA zu verifizieren. Wir müssen sowohl XML erzeugen und versenden als auch XML empfangen und auf der AS/400 weiterverarbeiten.
Danke.
Klaus
-
Nun, da wende dich einfach am besten an Birgitta.
Denn ich habe da noch keine hierarchischen XML's erstellen können sondern nur flache.
Für Java ist kein Websphere erforderlich.
Ich entwickle Java ganz normal mit Eclipse, binde die AS/400-Java-Toolbox für JDBC u.a. ein.
Wenn ich fertig bin und auch getestet habe, schiebe ich die .jar ins IFS und starte das per JAVA-Kommando.
-
Also auch auf die Gefahr hin, dass über mich gelacht wird:
Ich erzeuge unsere XML Dateien alle über RPGLE.
- SRC-PF erzeugen
- Mit RPGle das ganze XML Zeugs reinschreiben
- hinterher aus der SRC-PF eine xxx.xml erzeugen
Das mache ich bei SEPA Überweisungen, SEPA Lastschriften, E-Bilanzen, Offenlegung beim Bundesanzeiger etc.
funktioniert auch ohne das Ganze XML Support etc. oder Java.
Viele Grüße
-
Nun, das ist ja von meinem Vorschlag oben mit den ServiceRoutinen nicht so weit entfernt.
Klar kann ich das mit Stringfunktionen auch direkt im ILERPG zusammenschustern.
Ich hatte so was (für eine flache Ausgabe) auch schon mal mit SQL und Concats zusammengebaut und das dann mit Union-Selects auch schon aufgeteilt.
Die Ausgabe war eigentlich nie ein Problem. Wie gesagt, die Eingabe ist mit XML-INTO und geschachtelten qualified DS nebst Arrays schon sehr komfortabel und auch schnell geworden.
-
Für recht einfach gehaltene XML geht beides relativ flott.
Lesen:
Code:
exec sql set option commit=*CHG;
exec sql declare Cursorname cursor for
select info_req.*
from xmltable('/Liste/Kunde'
passing xmlparse(document
get_xml_file('/Pfad'))
columns
FELD1 varchar(20) path 'BezeichnunginXML',
FELD2 decimal(11, 2) path 'BezZwei',
....
FELDN decimal(5, 2) path 'BezFeldN',
) info_req;
Dann den Cursor fetchen und gut ists.
XML erzeugen:
Code:
D MeineXMLDatei S SQLTYPE(XML_CLOB_FILE)
NAMING= *SYS, CLOSQLCSR= *ENDACTGRP;
** Zuerst legt man den Namen fest und gibt die Länge an.
MeineXMLDatei_name = Hier steht der Name;
MeineXMLDatei_nl = %len(%trim(Hier steht der Name));
MeineXMLDatei_fo = sqfovr;
** Im Anschluss weißt man die Dateifelder den XML-Feldern zu:
exec sql select xmldocument(xmlgroup(
Feld1 as "MeinErstesFeld",
Feld2 as "MeinFeld2",
...
FeldN as "MeinFeldN"
order by Feld1 asc
** Das option row legt den Container und den XML-internen Pfad fest
optionrow"Kunde"root"Liste"))
into :MeineXMLDatei
** Zuletzt gibt man die Dateien, aus denen gelesen werden soll an
from MeinePF where (Bedingung);
Klar kann man das Ganze noch komplexer machen, aber so hast du mal n Überblick
Similar Threads
-
By RM Haaßengier in forum Archiv NEWSboard Events
Antworten: 0
Letzter Beitrag: 27-09-02, 13:24
-
By RM Haaßengier in forum Archiv NEWSboard Events
Antworten: 0
Letzter Beitrag: 20-09-02, 15:47
-
By Kirsten Steer in forum Archiv NEWSboard Events
Antworten: 0
Letzter Beitrag: 24-05-02, 13:45
-
By Wirnitzer in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 22-08-01, 11:30
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