[NEWSboard IBMi Forum]

Thema: SQL XML

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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
    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

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

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

  3. #3
    Registriert seit
    Jan 2001
    Beiträge
    850
    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

  4. #4
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    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!)

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

  6. #6
    Registriert seit
    Oct 2013
    Beiträge
    175
    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.)

  7. #7
    Registriert seit
    Jan 2001
    Beiträge
    850
    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",
                        
    XMLATTRIBUTESeb.bbstnr AS "BSTNR"),
                  
    xmlagg (
                    
    xmlelementname "BestellRow" ,
                    
    xmlelementname "Bestellnr"  eb.bbstnr) ,
                    
    xmlelementname "Artikel"    eb.bartnr) ,
                    
    xmlelementname "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

  8. #8
    Registriert seit
    Jan 2001
    Beiträge
    850
    Zitat Zitat von BenderD Beitrag anzeigen
    ... 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 

     XMLDOC_DL OF XMLDOC 

     XMLDOC_FO OF XMLDOC 

     XMLDOC_NAME OF XMLDOC 


  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von mk Beitrag anzeigen
    Hier die generierte DS

    PHP-Code:
    EVAL xmldoc 
     XMLDOC_NL OF XMLDOC 

     XMLDOC_DL OF XMLDOC 

     XMLDOC_FO OF XMLDOC 

     XMLDOC_NAME OF XMLDOC 

    ... was soll mir das jetzt sagen?
    Das sieht doch alles sehr nach Kraut und Rüben aus. Da gibt es ein Schlüsselwort SQLTYPE, das in der RPG Reference nicht beschrieben wird und in eine Datenstruktur aufgelöst wird, die Felder hat, die nirgends beschrieben sind. Für diese Felder werden Namen verwendet, die nicht dem Schema reservierter Namen von SQL entsprechen und damit es wirklich knallt, nimmt man dann keine qualified Datenstruktur. Dann werden noch Konstanten generiert, deren Verwendung auch nicht dokumentiert ist. Die XML UDFS lehnen sich im Namen an eine Erweiterung des SQL Standards an, was sie machen ist aber in der SQL Reference nicht beschrieben.
    Früher hat man sowas Murks genannt!!!

    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/

  10. #10
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Das sieht doch alles sehr nach Kraut und Rüben aus. Da gibt es ein Schlüsselwort SQLTYPE, das in der RPG Reference nicht beschrieben wird und in eine Datenstruktur aufgelöst wird, die Felder hat, die nirgends beschrieben sind. Für diese Felder werden Namen verwendet, die nicht dem Schema reservierter Namen von SQL entsprechen und damit es wirklich knallt, nimmt man dann keine qualified Datenstruktur. Dann werden noch Konstanten generiert, deren Verwendung auch nicht dokumentiert ist. Die XML UDFS lehnen sich im Namen an eine Erweiterung des SQL Standards an, was sie machen ist aber in der SQL Reference nicht beschrieben.
    Früher hat man sowas Murks genannt!!!
    Hatte ich erwähnt was wir uns entschieden haben diese tolle Funktion nur für sehr einfache XML zu verwenden. Meine Source hab ich im Juni 2011 aus einem amerikanischen Forum abgeschrieben.
    (Ja, MIT der DS ). Dann haben wir voller Begeisterung 2 Tage gesucht und rumprobiert. Um uns dann für die aufwendigere aber mögliche Variante zu entscheiden!
    Wer ne brauchbare Doku oder ein verschachteltes BSP findet, immer gerne! (habe lange nich danach gesucht)
    Sonst gilt was Dieter sagt: Früher hat man sowas Murks genannt!!!

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •