Liebes Forum,
irgendetwas mache ich falsch..... nur sehe ich den Wald vor lauter Bäumen nicht.
Die Structur ist PGMRequest;OBJECTS;PART; innerhalb von PART kommt KEYS mit PROFILEKEY + FOREIGNKEY danach DATA mit hgna und weiteren Feldern von DATA
Die Felder von PGMRequest werden gefüllt,
KEYS wird gefüllt (Profilekey als auch Foreignkey)
DATA 1. Postition Teile-Nr wird gefüllt,
hgna - Fnt_nam1 = "Schraube" bekomme ich nicht ,
GROUPNAME ist gefüllt und die ersten 3 KEYCHARACTERISTIC(Name+Data) werden gefüllt, die nächsten 3 bleiben leer (der Counter bleibt auch Null)
die restlichen Felder von DATA bleiben auch leer.
Dazu das mxlPHP-Code:ctl-opt Dftname(A04320R)
dftactgrp(*No)
Debug(*yes) Option(*NoExpDds: *NoDebugIo: *srcstmt: *NoUnRef)
Datfmt(*eur) TimFmt(*hms:) Datedit(*dmy);
dcl-f ArtStaL05 disk keyed usage(*Input: *update: *output);
//------------------------------------------------------------------/
// /
// Parsen XML-DATEN - CCSID DER XML-DATEI MUSS 1208 SEIN /
// /
//----------------- /
// R.Ross 12.2018 * 2018.12.05-1.6 NO /
//------------------------------------------------------------------/
// XML-Array - Root /
//------------------------------------------------------------------/
dcl-ds PDMRequest qualified;
TIMESTAMP char(30);
REQUESTID char(40);
MessageAffiliation char(40);
TriggerAction char(30);
ParentObjectType char(30);
ParentID char(30);
UserName char(20);
xmlns char(60);
OBJECTS Likeds(obj_t);
end-ds;
dcl-ds obj_t qualified template;
PART likeds(pa_t);
end-ds;
dcl-ds pa_t qualified template;
KEYS likeds(ke_t);
DATA likeds(Dta_T);
end-ds;
dcl-ds Ke_t qualified template;
PROFILEKEYS likeds(pfk_t);
FOREIGNKEYS likeds(fnk_t);
end-ds;
dcl-ds Dta_t qualified template;
Teile_Nr likeds(dt_t) ;
hgna likeds(hgna_t);
Ersteller likeds(dt_t) ;
Erstelldatum likeds(dt_t) ;
Workflow_Status likeds(dt_t) ;
Aenderungsdatum likeds(dt_t) ;
Aenderer likeds(dt_t) ;
meeh likeds(dt_t) ;
diart likeds(dt_t) ;
bez1 likeds(dt_t) ;
bez2 likeds(dt_t) ;
bez3 likeds(dt_t) ;
herna likeds(dt_t) ;
hernr likeds(dt_t) ;
cnnr likeds(dt_t) ;
ulfilenr likeds(dt_t) ;
csanr likeds(dt_t) ;
arstk_ likeds(dt_t) ;
arart_ likeds(dt_t) ;
herty likeds(dt_t) ;
csanorm likeds(dt_t) ;
Bemerkung likeds(dt_t) ;
Spezifikation likeds(dt_t) ;
end-ds;
//------------------------------------------------------------------//
// Template Data //
//------------------------------------------------------------------//
dcl-ds Dt_t template qualified;
FIELDNAME char(8);
data varchar(10);
end-ds;
//------------------------------------------------------------------//
// Element hgna //
//------------------------------------------------------------------//
dcl-ds hgna_t template qualified;
FIELDNAME varchar(30);
KEYGROUP likeds(Kg_t);
end-ds;
//------------------------------------------------------------------//
// Element Keygroup no template //
//------------------------------------------------------------------//
dcl-ds Kg_t template qualified;
GROUPNAME char(30);
Nu_Keycharacteristic uns(10);
KEYCHARACTERISTIC likeds(Kc_t) dim(6);
end-ds;
//------------------------------------------------------------------//
// Element Keycharacteristic //
//------------------------------------------------------------------//
dcl-ds Kc_t template qualified;
NAME char(10);
DATA varchar(15);
end-ds;
//------------------------------------------------------------------//
// Template Profilekeys //
//------------------------------------------------------------------//
dcl-ds Pfk_t template qualified;
Teile_Nr likeds(dt_t) ;
end-ds;
//------------------------------------------------------------------//
// Template Foreignkeys //
//------------------------------------------------------------------//
dcl-ds Fnk_t template qualified;
arart_ likeds(dt_t) ;
end-ds;
//------------------------------------------------------------------//
// Feldbeschreibungen //
//------------------------------------------------------------------//
dcl-s LocOpt varchar(256); // XML-Options
dcl-s LocFile varchar(128); // File
dcl-s attchpath char(80);
dcl-s FileName char(120);
dcl-s i packed(5:0);
dcl-s ii Like(i);
dcl-s x Like(i);
dcl-s nbrrec Like(i);
c *Entry Plist
c Parm attchpath
c Parm filename
//------------------------------------------------------------------//
// Processing //
//------------------------------------------------------------------//
filename='Part_w_SML_Export_PF_5_AS400.xml' ;
P4FILN=filename ;
chain P4FILN ArtstaL05;
Eval p4andat=%TimeStamp ;
LocFile = '/home/NOWAK/VORW/Part_w_SML_Export_PF_5_AS400.xml'; //FILE
LocOpt = 'doc=File case=convert allowextra=yes allowmissing=yes +
countprefix=Nu_ datasubf=data';
xml-into(E) PDMRequest %xml(LocFile:LocOpt);
nbrrec=1 ;
for i=1 to nbrrec ;
Write artstap ;
endfor;
*inlr = *on;
//------------------------------------------------------------------//
und der Debug:PHP-Code:<?xml version="1.0" encoding="utf-8"?>
<PDMRequest TIMESTAMP="2018-07-02T06:02:42.0900050Z" REQUESTID="ade0e849-4b36-4cd5-b849-56e5e52678fe" MessageAffiliation="6b94eae7-383b-475b-8c82-a2ce807437d6" TriggerAction="objectsend" ParentObjectType="" ParentID="" UserName="procad" xmlns="http://support.procad.de/schema/general/v2000-1000">
<OBJECTS>
<PART>
<KEYS>
<PROFILEKEYS>
<Teile-Nr. FIELDNAME="NFT_IDNR">20411</Teile-Nr.>
</PROFILEKEYS>
<FOREIGNKEYS>
<arart_ FIELDNAME="NFT_STL9">2002523</arart_>
</FOREIGNKEYS>
</KEYS>
<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>
</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>
</PART>
</OBJECTS>
</PDMRequest>
vielleicht findet einer von Euch den Fehler.PHP-Code:EVAL PDMRequest
PDMREQUEST.TIMESTAMP = '2018-07-02T06:02:42.0900050Z '
PDMREQUEST.REQUESTID = 'ade0e849-4b36-4cd5-b849-56e5e52678fe '
PDMREQUEST.MESSAGEAFFILIATION = '6b94eae7-383b-475b-8c82-a2ce807437d6 '
PDMREQUEST.TRIGGERACTION = 'objectsend '
PDMREQUEST.PARENTOBJECTTYPE = ' '
PDMREQUEST.PARENTID = ' '
PDMREQUEST.USERNAME = 'procat '
PDMREQUEST.XMLNS =
'http://support.procad.de/schema/general/v2000-1000 '
PDMREQUEST.OBJECTS.PART.KEYS.PROFILEKEYS.TEILE_NR.FIELDNAME = 'NFT_IDNR'
PDMREQUEST.OBJECTS.PART.KEYS.PROFILEKEYS.TEILE_NR.DATA = '20411 '
PDMREQUEST.OBJECTS.PART.KEYS.FOREIGNKEYS.ARART_.FIELDNAME = ' '
PDMREQUEST.OBJECTS.PART.KEYS.FOREIGNKEYS.ARART_.DATA = '2002523 '
PDMREQUEST.OBJECTS.PART.DATA.TEILE_NR.FIELDNAME = 'NFT_IDNR'
PDMREQUEST.OBJECTS.PART.DATA.TEILE_NR.DATA = '20411 '
PDMREQUEST.OBJECTS.PART.DATA.HGNA.FIELDNAME =
'NFT_NAM1 '
PDMREQUEST.OBJECTS.PART.DATA.HGNA.KEYGROUP.GROUPNAME =
'Blechschraube '
PDMREQUEST.OBJECTS.PART.DATA.HGNA.KEYGROUP.NU_KEYCHARACTERISTIC = 1077952576
PDMREQUEST.OBJECTS.PART.DATA.HGNA.KEYGROUP.KEYCHARACTERISTIC.NAME(1) =
'ugna '
PDMREQUEST.OBJECTS.PART.DATA.HGNA.KEYGROUP.KEYCHARACTERISTIC.DATA(1) =
'Blechschraube '
PDMREQUEST.OBJECTS.PART.DATA.HGNA.KEYGROUP.KEYCHARACTERISTIC.NAME(2) =
'ugna_056 '
PDMREQUEST.OBJECTS.PART.DATA.HGNA.KEYGROUP.KEYCHARACTERISTIC.DATA(2) =
'4,8 '
PDMREQUEST.OBJECTS.PART.DATA.HGNA.KEYGROUP.KEYCHARACTERISTIC.NAME(3) =
'ugna_107 '
PDMREQUEST.OBJECTS.PART.DATA.HGNA.KEYGROUP.KEYCHARACTERISTIC.DATA(3) =
' '
PDMREQUEST.OBJECTS.PART.DATA.HGNA.KEYGROUP.KEYCHARACTERISTIC.NAME(4) =
' '
PDMREQUEST.OBJECTS.PART.DATA.HGNA.KEYGROUP.KEYCHARACTERISTIC.DATA(4) =
' '
PDMREQUEST.OBJECTS.PART.DATA.HGNA.KEYGROUP.KEYCHARACTERISTIC.NAME(5) =
' '
PDMREQUEST.OBJECTS.PART.DATA.HGNA.KEYGROUP.KEYCHARACTERISTIC.DATA(5) =
' '
PDMREQUEST.OBJECTS.PART.DATA.HGNA.KEYGROUP.KEYCHARACTERISTIC.NAME(6) =
' '
PDMREQUEST.OBJECTS.PART.DATA.HGNA.KEYGROUP.KEYCHARACTERISTIC.DATA(6) =
' '
PDMREQUEST.OBJECTS.PART.DATA.ERSTELLER.FIELDNAME = ' '
PDMREQUEST.OBJECTS.PART.DATA.ERSTELLER.DATA = ' '
PDMREQUEST.OBJECTS.PART.DATA.ERSTELLDATUM.FIELDNAME = ' '
PDMREQUEST.OBJECTS.PART.DATA.ERSTELLDATUM.DATA = ' '
PDMREQUEST.OBJECTS.PART.DATA.WORKFLOW_STATUS.FIELDNAME = ' '
PDMREQUEST.OBJECTS.PART.DATA.WORKFLOW_STATUS.DATA = ' '
PDMREQUEST.OBJECTS.PART.DATA.AENDERUNGSDATUM.FIELDNAME = ' '
PDMREQUEST.OBJECTS.PART.DATA.AENDERUNGSDATUM.DATA = ' '
PDMREQUEST.OBJECTS.PART.DATA.AENDERER.FIELDNAME = ' '
PDMREQUEST.OBJECTS.PART.DATA.AENDERER.DATA = ' '
LG
Hans-Joachim
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks