2014-09-15 3 views
1

J'essaie de savoir comment remplir deux enregistrements distincts dans un ensemble de lignes à publier dans Integration Broker. Je remplissais les deux ensembles de lignes séparement (RS1 pour le niveau 1 des noms de disques et RS pour le niveau 0 enregistrement de la personne)Remplissage de 2 enregistrements à l'intérieur d'un ensemble de lignes

&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); 

J'ai aussi essayé d'utiliser ce après le code ci-dessus et l'enregistrement NOMS na pas apparais dans l'ensemble de lignes

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

le problème est que quand je regarde & RS après cela va, les noms record en & RS ne contient aucune des informations de nom de & RS1, mais le dossier de la personne est peuplée. Quelqu'un peut-il m'aider sur la façon d'obtenir ce nom en & RS rempli avec les données de & RS1?

Répondre

1

Le problème avec votre code est que & RS1 est vraiment juste utilisé pour déterminer la structure de & RS. L'ensemble de lignes instancié réel ne fait pas partie de & RS. Dans le code ci-dessous noter où j'obtiens l'ensemble de lignes NAMES pour une ligne spécifique et l'assigner à & RS1, alors je le remplis.

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); 
Questions connexes