Hello Team,
Somehow temp table "ttCustomer" is not getting populated while values for flag "lReturn" is coming true. Kindly suggest what I am doing incorrect. There can be multiple "<CallOFF>" tags under one "<PurchaseRequisition>" tag.
PFB the progress code and XML file:
Thank You.
Somehow temp table "ttCustomer" is not getting populated while values for flag "lReturn" is coming true. Kindly suggest what I am doing incorrect. There can be multiple "<CallOFF>" tags under one "<PurchaseRequisition>" tag.
PFB the progress code and XML file:
Thank You.
Code:
DEFINE VARIABLE hPDS AS HANDLE NO-UNDO.
DEFINE VARIABLE lReturn AS LOGICAL NO-UNDO.
DEFINE VARIABLE cSourceType AS CHARACTER NO-UNDO.
DEFINE VARIABLE cReadMode AS CHARACTER NO-UNDO.
DEFINE VARIABLE lOverrideDefaultMapping AS LOGICAL NO-UNDO.
DEFINE VARIABLE cFile AS CHARACTER NO-UNDO.
DEFINE VARIABLE cSchemaLocation AS CHARACTER NO-UNDO.
DEFINE TEMP-TABLE ttCustomer NO-UNDO
FIELD ttOrdM AS CHARACTER
FIELD ttOrdNum AS CHARACTER.
DEFINE TEMP-TABLE ttOrder NO-UNDO
FIELD ttOrdNum AS CHARACTER
FIELD ttQty AS CHARACTER
FIELD ttName AS CHARACTER.
DEFINE DATASET PurchaseRequisitions FOR ttCustomer, ttOrder
DATA-RELATION custOrd FOR ttCustomer, ttOrder
RELATION-FIELDS(ttOrdNum, ttOrdNum) NESTED.
hPDS = DATASET PurchaseRequisitions:HANDLE.
ASSIGN
cSourceType = "FILE"
cFile = "/qond/apps/itg/work/src/a.XML"
cReadMode = "EMPTY"
cSchemaLocation = ?
lOverrideDefaultMapping = NO.
lReturn = hPDS:READ-XML (cSourceType, cFile, cReadMode,
cSchemaLocation, lOverrideDefaultMapping).
IF lReturn THEN DO:
MESSAGE "OK" view-as alert-box.
END.
ELSE
MESSAGE "FAILED" view-as alert-box.
FOR EACH ttCustomer:
message "In ttCust ttOrdM = " ttCustomer.ttOrdM skip
"ttOrdNum = " ttCustomer.ttOrdNum view-as alert-box.
END.
XML:
<?xml version="1.0" encoding="UTF-8"?>
<PurchaseRequisitions>
<PurchaseRequisition>
<ORDER_METHOD>C</ORDER_METHOD>
<ORDER_NUMBER>Ab11</ORDER_NUMBER>
<CallOFF>
<ORDER_NUMBER>Ab11</ORDER_NUMBER>
<qty>1</qty>
<name>RG</name>
</CallOFF>
<CallOFF>
<ORDER_NUMBER>Ab11</ORDER_NUMBER>
<qty>2</qty>
<name>RG2</name>
</CallOFF>
</PurchaseRequisition>
</PurchaseRequisitions>