我想创建一个包含几个由xml文件填充的临时表的数据集。
DEF TEMP-TABLE ttOrder NO-UNDO FIELD iOrderNo AS INT FIELD iOrderDate AS DATE INDEX ix …
为了 OF 要使用的语法,您需要将父ID存储在子表的唯一索引中。
OF
此语法不需要数据集,但如果您确实还需要使用recid的数据集,则应查看 PARENT-ID-RELATION 代替 RELATIONS-FIELDS 。
PARENT-ID-RELATION
RELATIONS-FIELDS
首先看看这个:
DEFINE TEMP-TABLE ttOrder NO-UNDO FIELD iOrderNo AS INTEGER FIELD iOrderDate AS DATE FIELD iParent AS RECID. DEFINE TEMP-TABLE ttOrderLine NO-UNDO FIELD iParent AS RECID FIELD iArticleNo AS INTEGER FIELD dPrice AS DECIMAL INDEX ix IS UNIQUE iParent. DEFINE DATASET dsOrder FOR ttOrder, ttOrderLine PARENT-ID-RELATION Order_OrderLine FOR ttOrder, ttOrderLine PARENT-ID-FIELD iParent. FOR EACH ttOrder, EACH ttOrderLine OF ttOrder: DISPLAY ttOrder. DISPLAY ttOrderLine. END.
Temp-Table记录只要temp-table按值传递(而不是按引用)并在客户端和AppServer之间传递,RECID就会改变。
通常在其他表中使用RECID作为键是一种非常危险的情况。
因此,如果在Orderline表中具有Order RECID的数据集填充在AppServer上并在客户端上处理,那么您的方案无论如何都会中断。