@rainer
hier die quelle.
[
ctl-opt dftactgrp(*no);
//------------------------------------------------------------------//
// //
// Parsen XML-DATEN - CCSID DER XML-DATEI MUSS 1208 SEIN //
// //
//----------------- //
// R.Ross 12.2018 * //
//------------------------------------------------------------------//
// XML-Array - Root //
//------------------------------------------------------------------//
dcl-ds Data qualified;
Teile_Nr likeds(Data_tmp);
hgna likeds(hgna);
Ersteller likeds(Data_tmp);
Erstelldatum likeds(Data_tmp);
Workflow_Status likeds(Data_tmp);
Aenderungsdatum likeds(Data_tmp);
Aenderer likeds(Data_tmp);
meeh likeds(Data_tmp);
diart likeds(Data_tmp);
bez1 likeds(Data_tmp);
bez2 likeds(Data_tmp);
bez3 likeds(Data_tmp);
herna likeds(Data_tmp);
hernr likeds(Data_tmp);
cnnr likeds(Data_tmp);
ulfilenr likeds(Data_tmp);
csanr likeds(Data_tmp);
arstk_ likeds(Data_tmp);
arart_ likeds(Data_tmp);
herty likeds(Data_tmp);
csanorm likeds(Data_tmp);
Bemerkung likeds(Data_tmp);
Spezifikation likeds(Data_tmp);
end-ds;
//------------------------------------------------------------------//
// Template Data //
//------------------------------------------------------------------//
dcl-ds Data_tmp template qualified;
Fieldname char(10);
Data char(20);
end-ds;
//------------------------------------------------------------------//
// Template Datum //
//------------------------------------------------------------------//
dcl-ds Datu_tmp template qualified;
Fieldname char(10);
Data char(40);
end-ds;
//------------------------------------------------------------------//
// Element hgna //
//------------------------------------------------------------------//
dcl-ds hgna qualified;
Keygroup likeds(Keygroup);
end-ds;
//------------------------------------------------------------------//
// Element Keygroup //
//------------------------------------------------------------------//
dcl-ds Keygroup qualified;
Groupname char(40);
cnt_Keycharacteristic uns(10);
Keycharacteristic likeds(Keycharacteristic)dim(10);
end-ds;
//------------------------------------------------------------------//
// Element Keycharacteristic //
//------------------------------------------------------------------//
dcl-ds Keycharacteristic qualified;
Name char(10);
Data char(20);
end-ds;
//------------------------------------------------------------------//
// Processing //
//------------------------------------------------------------------//
main();
chain P4FILN ArtstaL05;
Eval p4andat=%TimeStamp ;
*inlr = *on;
//------------------------------------------------------------------//
// Main //
//------------------------------------------------------------------//
dcl-proc Main;
dcl-s LocOpt varchar(256); // XML-Options
dcl-s LocFile varchar(128); // File
LocFile = '/home/NOWAK/VORW/Part_w_SML_Export_PF_8_AS400.xml'; //FILE
LocOpt = 'doc=file case=any allowextra=yes +
countprefix=cnt_ datasubf=data';
monitor ;
xml-into(E) Data %xml(LocFile:LocOpt);
On-error 353 ;
Endmon ;
end-proc;
//------------------------------------------------------------------// PHP]
[/PHP]
und die XML-Datei:
PHP-Code:
<?xml version="1.0" encoding="utf-8"?>
<DATA>
<Teile_Nr FIELDNAME="NFT_IDNR">20411</Teile_Nr>
<hgna FIELDNAME="NFT_NAM1">Schraube
<KEYGROUP GROUPNAME="Blechschraube">
<KEYCHARACTERISTIC NAME="ugna">Blechschraube</KEYCHARACTERISTIC>
<KEYCHARACTERISTIC NAME="ugna_056">4,8</KEYCHARACTERISTIC>
<KEYCHARACTERISTIC NAME="ugna_107">38</KEYCHARACTERISTIC>
<KEYCHARACTERISTIC NAME="ugna_401">DIN EN ISO 7049</KEYCHARACTERISTIC>
<KEYCHARACTERISTIC NAME="ugna_208">C</KEYCHARACTERISTIC>
<KEYCHARACTERISTIC NAME="ugna_150">verzinkt</KEYCHARACTERISTIC>
<KEYCHARACTERISTIC NAME="ugna_999">BlauGrau</KEYCHARACTERISTIC>
</KEYGROUP>
</hgna>
<Ersteller FIELDNAME="NFT_KON">BizTalkImport</Ersteller>
<Erstelldatum FIELDNAME="NFT_DAT">2018-05-24T16:07:12</Erstelldatum>
<Workflow-Status FIELDNAME="NFT_ZUST">20000</Workflow-Status>
<Aenderungsdatum FIELDNAME="NFT_MDAT">0001-01-01T01:00:00</Aenderungsdatum>
<Aenderer FIELDNAME="NFT_MKON"></Aenderer>
<meeh FIELDNAME="NFT_STK2">01</meeh>
<diart FIELDNAME="NFT_STK3">K</diart>
<bez1 FIELDNAME="NFT_STL0">Blechschraube</bez1>
<bez2 FIELDNAME="NFT_STL1">Linsen mit Kreuzschlitz</bez2>
<bez3 FIELDNAME="NFT_STL2"></bez3>
<herna FIELDNAME="NFT_STL3"></herna>
<hernr FIELDNAME="NFT_STL4"></hernr>
<cnnr FIELDNAME="NFT_STL5"></cnnr>
<ulfilenr FIELDNAME="NFT_STL6"></ulfilenr>
<csanr FIELDNAME="NFT_STL7"></csanr>
<arstk_ FIELDNAME="NFT_STL8">DIN EN ISO 7049</arstk_>
<arart_ FIELDNAME="NFT_STL9">2002523</arart_>
<herty FIELDNAME="NFT_STH0"></herty>
<csanorm FIELDNAME="NFT_STH1"></csanorm>
<Bemerkung FIELDNAME="ML_STRING"></Bemerkung>
<Spezifikation FIELDNAME="ML_STRING"></Spezifikation>
</DATA>
Leider arbeite ich noch Spaltenorientiert,
wo müsste ich denn den *entry , chain und update einsetzen?
LG
Hans-Joachim
Bookmarks