Zurück zu

Erweitertes Mapping

Ebenfalls in diesem Abschnitt

Bearbeitung im Mapper

Filtereinstellungen für Mapper

Fortgeschrittene Schleifenfunktionen

Einschränken von Eingabefeldern

Mapping von Google-Tabellen

Daten validieren

Nach Liste validieren

Fehlende SAP-Bilder und -Felder kompensieren

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

Mapping von Langtext

Datentypen in Zeichenfolgen konvertieren

Anhängen von Dokumenten

Automatisches Mapping

Herunterladen von Daten aus SAP

Bearbeiten eines TRANSACTION-Skripts

Setzen von Bedingungen – IF-Anweisungen

Mit bedingten Ausführungsanweisungen können Sie das Hochladen von Daten nach SAP zusätzlich steuern. Ausführungsbedingungen wirken auf Feldebene und legen Bedingungen zur Ausführung ausgewählter Teile des Transaction-Skripts fest. Eine bedingte Ausführungsanweisung kann für eine einzelne Zeile oder einen Zeilenblock eingefügt werden. Sie können auch mehrere Ausführungsbedingungsblöcke einfügen, sofern diese andere, bereits bestehende Ausführungsbedingungsblöcke nicht beeinträchtigen.

Jede Zelle der angegebenen Spalte wird auf den angegebenen Festwert hin überprüft. Bei einem Lauf mit Ausführungsbedingung führt Transaction nur die Zeile aus, für welche die jeweilige Bedingung wahr ist.

Wird beispielsweise die Spalte H auf das Wort „Gutschrift“ überprüft, führt Transaction die in der IF-Bedingung enthaltenen Aktionen nur dann aus, wenn die Bedingung wahr ist. In diesem Fall wird ein Wert von H in die D/C-Spalte der FB50-Transaktion hochgeladen.

HINWEIS: Der Vergleich des in der bedingten Ausführungsanweisung angegebenen Festwerts mit dem Wert in einer Excel-Spalte hängt von den Standard-Datenleseeinstellungen in Microsoft Excel ab. Weitere Informationen dazu finden Sie unter „Anwendungsstandards“.

Nehmen wir z. B. an, die Spalte D des Excel-Arbeitsblattes enthält einen Dezimalwert und Transaction muss nur die Zeilen ausführen, die den Wert 3,141 (PI-Wert) in Spalte D enthalten. In diesem Fall ist Spalte D zur Anzeige von Zahlen mit nur einer Dezimalstelle formatiert. Intern werden in Spalte D aber bis zu drei Dezimalstellen gespeichert. Wenn die Datenleseeinstellungen auf „Wie gespeichert“ festgelegt sind, lautet die erforderliche Bedingung „D=3,141“. Ist diese Option jedoch auf „Wie angezeigt“ eingestellt, lautet die erforderliche Bedingung „D=3,1“.

Eine bedingte Ausführungsanweisung (Bedingungsausführung) im Mapper entspricht der Verwendung eines +IF SHUTTLEScript-Befehls.

Hinzufügen bedingter Ausführungsanweisungen

Die Einstellungen des Dialogfelds IF-Bedingungseigenschaften sind folgende:

Startzeile/Endzeile: Geben Sie die Start- und Endzeile ein, die verwendet werden soll, falls es sich um andere Zeilen bzw. einen anderen Zeilenbereich handelt als anfänglich in der Aufzeichnungsvorschau auf der Registerkarte Experte ausgewählt: Aufzeichnungsvorschau.

ELSE-Zeile: Geben Sie die ELSE-Zeile dort ein, wo der IF-ELSE-Zeilenwert gespeichert werden soll.

IF first transaction (IF-Erste-Transaktion): Diese Einstellung wird für SAP-Transaktionen verwendet, bei denen Dialogfelder beispielsweise nur im ersten Transaktionsdatensatz auftreten. Klicken Sie auf diese Einstellung, um die Zeilen auszuführen, die für die Bedingung „IF first transaction“ beim ersten Datensatz der Datenquelle angegeben wurden. Wenn etwa die Klassifizierungsansicht für ein Material geändert wird, wird das Dialogfeld Klassentyp nur beim ersten Datensatz und nicht bei den darauf folgenden Datensätzen angezeigt.

IF NOT first transaction (IF-NICHT-Erste-Transaktion): Ähnlich der Einstellung „IF first transaction“ wird diese Bedingung bei SAP-Transaktionen verwendet, in denen Dialogfelder beispielsweise nach der ersten Transaktion auftreten. Klicken Sie auf diese Einstellung, um die Zeilen auszuführen, die für die Bedingung „IF NOT first transaction“ bei allen Datensätzen nach dem ersten Datensatz in der Datenquelle angegeben wurden.

IF on SAP field (IF-auf-SAP-Feld): Ähnlich wie die IF-Bedingung. Die Bedingung gilt nur für aktivierte SAP-Felder. Sie kann nur dann auf deaktivierte Felder angewendet werden, wenn der entsprechende Bildschirm im Mapper aktiviert wurde. Allerdings gilt „IF on SAP field“ nicht für SAP-Eingabefelder. „IF on SAP field“ ist nicht für Aufzeichnungen im Batch-Input-Modus verfügbar.

IF on index field (IF-auf-Indexfeld): „IF on index field“ steht nur für Skripte zur Verfügung, die im GUI-Skripterstellungsmodus aufgezeichnet wurden. Verwenden Sie „IF on index field“ mit Schleifen, damit basierend auf mehreren Suchwerten gesucht und aktualisiert wird. Mit „IF on index field“ können Sie eine Zeile basierend auf einem Wert in einer bestimmten Spalte suchen. Wählen Sie bei der Zuordnung nur die Felder aus, die aktualisiert werden müssen. Wählen Sie „IF on index field“ im IF-Bedingungs-Eigenschaftenfeld. Wählen Sie unter „Feld auswählen“ das Feld bzw. die SAP-Zeile aus, in dem bzw. der gesucht werden soll, wählen Sie dann den Operator aus und geben Sie den Wert oder die Excel-Spalte ein, ab dem bzw. der die Suchwerte gelesen werden sollen. Um den Wert für alle zugeordneten Instanzen dieses Felds zu ändern, klicken Sie auf Alle finden.

Hinweis: „IF on index field“ unterstützt nur Textwerte.

IF on verify text (IF-auf-Textüberprüfung): Diese Option steht für importierte A1 Dataloader-Skripte und für Transaction-Skripte zur Verfügung, die mit dem GUI erstellt wurden. Sie bestätigt, dass ein Wert in Excel mit einem Wert in SAP übereinstimmt. Die Daten werden weder geändert noch entfernt.

IF: Klicken Sie auf die IF-Einstellung, wenn die Bedingung auf Grundlage einer für diese Bedingung festgelegten Excel-Spalte oder Access-Tabelle/Spalte, bzw. bei Version 10.6.1 XML-Datei, erstellt werden soll. Wenn IF ausgewählt ist, werden die Felder zum Auswählen von Spalten, Operatoren und Werten am unteren Bildschirmrand angezeigt.

Folgende Operatoren sind zulässig:

=, >, <, >=, <=, <>, {BLANK}, {NOT BLANK}, {STARTS WITH}, {CONTAINS}, {ENDS_WITH}, {BETWEEN}

Wählen Sie Spalte, Operator, Wert: Wenn die IF-Bedingung ausgewählt ist, wählen Sie die Excel-Spalte oder Access-Tabelle/Spalte, die Sie für diese Bedingung verwenden möchten, wählen den Operator für die Bedingung und geben dann den Wert (Text oder Zahl) für diesen Vergleich ein. Wenn Sie eine Spalte auswählen, werden das Bildschirmfeld und die Bedingung als QuickInfo angezeigt.

Compare with Column (Mit Spalte vergleichen): Markieren Sie dieses Kontrollkästchen, um die Auswahlspalte (Excel-Spalte oder Access-Tabelle/Spalte) mit der von Ihnen ausgewählten Spalte zu vergleichen. Wenn Sie das Kontrollkästchen Mit Spalte vergleichen markieren, zeigt das Wertfeld eine Auswahlliste der für diesen Vergleich verfügbaren Spalten an. Die folgenden Operatoren sind zulässig:

<> und =

Wenn Sie das Dialogfeld IF-Bedingungs-Eigenschaften ausfüllen, zeigt der Mapper Ihre Änderungen unter Verwendung von zwei  Bedingungsausführungssymbolen, die durch eine Linie verbunden sind, an.

Aus BAPIs nach .txrs extrahierte IF-Anweisungen

Hinzufügen von Notizen

Sie können in der Mapper-Notizen-Spalte Notizen zu IF-Bedingungs-Zeilen hinzufügen. Die Notizen sind jedoch nicht sichtbar, wenn das Skript mit einer früheren Version der Anwendung geöffnet wird.