Zusammenfassung
Verschiedene Strategien für verschiedene Umgebungen
- Die folgenden Aktionen teilen dieselbe Strategie bezüglich des Wiederholungshandlings: Von der Quelle zuordnen, Neue untergeordnete Zuordnung erstellen, Untergeordnete Zuordnung aufrufen, ESQL-Routine aufrufen.
- Die Akkumulierungsaktion handhabt Wiederholungen auf ihre Weise.
- Die Aktion 'Ausdruck eingeben' ist von der Wiederholgenauigkeit unabhängig.
Handhabung der Wiederholung für Eins-zu-eins-Zuordnung in den Aktionen 'Von der Quelle zuordnen', 'Neue untergeordnete Zuordnung erstellen', 'Untergeordnete Zuordnung aufrufen', 'ESQL-Routine aufrufen'
- Beim Festlegen der Wiederholgenauigkeit bildet ein Element (oder Attribut) zusammen mit einem oder mehreren 'xsd sequence/choice/all/group'-Elementen, die es enthalten (oder einem 'sequence/choice/all/group'-Containerelement) eine Ebene.
- Eine Zuordnung wird in drei Schritten erstellt: erweitern, MapFrom-Ausdruck festlegen, ForEach/If/Condition hinzufügen. Anschließend folgt ein ausführlicher Algorithmus für den letzten Schritt: ForEach einsetzen usw.
- Gehen Sie, ausgehend von der ausgewählten Quelle und dem ausgewählten Ziel, umgekehrt vor, und ordnen Sie eine Wiederholungsquellebene einer Wiederholungszielebene zu.
- Für jede zugeordnete Wiederholungsebene im Quell- und Zielbereich gilt:
- Wenn diese Zielebene keine sich wiederholenden 'sequence/choice/all/group'-Elemente besitzt, erstellen Sie eine ForEach-Anweisung, die die Ebene der Zielstruktur enthält.
- Der Ausdruck ForEach ist der zuordenbare Verweis auf die Ebene der Wiederholungsquelle.
- Wenn diese Zielebene in einem sich wiederholenden 'sequence/choice/all/group'-Element enthalten ist, erstellen Sie eine ForEach-Anweisung, die alle Strukturen im 'sequence/choice/all/group'-Element enthält.
- Der ForEach-Ausdruck ist der zuordenbare Verweis auf die Ebene der Wiederholungsquelle.
- Erstellen Sie nicht noch einen Ausdruck, wenn bereits ein ForEach-Ausdruck mit einem zu erwartenden Ausdruck vorhanden ist, der die zu erwartenden 'sequence/choice/all/group'-Mitglieder enthält.
- Wenn bereits ein ForEach-Ausdruck mit einem anderen Ausdruck vorhanden ist, er jedoch die zu erwartenden sequence/choice/all/group-Mitglieder enthält, erstellen Sie den erforderlichen ForEach-Ausdruck als untergeordnetes Element des bestehenden ForEach-Ausdrucks. Der innere ForEach-Ausdruck enthält einen If-Condition-Block, der den gesamten Inhalt des 'sequence/choice/all/group'-Elements enthält.
- Der Ausdruck für die obige Bedingung besteht darin, dass das Vorkommen des Ausdrucks im äußeren ForEach-Ausdruck
gleich dem Vorkommen des Ausdrucks im inneren ForEach-Ausdruck ist.
- Ignorieren Sie Zielwiederholungsebenen ohne Entsprechung.
- Für jede Quellwiederholungsebene ohne Entsprechung gilt:
- Erstellen Sie eine ForEach-Anweisung, die eine If-Anweisung enthält. Diese wiederum enthält eine Condition-Anweisung, die die Ebene der Zielstruktur enthält.
- Der ForEach-Ausdruck ist der zuordenbare Verweis auf die Ebene der Wiederholungsquelle.
- Wenn bereits ein ForEach-Ausdruck für die Ebene der Wiederholungsquelle vorhanden ist, erstellen Sie nicht noch einen Ausdruck.
- Der Ausdruck für die Bedingung lautet Vorkommen(diese_Ebene_der_Wiederholungsquelle)=1.
- Wenn bereits eine Bedingung für das erste Vorkommen der Ebene der Wiederholungsquelle vorhanden ist, erstellen Sie nicht noch eine Bedingung.
- Wenn bereits ein Qualify, jedoch keine zu erwartende Bedingung vorhanden ist, erstellen Sie eine andere Bedingung im Qualify.
- Zielanweisungen der relationalen Datenbank müssen sich innerhalb der ForEach-Elemente befinden.
- Wenn eine einzelne Quelle verschachtelte Wiederholungsebenen beinhaltet, wird der ForEach-Ausdruck für jede Ebene verschachtelt.
- Ergebnisgruppe für relationale Datenbankquellauswahl ist vom Konzept her eine Wiederholung.
Jedoch erfordert eine Zuordnung von einer Datenbankquelle möglicherweise, dass das Einsatzspektrum der Auswahlanweisung erweitert wird. Der Einfachheit halber fügt das Tool keinen ForEach-Ausdruck als Ergebnis einer Zuordnung von einer Datenbankquelle ein.
- Wenn eine Auswahlanweisung in das Anweisungsmodell eingefügt wird, erstellt das Zuordnungstool immer eine Auswahlanweisung, in der ein ForEach-Ausdruck enthalten ist, mit dem eine Schleife erstellt wird, die durch die jeweilige Ergebnisgruppe läuft.
Handhaben der Wiederholung für eine 1:n-Zuordnung in der Aktion 'Von der Quelle zuordnen'
- Verwenden Sie die Eins-zu-Eins-Strategie mehrmals, d. h. einmal pro Ziel.
- Versuchen Sie nicht, eine Optimierung unter den vielen Zuordnungen zu erreichen.
Handhaben der Wiederholung für n:1-Zuordnung in den Aktionen 'Von der Quelle zuordnen', 'Neue untergeordnete Zuordnung erstellen', 'Untergeordnete Zuordnung aufrufen', 'ESQL-Routine aufrufen'
- Verwenden Sie die Eins-zu-Eins-Strategie zwischen einzelner Quelle und Ziel.
- Verschachteln Sie für jede Quellwiederholungsebene die ForEach-Elemente, die von jeder Quelle aufgerufen werden.
Qualifizierung durch Instanz, sodass verschachtelte ForEach-Elemente die Instanz nur im selben Index berücksichtigen.