[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jul 2008
    Beiträge
    76
    Hallo Rainer,

    Danke.
    Der Compiler nervt aber schon bei der Definition des Index.
    0079.00 LocInd3 = Orders.Head.Line.Cnt_Opt;
    Habe auch Birgitta schon gefragt ....

    Gruß Franco

  2. #2
    Registriert seit
    Aug 2014
    Beiträge
    179
    Hallo Franco,

    so sollte es gehen

    PHP-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);
                      
    TechnicalReceiver    char(20);
                      
    TechnicalSender      char(20);
                      
    OrderNumber          char(20);
                      
    Nad                  likeds(Naddim(04);
                      
    Cnt_Nad              int(10);
                      
    Line                 likeds(Linedim(05);
                      
    Cnt_Line             int(10);
             
    end-ds;

             
    dcl-ds  VersionNumber         template qualified;
                      
    VersionName          char(20);
                      
    VersionNo            char(20);
             
    end-ds;

          
    //------------------------------------------------------------------//
          // Template Nad                                                     //
          //------------------------------------------------------------------//

             
    dcl-ds  Nad                   template qualified;
                      
    FlagOfParty          char(02);
                      
    AdressGLN            char(20);
             
    end-ds;

          
    //------------------------------------------------------------------//
          // Template Line - Enthält die Produkte                             //
          //------------------------------------------------------------------//

             
    dcl-ds  Line                  template qualified;
                      
    LineItemNumber       char(03);
                      
    ProductNumber        char(10);
                      
    Opt                  likeds(Optdim(100);
                      
    Cnt_Opt              int(10);
             
    end-ds;

          
    //------------------------------------------------------------------//
          // Template Options                                                 //
          //------------------------------------------------------------------//

             
    dcl-ds  Opt                   template qualified;
                      
    FeatureLineNumber    char(01);
                      
    FeatureNumber        char(01);
                      
    FeatureDescription   char(20);
                      
    OptionNumber         char(01);
                      
    OptionDescription    char(20);
             
    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   LocInd2       uns(10);               // Index
             
    dcl-s   ItemNumber    like(Line.LineItemNumber);
             
    dcl-s   ProductNumber like(Line.ProductNumber);
             
    dcl-s   FeatureDescription like(Opt.FeatureDescription);

               
    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;
                 for 
    LocInd2 1 to Orders.Head.Line(LocInd).Cnt_Opt;
                   
    FeatureDescription =
                    
    Orders.Head.Line(LocInd).Opt(LocInd2).FeatureDescription;
                 endfor;
               endfor;

             
    end-proc;
          
    //------------------------------------------------------------------// 

Similar Threads

  1. Journalisierte Tabellen
    By alex61 in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 31-03-17, 11:32
  2. Antworten: 9
    Letzter Beitrag: 28-04-16, 07:19
  3. Löschen per SQL in 2 Tabellen
    By harbir in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 12-03-14, 15:34
  4. Tabellen in RPG IV
    By Gimli in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 31-03-03, 10:10
  5. via SQL Tabellen erstellen
    By infomio in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 10-07-02, 14:43

Berechtigungen

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