[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.786
    Ich denke, dass XMLTABLE da eher das liefert, was du benötigst (SQL-Handbuch).
    In der Spaltendefinition kann man dann nämlich noch weitere Pfade angeben:

    Code:
    SELECT     U."PO ID", U."Part #", U."Product Name",
        U."Quantity", U."Price", U."Order Date"
      FROM PURCHASEORDER P,
           XMLTABLE(XMLNAMESPACES(’http://podemo.org’ AS "pod"),
                   ’$po/PurchaseOrder/itemlist/item’ PASSING P.PORDER AS "po"
            COLUMNS "PO ID" INTEGER PATH ’../../@POid’,
                "Part #" CHAR(6) PATH ’product/@pid’,
                "Product Name" CHAR(50) PATH ’product/pod:name’,
                "Quantity" INTEGER PATH ’quantity’,
                "Price" DECIMAL(9,2) PATH ’product/pod:price’,
                "Order Date" TIMESTAMP PATH ’../../dateTime’
                ) AS U
       WHERE P.STATUS = ’NEW’
    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 2014
    Beiträge
    181
    Folgende Statements habe ich mit Erfolg getestet
    PHP-Code:
    create or replace variable mylib.xml_var varchar(10000ccsid 1208;

    values mylib.xml_var;

    set mylib.xml_var =
    '<Gruppe>
        <Gruppennummer>5</Gruppennummer>
        <Angestellte>
               <Namen>
                 <Vorname>Max</Vorname>
                 <Name>Mustermann</Name>
              </Namen>

               <Namen>
                  <Vorname>Heike</Vorname>
                  <Name>Musterfrau</Name>
              </Namen>
         </Angestellte>    
    </Gruppe>'
    ;

    SELECT *
       
    FROM XMLTABLE('/Gruppe/Angestellte/Namen' 
          
    PASSING XMLPARSE(
             
    DOCUMENT mylib.xml_var
          

             
    COLUMNS
                gruppennummer integer PATH 
    '../../Gruppennummer'
                
    vorname varchar(20)   PATH 'Vorname',
                
    name    varchar(20)   PATH 'Name'
       
    ) AS RESULT
    Herzliche Grüße
    Rainer

  3. #3
    Registriert seit
    Oct 2015
    Beiträge
    109
    Hallo,

    Vielen Dank euch! so funktioniert es. '../../Gruppennummer'

    Scheinbar kann man mi ../ jeweils immer eine Ordnung nach oben wechseln.

    Viele Grüße,

    Daniel

  4. #4
    Registriert seit
    Aug 2014
    Beiträge
    181
    Mit diesem Statement kann man die Daten direkt aus dem IFS lesen und parsen

    PHP-Code:
    SELECT *
       
    FROM XMLTABLE('/Gruppe/Angestellte/Namen' 
          
    PASSING XMLPARSE(
             
    DOCUMENT get_clob_from_file('/home/import/xml/angestellte.xml')
          ) 
             
    COLUMNS
                gruppennummer integer PATH 
    '../../Gruppennummer'
                
    vorname varchar(20)   PATH 'Vorname',
                
    name    varchar(20)   PATH 'Name'
       
    ) AS RESULT

Similar Threads

  1. Löschen von PTF-Gruppen
    By Flappes in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 23-05-17, 10:07
  2. Antworten: 2
    Letzter Beitrag: 31-12-15, 11:52
  3. SQL erste x sätze aller Gruppen
    By dd3tj in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 26-02-15, 07:38
  4. Systemtabelle mit User/Gruppen
    By stemmerter in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 22-02-14, 17:33
  5. Platteneinheiten hinzufügen
    By moeller400 in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 28-06-01, 07:41

Berechtigungen

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