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; //------------------------------------------------------------------//
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks