|
Zurück zu |
Ebenfalls in diesem Abschnitt |
Viele SAP-Transaktionen erfordern, dass mehrere Zeilen mit Daten zur selben Zeit verarbeitet werden. Beispiele für diese Transaktionen sind FB50, F-65, ME21, VA01, CS01, CA01, FB70 und andere. Bei vielen dieser Transaktionen unterteilt SAP die Daten in einen Kopfabschnitt und einen oder mehrere Positions- oder Detailabschnitte. Der Kopf enthält normalerweise Daten, die für die gesamte Transaktion konstant bleiben, wie zum Beispiel ein Datum. Jede Position enthält wiederkehrende Daten, die in einen tabellenartigen Bereich der SAP-Transaktion eingegeben werden, wie zum Beispiel Journaleintragspositionen.
TRANSACTION verarbeitet komplexe mehrzeilige Transaktionen unter Verwendung der Do...While-Schleifenfunktion. Mithilfe von Do...While-Schleifen können Sie einer Transaktion mehrere Zeilen zuordnen. Dabei werden die Datensätze im Excel-Arbeitsblatt oder in der Access-Datenbank als Kopf- oder als Positionsabschnitte definiert.
In diesem Beispiel sind die Daten eines Datensatzes auf mehrere Zeilen aufgeteilt. Für mehrzeilige Transaktionen, ist die erste ID-Spalte von Excel im Standard für die Excel-Spalten-ID reserviert. Die erste ID-Spalte speichert den Zeilentyp, der im Standard entweder H (Header) für Kopf- oder D für Detail-/Positionszeilen lautet. Beim Ausführen der Transaktion lädt TRANSACTION alle Daten vom Zeilentyp H in den Kopfabschnitt der SAP-Transaktion und alle Daten vom Zeilentyp D in die im Mapper angegebenen Positionen hoch.
HINWEIS: Es empfiehlt sich unbedingt, folgende Bedingungen zu berücksichtigen, wenn Sie mit TRANSACTION Daten mit mehreren Schleifen hochladen.
Wir empfehlen Ihnen, während der Aufzeichnung mehr als eine Position in die Transaktion einzugeben, damit ein sichtbares Wiederholungsmuster im Mapper entsteht. Das nachfolgende Beispiel enthält mehrere Journaleintrags-Positionen.
Wenn Sie die Detailspalte einer geschachtelten Schleife zuordnen, dann erscheinen die Details automatisch in der zweiten und dritten Zeile der Vorschau. Diese Funktionsweise gilt auch dann, wenn Sie das Automapping oder die Funktion „Lesen aus SAP“ verwenden.
Wenn Sie geschachtelte Schleifen hochladen, muss das Layout Ihrer Excel-Arbeitsmappe einem bestimmten Format entsprechen. Der Kopf und die entsprechenden Positionen dürfen in derselben Spalte sein. Jede Schleife kann einen Kopf haben.
H - Kopfzeile
D - mehrere Positionen für Schleife 1
D
D
D1- mehrere Positionen für Schleife 2
D1
D1
D2- mehrere Positionen für Schleife 3
D2
D2
A |
B |
C |
Einfache parallele Schleifen
Das Layout des Mappers
Das entsprechende Layout der Excel-Arbeitsmappe
Das Layout des Mappers
Das entsprechende Layout der Excel-Arbeitsmappe
In einfacheren Skripten können Sie leicht erkennen, wo sich Schleifen befinden. Wählen Sie in der Registerkarte „Grundlagen“ eine Zeile aus und klicken Sie auf die Leiste „Erweiterte Optionen“.
Das Kontrollkästchen Schleifenspalte kennzeichnet die zugeordneten Zeilen in der Schleife, die Daten aus Datensätzen enthalten, die als Positionen (Details) identifiziert wurden. Anhand dieser Einstellung wird TRANSACTION angewiesen, Daten aus den in der Do...While-Schleife enthaltenen Positionen (Details) zu holen.
HINWEIS: Das Kontrollkästchen Schleifenspalte muss für mindestens eines der Felder aktiviert sein. Andernfalls wird vom TRANSACTION-Skript ein Syntaxfehler generiert.
Sie können Zeilen kopieren oder ausschneiden, die Schleifen und Bedingungen enthalten. Sie müssen alle Teile der Schleife oder Bedingung selektieren, um diese zu bearbeiten. Sie können ein Konstrukt nicht in eine Protokollspalte einfügen.
Um im Falle von mehreren Schleifen in einem Skript eine übersichtlichere Darstellung der Daten zu erzeugen, dürfen die Schleifen auf mehreren Datenblättern liegen. Mehrfachschleifen stehen für Excel-Daten zur Verfügung.
Sie können den Join-Schlüssel einer beliebigen Spalte zuweisen. Beachten Sie daher genau, welche Spalten bereits Daten enthalten.
So ordnen Sie mehrere Schleifen zu
Das übergeordnete Master-Schleifen-Blatt ist im Standard ausgewählt.
Das übergeordnete Master-Schleifen- und Kopfblatt ist im Standard ausgewählt. Wählen Sie das passende Blatt für die Positionen aus. Legen Sie die übereinstimmenden Join-Schlüsselspalten für die Kopf- und die Positionsblätter fest. Ordnen Sie die übrigen Positionen zu.
Wenn ein TXR veröffentlicht wird, dann muss das publizierte Blatt dieselben Blattnamen wie das Skript enthalten.
Die Schleifen werden neu angelegt und das Mapping kann von zellbasiert auf spaltenbasiert geändert werden. Wenn die Zuordnungsart sich ändert, werden die Schleifen ID-abhängig. Zum Beispiel wird B,H,D1 zu B,D1.
Wenn wertebereichsbasierte Schleifen auf spaltenbasiertes Mapping umgestellt werden und anschließend wieder auf zellbasiert, sind alle Schleifen ID-abhängig.
TRANSACTION verarbeitet komplexe mehrzeilige Transaktionen unter Verwendung der Do...While-Schleifenfunktion. Folgende Aspekte zählen zu den grundlegenden Prinzipien, die für die Verwendung von Do...While-Schleifen mit Access als Datenquelle gelten:
Nachfolgend finden Sie ein Beispiel einer Kopf- und einer Positionstabelle.
Beide Tabellen enthalten ein Feld mit der Bezeichnung COMMON_FIELD (siehe unten). COMMON_FIELD kann beliebige Werte enthalten, solange dessen Wert im Kopftabellendatensatz mit den Werten der verknüpften Positionstabellensätze (Details) übereinstimmt. COMMON_FIELD ist einfach nur eine Zahl vom Typ Integer, die in beiden Tabellen übereinstimmt.
Wenn die Positionstabelle erkannt wurde und ein Join definiert wird, steht die Positionstabelle im Mapper für die Zuordnung zur Verfügung. Sie können dann die Positionen (Details) zuordnen, indem Sie das Access-Datenbankfeld ziehen und im SAP-Feld ablegen.
Beim Aufzeichnen der Transaktion wird empfohlen, mehr als eine Position in die Transaktion einzugeben, damit im Mapper ein erkennbares Wiederholungsmuster erstellt werden kann. Das nachfolgende Beispiel enthält mehrere Journaleintrags-Positionen.
So verwenden Sie die Do...While-Schleifenfunktion für mehrzeilige Transaktionen
Sie können eine Zeile in der Do...While-Schleife auswählen und ganz links auf die horizontale Eigenschaftenleiste klicken, damit der Eigenschaften-Einschub angezeigt wird. Auf diesem ist das Kontrollkästchen Schleifenspalte für diejenigen in der Schleife zugeordneten Zeilen aktiviert, die Daten aus Datensätzen enthalten, die als Positionen (Details) erkannt wurden. Anhand dieser Einstellung wird TRANSACTION angewiesen, Daten aus der in der Do-While-Schleife enthaltenen Position (Detail) auszuwählen.
HINWEIS: Das Kontrollkästchen „Schleifenspalte“ muss für mindestens eines der Felder aktiviert sein. Andernfalls wird vom TRANSACTION-Skript ein Syntaxfehler generiert.
Wenn für Ihre Aufgabe zum Ausführen eines Geschäftsprozesses mehrere Do While-Schleifen benötigt werden, so bietet Ihnen der Mapper für solche Szenarien zwei Optionen:
HINWEIS: Mehrfache und geschachtelte Do...While-Schleifen werden nicht untertützt, falls Access als Datenquelle verwendet wird.
Mehrfache Do...While-Schleife: Mehrfachschleifen sind nützlich für Transaktionen mit mehr als einem Set mehrzeiliger Positionen (Raster). Diese Sätze könnten potenziell einen jeweils eigenen Satz für Kopf und Positionen haben, sie könnten aber auch einen gemeinsamen Kopfabschnitt und unterschiedliche Positionen verwenden (siehe unten).
Geschachtelte Do...While-Schleife: Geschachtelte Schleifen sind in Transaktionen nützlich, für die Daten in mehrzeilige Elemente hochgeladen werden müssen, in denen für die einzelnen Elemente im obersten Ebenen-/Außenraster eingebettete Positionen vorhanden sind. In diesem Fall ist eine äußere Do...While-Schleife vorhanden, in die einige Do...While-Schleifen eingebettet bzw. geschachtelt sind. Wenn Sie beispielsweise Daten in Raster A hochladen, das die Raster B und C enthält, wobei diese jeweils eine Datenverknüpfung zu den einzelnen Zeilen von A aufweisen, dann verwenden Sie zum Hochladen eine geschachtelte Do...While-Schleife. In TRANSACTION werden beliebig tief geschachtelte Do While-Schleifen unterstützt.
In diesem Beispiel sind auf der äußeren Ebene zwei Schleifen vorhanden, nämlich „+Do-While A, H, D“ und „+Do-While A, H, D1“. Abgesehen davon hat die erste Schleife eine geschachtelte Schleife: „+Do-While A, H, D2“.
Format des Excel-Arbeitsblattes, das zum Hochladen von Daten verwendet wird: