PDA

View Full Version : XML aktueller Stand



Seiten : [1] 2

itec01
23-05-17, 07:16
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.

BenderD
23-05-17, 07:29
... 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

itec01
23-05-17, 07:34
Dachte ich mir schon.
Der Kunde hat schon ein bisschen was mit DB2Extender gemacht. Ws haltet Ihr davon?
Danke.

Fuerchau
23-05-17, 08:06
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');

B.Hauser
23-05-17, 08:19
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

andigoering
23-05-17, 08:26
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

itec01
23-05-17, 09:08
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

Fuerchau
23-05-17, 10:39
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.

Dschainers
23-05-17, 12:21
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

Fuerchau
23-05-17, 12:32
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.