[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2004
    Beiträge
    327

    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.

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... 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
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Sep 2004
    Beiträge
    327
    Dachte ich mir schon.
    Der Kunde hat schon ein bisschen was mit DB2Extender gemacht. Ws haltet Ihr davon?
    Danke.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    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');
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  6. #6
    Registriert seit
    Jul 2001
    Beiträge
    177
    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

  7. #7
    Registriert seit
    Sep 2004
    Beiträge
    327
    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

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Jun 2009
    Beiträge
    316
    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

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  11. #11
    Registriert seit
    Oct 2015
    Beiträge
    109
    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

  1. Systems Halle A2, Stand 329: command zeigt FRIDA-Nachfolger OXAION
    By RM Haaßengier in forum Archiv NEWSboard Events
    Antworten: 0
    Letzter Beitrag: 27-09-02, 13:24
  2. OXAION auf der Orbit dabei - Halle 2.2, Stand G20
    By RM Haaßengier in forum Archiv NEWSboard Events
    Antworten: 0
    Letzter Beitrag: 20-09-02, 15:47
  3. IBV Informatik GmbH Stand - A4 - MIDRANGE Welt
    By Kirsten Steer in forum Archiv NEWSboard Events
    Antworten: 0
    Letzter Beitrag: 24-05-02, 13:45
  4. PTF Stand V5R1M0
    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
  •