【发布时间】:2018-04-13 12:06:38
【问题描述】:
我想创建一个数据集,其中包含几个由 xml 文件填充的临时表。
DEF TEMP-TABLE ttOrder NO-UNDO
FIELD iOrderNo AS INT
FIELD iOrderDate AS DATE
INDEX ix RECID. // This also won't work, but this is needed to use the `OF` statement when retrieving records.
DEF TEMP-TABLE ttOrderLine NO-UNDO
FIELD iParent AS RECID
FIELD iArticleNo AS INT
FIELD dPrice AS DECIMAL.
DEF DATASET dsOrder FOR ttOrder, ttOrderLine
DATA-RELATION Order_OrderLine FOR ttOrder, ttOrderLine
RELATION-FIELDS ttOrder.RECID, ttOrderLine.iParent. // This is what won't work, but what I would like to do.
通常我会在ttOrderLine 中创建一个iOrderNo 字段并在数据集RELATION-FIELDS 属性中匹配该字段。由于数据是从 XML 文件加载的,因此这将很困难。
最终目标不是这样:
FIND FIRST ttOrder.
FOR EACH ttOrderLine WHERE ttOrderLine.iParent = RECID(ttOrder):
// Do something
END.
我想这样做:
FIND FIRST ttOrder.
FOR EACH ttOrderLine of ttOrder:
// Do something
END.
我现在使用最后一种方法时得到的错误是Index field of table1 must be fields in table2。
有人可以告诉我如何完成这项工作吗?
【问题讨论】:
标签: dataset temp-tables openedge progress-4gl