Заполнение 2 записей внутри набора строк

Я пытаюсь выяснить, как заполнить две отдельные записи в одном наборе строк для публикации в брокере интеграции. Я заполняю оба набора строк отдельно (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 после этого, запись Names в &RS не содержит никакой информации об именах из &RS1, но запись о человеке заполняется. Может ли кто-нибудь помочь мне в том, как получить эту запись имени в & RS, заполненную данными из & RS1?


person Shawn    schedule 15.09.2014    source источник


Ответы (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);
person Darryls99    schedule 10.10.2014