Zurück zu

Erweitertes Mapping

Ebenfalls in diesem Abschnitt

Bearbeitung im Mapper

Filtereinstellungen für Mapper

Setzen von Bedingungen – IF-Anweisungen

Daten validieren

Nach Liste validieren

„Rückgängig“ und „Alles rückgängig“

Mapping von Langtext

Anhängen von Dokumenten

Automatisches Mapping

Herunterladen von Daten aus SAP

Bearbeiten eines TRANSACTION-Skripts

Fortgeschrittene Schleifenfunktionen

Umgang mit mehrzeiligen Transaktionen

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.

Do...While-Schleife

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.

  1. Wenn Sie dieselbe Bezeichnerzeile für verschiedene Schleifen verwenden, dann müssen Sie sicherstellen, dass unterschiedliche Bezeichnerwerte verwendet werden. Wenn die Schleifen auf unterschiedliche Bezeichnerspalten verweisen, kann derselbe Bezeichner verwendet werden.
  2. Unabhängig davon, ob Sie verschiedene Bezeichnerzeilen für dieselbe oder unterschiedliche Schleifen verwenden; falls die Schleifen geschachtelt sind, sollten die Daten für die Schleifen in derselben Reihenfolge sein, in der die Schleifen im Mapper angezeigt werden. Darüber hinaus darf eine Zeile nur Daten enthalten, die zu einem einzigen Positionsdatensatz gehören. Falls mehrere Schleifen auf derselben Ebene vorhanden sind, ist kein Einrücken  in der Excel-Datei nötig.

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.

Zuordnen geschachtelter Schleifen

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.

Vorbereiten Ihrer Arbeitsmappe auf eingerückte Daten

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.

Schleifendaten für die zellbasierte Zuordnung

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

Zwei parallele Schleifen mit einer geschachtelten Schleife

Das Layout des Mappers

Das entsprechende Layout der Excel-Arbeitsmappe

Einfaches Überprüfen der Schleifen

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.

Kopieren und Ausschneiden von Zeilen mit Schleifen und Bedingungen

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.

Schleifendaten auf mehreren Blättern

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.

Ungültige Zuordnung

So ordnen Sie mehrere Schleifen zu

  1. Fügen Sie im Vorschaufenster des Mapper-Bildschirms so viele neue Blätter hinzu, wie Sie benötigen.
  2. Klicken Sie auf das erste Blatt. Wählen Sie im Mapper die Positionen für die erste Schleife aus. Klicken Sie auf die Schaltfläche „Schleife“

    Das übergeordnete Master-Schleifen-Blatt ist im Standard ausgewählt.

  3. Definieren Sie erst alle parallelen Schleifen, bevor Sie mit der Definition von geschachtelten Schleifen beginnen.
  4. Klicken Sie auf das Feld „Mehrfachschleifeneinstellung auf Schleife anwenden“.

    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.

  5. Wenn die Datenquelle geändert wird, verliert die Vorschau den Titel. Fügen Sie die Blätter entweder manuell hinzu, oder öffnen Sie ein Blatt, das die passenden Namen enthält.
  6. Stellen Sie sicher, dass Sie vor dem Schließen der Anwendung die Vorschau speichern, da sonst die Vorschaublätter gelöscht werden können.

Neue Blätter und Einzelblattzuordnung

Scheifen und die Umstellung von zellenbasierter auf spaltenbasierte Zuordnung

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.

Verwenden der Do While...Schleifenfunktion mit Access

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

  1. Erstellen Sie eine Do...While-Schleife und schließen Sie darin nur einen Datensatz ein.
  2. Deaktivieren Sie die doppelten Datenzeilen, indem Sie die Markierung „Zeile(n) deaktivieren“ auswählen, und zwar in der Spalte links außen in der Registerkarte „Experte“: Aufzeichnungsvorschau.
  3. Bei Einfügen der DO- und WHILE-Schleife zeigt der Mapper die in der Schleife enthaltenen Felder mit zwei durch eine Linie verbundenen (Schleifensymbolen) an.

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.

Verwenden mehrerer und geschachtelter Schleifen

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: