79516680

Date: 2025-03-18 07:51:53
Score: 2.5
Natty:
Report link

Is there a way to get the fields from the top level ?
In the case above, I need the ReceiverInfo's version into a field in a "ReceiverInfo" temp-table.
However, there never seems to be a record for the "main level"

This does not work :

DEFINE TEMP-TABLE ReceiverInfo   NO-UNDO
    FIELD id                    AS CHARACTER XML-NODE-TYPE "hidden"
    FIELD informatie            AS CHARACTER XML-NODE-TYPE "Text"
    FIELD attribuut             AS CHARACTER XML-NODE-TYPE "Attribute".

DEFINE TEMP-TABLE MessageDetails NO-UNDO
    FIELD parent-id AS CHARACTER XML-NODE-TYPE "hidden"
    FIELD id        AS INTEGER.

DEFINE TEMP-TABLE MessageTypeCode NO-UNDO
    FIELD Axmlns                AS CHARACTER XML-NODE-TYPE "Attribute"
    FIELD ElementValue          AS CHARACTER XML-NODE-TYPE "Text"
    FIELD MessageDetails_id     AS INTEGER   XML-NODE-TYPE "Hidden".

DEFINE DATASET dsReceiverInfo
     FOR ReceiverInfo, MessageDetails , MessageTypeCode
     /*DATA-RELATION relReceiver FOR receiverinfo, MessageDetails
        RELATION-FIELDS (id, parent-id) NESTED*/
     DATA-RELATION relMessageDetails FOR MessageDetails, MessageTypeCode
        RELATION-FIELDS (id, messagedetails_id) NESTED.

DATASET dsReceiverInfo:READ-XML("file", "C:\MichaelD\InAc\BH\src\testje.xml", "empty", ?, FALSE, ?, "IGNORE") NO-ERROR.

FOR EACH receiverinfo:
    DISPLAY receiverinfo WITH FRAME f1.
END.
FOR EACH MessageDetails, 
    EACH MessageTypeCode WHERE messagedetails.id = messagetypecode.messagedetails_id:
    DISP MessageTypeCode.ElementValue FORMAT "X(30)"
         MessageTypeCode.Axmlns      
         MessageTypeCode.MessageDetails_id
         MessageDetails.ID
        WITH FRAME f2 DOWN.
END.
Reasons:
  • Blacklisted phrase (0.5): I need
  • Blacklisted phrase (1): Is there a way
  • Long answer (-1):
  • Has code block (-0.5):
  • Contains question mark (0.5):
  • Unregistered user (0.5):
  • Starts with a question (0.5): Is there a
  • Low reputation (1):
Posted by: Michael D