1

我试图找出如何在一个行集中填充两个单独的记录以发布到集成代理。我分别填充两个行集(RS1 用于记录名称的级别 1,RS 用于人员的级别 0 记录)

&RS1 = CreateRowset(Record.NAMES); 
&RS1.Fill("Where emplid=:1 and name_type=:2", &emplid, &nameType); 

&RS = CreateRowset(Record.PERSON, &RS1); 
&RS.Fill("Where emplid=:1", &emplid);

我也尝试在上面的代码之后使用它,并且 NAMES 记录没有显示在行集中

&RS1.CopyTo(&RS, Record.NAMES, Record.PERSON);

问题是,当我在运行后查看 &RS 时,&RS 中的名称记录不包含来自 &RS1 的任何名称信息,但填充了人员记录。任何人都可以帮助我如何在 &RS 中获取此名称记录并填充来自 &RS1 的数据吗?

4

1 回答 1

1

您的代码的问题是 &RS1 实际上只是用于确定 &RS 的结构。实际实例化的行集不是 &RS 的一部分。在下面的代码中,请注意我在哪里获取特定行的 NAMES 行集并将其分配给 &RS1,然后填充它。

Local Rowset &RS, &RS1;

&RS1 = CreateRowset(Record.NAMES);
&RS = CreateRowset(Record.PERSON, &RS1);

&RS.Fill("Where emplid=:1", &emplid);
&RS1 = &RS(1).GetRowset(Scroll.NAMES);
&RS1.Fill("Where emplid=:1 and name_type=:2", &emplid, &nameType);
于 2014-10-10T22:56:24.330 回答