Project

General

Profile

Bug #5801

write-xml is not using XML-NODE-NAME for the temp-table

Added by Constantin Asofiei over 2 years ago. Updated over 2 years ago.

Status:
Feedback
Priority:
Normal
Target version:
-
Start date:
Due date:
% Done:

100%

billable:
No
vendor_id:
GCD
case_num:

Related issues

Related to Base Language - Feature #3310: add support for the equivalent of the OpenEdge Web Services Adapter (and ProxyGen) and PASOE SOAP transport Closed

History

#1 Updated by Constantin Asofiei over 2 years ago

  • Subject changed from write-xml is not using XML-NODE-NAME to write-xml is not using XML-NODE-NAME for the temp-table

This test:

@openapi.openedge.export FILE(type="REST", executionMode="external", useReturnValue="false", writeDataSetBeforeImage="false").
block-level on error undo, throw.
DEFINE TEMP-TABLE ttOrder NO-UNDO
    FIELD orderNum  AS INTEGER
    FIELD orderDate AS DATE
    INDEX pk IS PRIMARY UNIQUE orderNum DESCENDING
    INDEX idxDate              orderDate DESCENDING.

DEFINE TEMP-TABLE ttLine NO-UNDO serialize-name 'OrderLine'
    FIELD orderNum AS INTEGER
    FIELD lineNum  AS INTEGER
    FIELD itemNum  AS INTEGER
    FIELD qty      AS INTEGER SERIALIZE-NAME 'Quantity'
    INDEX pk IS PRIMARY UNIQUE orderNum lineNum.

DEFINE DATASET dsOrder serialize-name 'Orders'
    FOR ttOrder, ttLine
    DATA-RELATION lines FOR ttOrder, ttLine NESTED RELATION-FIELDS (orderNum, orderNum). 

define var numLines        as integer     no-undo init 1.

create ttOrder.
assign 
    ttOrder.orderNum  = 100 * numLines
    ttOrder.orderDate = today.

define variable counter as integer no-undo init 1.

repeat while counter <= numLines:
    create ttLine.
    assign 
        ttLine.orderNum = ttOrder.orderNum
        ttLine.lineNum  = counter
        ttLine.itemNum  = random (10000, 50000)
        ttLine.qty      = random (1, 100).

    counter = counter + 1.
end.

dataset dsorder:write-xml("file", "dso.xml", true).

must produce this xml:
<?xml version="1.0"?>
<Orders xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ttOrder>
    <orderNum>100</orderNum>
    <orderDate>2021-11-02</orderDate>
    <OrderLine>
      <orderNum>100</orderNum>
      <lineNum>1</lineNum>
      <itemNum>16967</itemNum>
      <Quantity>70</Quantity>
    </OrderLine>
  </ttOrder>
</Orders>

while FWD produces this:
         <Orders>
            <ttOrder>
               <orderNum>100</orderNum>
               <orderDate>2021-11-02</orderDate>
               <ttLine>
                  <orderNum>100</orderNum>
                  <lineNum>1</lineNum>
                  <itemNum>22422</itemNum>
                  <Quantity>37</Quantity>
               </ttLine>
            </ttOrder>
         </Orders>

#2 Updated by Constantin Asofiei over 2 years ago

  • Related to Feature #3310: add support for the equivalent of the OpenEdge Web Services Adapter (and ProxyGen) and PASOE SOAP transport added

#3 Updated by Ovidiu Maxiniuc over 2 years ago

  • % Done changed from 0 to 100
  • Start date deleted (11/02/2021)
  • Assignee set to Ovidiu Maxiniuc
  • Status changed from New to Feedback

The issue was fixed and revision in 13126.

Also available in: Atom PDF