[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jul 2008
    Beiträge
    76
    Guten Morgen,
    gibt es im Forum vielleicht noch eine Idee?
    Franco

  2. #2
    Registriert seit
    Aug 2014
    Beiträge
    181
    Hallo Franko,

    anbei die Lösung für das Problem

    HTML-Code:
             ctl-opt dftactgrp(*no);
          //------------------------------------------------------------------//
          //                                                                  //
          //  Parsen XML-DATEN - CCSID DER XML-DATEI MUSS 1208 SEIN           //
          //                                                                  //
          //-----------------                                                 //
          // R.Ross 11.2019 *                                                 //
          //------------------------------------------------------------------//
          // XML-Array - Root                                                 //
          //------------------------------------------------------------------//
    
             dcl-ds  Orders                qualified;
                      Head                 likeds(Head);
             end-ds;
    
          //------------------------------------------------------------------//
          // Template Head                                                    //
          //------------------------------------------------------------------//
    
             dcl-ds  Head                  template qualified;
                      VersionNumber        likeds(VersionNumber);
                      OrderNumber          char(20);
                      Line                 likeds(Line) dim(05);
                      Cnt_Line             int(10);
             end-ds;
    
             dcl-ds  VersionNumber         template qualified;
                      VersionName          char(20);
                      VersionNo            char(20);
             end-ds;
    
          //------------------------------------------------------------------//
          // Template Line - Enthält die Produkte                             //
          //------------------------------------------------------------------//
    
             dcl-ds  Line                  template qualified;
                      LineItemNumber       char(03);
                      ProductNumber        char(10);
             end-ds;
    
          //------------------------------------------------------------------//
          // Processing                                                       //
          //------------------------------------------------------------------//
    
               main();
    
               *inlr = *on;
          //------------------------------------------------------------------//
          // Main                                                             //
          //------------------------------------------------------------------//
             dcl-proc Main;
    
             dcl-s   LocOptions  varchar(128);            // XML-Options
             dcl-s   LocFile     varchar(128);            // File
    
             dcl-s   LocInd        uns(10);               // Index
             dcl-s   ItemNumber    like(Line.LineItemNumber);
             dcl-s   ProductNumber like(Line.ProductNumber);
    
               LocFile = '/Home/Import/xml/20191031_221735_1TJW5S_2.xml';
    
               LocOptions = 'doc=file case=any allowextra=yes +
                             countprefix=cnt_ datasubf=data';
    
               clear Orders;                              // Init XML-Struktur
    
               xml-into Orders %xml(LocFile:LocOptions);
    
               for LocInd = 1 to Orders.Head.Cnt_Line;    // Loop Produkte
                 ItemNumber    = Orders.Head.Line(LocInd).LineItemNumber;
                 ProductNumber = Orders.Head.Line(LocInd).ProductNumber;
               endfor;
    
             end-proc;
          //------------------------------------------------------------------// 

  3. #3
    Registriert seit
    Jan 2007
    Beiträge
    1.002
    Lieber Rainer ...
    ... und wenn Du nun noch einen Konverter hast, der die XSD gleich in DS Templates umsetzt, bist Du mein Tagesheld. Good Job!
    kf

  4. #4
    Registriert seit
    Aug 2014
    Beiträge
    181
    Ein Konverter wäre richtig cool. Es würde auch mit SQL gehen

    HTML-Code:
    SELECT *
      FROM XMLTABLE('/ORDERS/HEAD/LINE'
      PASSING xmlparse(
       DOCUMENT get_blob_from_file('/Home/Import/xml/mein.xml'))
      COLUMNS
       "ProductNumber" varchar(20) PATH 'ProductNumber',
       "ProductName"   varchar(20) PATH 'ProductName'
     );

  5. #5
    Registriert seit
    Jul 2008
    Beiträge
    76
    Funktioniert super, dann halt total free. Gruß Franco FDH

  6. #6
    Registriert seit
    Aug 2014
    Beiträge
    181
    Das freut mich sehr, dass es jetzt funktioniert

    Habt Ihr Interesse coole Webanwendungen auf IBM i zu programmieren?
    - Responsive Webdesign für PC, iPad und Smartphone
    http://www.myhofi.com/dev/html/DataViewResponsive.html
    - Stammdaten verwalten http://www.myhofi.com/tms/HTML/MySubfileApp04.html
    - Projektverwaltung mit Gantt http://www.myhofi.com/tms/HTML/MyGantt.html
    - schnelle Volltextsuche http://www.myhofi.com/music/html/musicsearch.html

    Hier gibts die Workshops https://www.toolmaker.de/schulungen/

    Herzliche Grüße
    Rainer Ross It-Beratung

Similar Threads

  1. XML Parsen
    By fdh in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 20-11-19, 13:43
  2. Vergleichen Feldinhalte von qualifizierten Datenstrukturen
    By it-dol in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 24-07-14, 13:05

Berechtigungen

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