- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-22-2024 11:23 AM - edited 02-23-2024 05:54 AM
my data stream action is setup with Rest as a request, No pagination, for the splitter step the source Format is set to "XML" and Item Path is set to "/DME/RECORDS/RECORD"
I am Unable to get the values from Parser in Script Step to the outputs of the Data Stream action., I tried different my output is always empty. when logging the same field i see data in the log.
Please help!!!
This is the code i have for the script Parser:
(function parse(inputs, outputs) {
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(inputs.sourceItem);
var root = xmlDoc.getDocumentElement();
var rootNode = xmlDoc.getDocumentElement();
// gs.info("vendor_group:--"+xmlDoc.getNodeText('//COL'));
// gs.info("vendor_id:--"+xmlDoc.getNodeText('//COL[1]'));
// gs.info("vendor_class:--"+xmlDoc.getNodeText('//COL[2]'));
//gs.info(rootNode.getTextContent());
if (root.getNodeName() != '//RECORDS') {
outputs.state = 'SKIP';
return;
}
outputs.targetObject.vendor_group = xmlDoc.getNodeText('//COL');
outputs.targetObject.vendor_class = xmlDoc.getNodeText('//COL[2]');
outputs.targetObject.vendor_id = xmlDoc.getNodeText('//COL[1]');
})(inputs, outputs);
the response from the rest API is here:
<?xml version="1.0" encoding="ISO-8859-1"?><DME>
<BASE>
<DMEBASE executable="/servlet/Router/Data/Erp">
<![CDATA[PROD=TEST&FIELD=VENDOR-GROUP%3BVEN-CLASS%3BVENDOR&XIDA=false&XKEYS=false&XNEXT=false&XCOUNT=false&FILE=APVENMAST&XRELS=false&XCOLS=true&Key=d686c99f84552225417afbf2b7bdc944&OUT=XML]]></DMEBASE>
</BASE>
<KEYS>
<KEY name="Vendor-group" type="ALPHA" size="4" />
<KEY name="Vendor" type="ALPHARIGHT" size="9" />
</KEYS>
<COLUMNS>
<COLUMN header="Vendor_Group" dspname="Vendor Group" dbname="VENDOR-GROUP" type="ALPHA" size="4" />
<COLUMN header="Ven_Class" dspname="Vendor Class" dbname="VEN-CLASS" type="ALPHA" size="3" />
<COLUMN header="Vendor" dspname="Vendor" dbname="VENDOR" type="ALPHARIGHT" size="9" />
</COLUMNS>
<RECORDS count="25">
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10001]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10002]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10003]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10006]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10011]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[INV]]>
</COL>
<COL>
<![CDATA[ 10012]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10014]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[INV]]>
</COL>
<COL>
<![CDATA[ 10015]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10016]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10017]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10018]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10020]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[INV]]>
</COL>
<COL>
<![CDATA[ 10021]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10022]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10027]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10029]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10030]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10035]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10036]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10037]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10038]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[INV]]>
</COL>
<COL>
<![CDATA[ 10039]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10040]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10041]]>
</COL>
</COLS>
</RECORD>
<RECORD>
<COLS>
<COL>
<![CDATA[1000]]>
</COL>
<COL>
<![CDATA[STD]]>
</COL>
<COL>
<![CDATA[ 10042]]>
</COL>
</COLS>
</RECORD>
</RECORDS>
<RELOAD>
<![CDATA[BEGIN=1000=++++10001&]]>
</RELOAD>
<NEXTCALL>
<![CDATA[BEGIN=1000=++++10043&]]>
</NEXTCALL>
</DME>
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-26-2024 06:15 AM
I found the issue here the new updated script parser:
(function parse(inputs, outputs) {
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(inputs.sourceItem);
var root = xmlDoc.getDocumentElement();
if (root.getNodeName() != 'RECORD') {
outputs.state = 'SKIP';
return;
}
outputs.targetObject.vendor_vname = xmlDoc.getNodeText('//COL');
outputs.targetObject.vendor = xmlDoc.getNodeText('//COL[2]');
outputs.targetObject.vendor_class = xmlDoc.getNodeText('//COL[3]');
})(inputs, outputs);
I needed to check name not a path in
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-26-2024 06:15 AM
I found the issue here the new updated script parser:
(function parse(inputs, outputs) {
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(inputs.sourceItem);
var root = xmlDoc.getDocumentElement();
if (root.getNodeName() != 'RECORD') {
outputs.state = 'SKIP';
return;
}
outputs.targetObject.vendor_vname = xmlDoc.getNodeText('//COL');
outputs.targetObject.vendor = xmlDoc.getNodeText('//COL[2]');
outputs.targetObject.vendor_class = xmlDoc.getNodeText('//COL[3]');
})(inputs, outputs);
I needed to check name not a path in