Für eine umfassende Kontrolle der Daten, die in SAP veröffentlicht werden, können Sie IF-Bedingungen zu einem oder mehreren Feldern hinzufügen. Jedes Feld mit der IF-Bedingung wird mit der Bedingung verglichen und nur verarbeitet, wenn die Bedingung erfüllt wird.
Studio unterstützt zwei Ebenen in einer Bedingung.
Hinzufügen einer Bedingung
- Wählen Sie in der Registerkarte Zuordnen die Felder aus, auf die Sie die Bedingung anwenden wollen.
- Klicken Sie auf Bedingung erstellen aus.
Wenn Bedingung erstellen aus nicht verfügbar ist, dann klicken Sie auf die Registerkarte Expertenansicht.
- Wählen Sie im Kästchen IF-Bedingung den Operand aus.Anmerkung:
Wenn Sie Erste Transaktion oder Nicht erste Transaktion auswählen, klicken Sie auf OK oder klicken Sie auf Neue Gruppe hinzufügen, um mehr Bedingungen hinzuzufügen.
Wenn Ihr Skript im GUI-Scripting-Modus aufgezeichnet wurde, dann wird auch die Option „Indexfeld“ angezeigt.
- Führen Sie basierend auf dem gewählten Operanden einen der folgenden Vorgänge aus:
- Klicken Sie auf das SAP-Feld.
- Klicken Sie auf den Spaltenbuchstaben oder die Zellennummer und klicken Sie dann auf Los.
- Wählen Sie einen Operanden, wie etwa Größer als. Anmerkung:
Der Operand „Between“ enthält sowohl die angegebenen Werte als auch die Werte dazwischen.
Transaction mit Evolve unterstützt derzeit nicht verlinkte dynamische Listendateien, die von den Operanden In Liste und Nicht in Liste verwendet werden.
- Führen Sie eine der folgenden Aktionen aus:
- Geben Sie den Wert für die Bedingung ein.Anmerkung:
Wenn der Wert Dezimalstellen oder Langtext enthält, dann vergewissern Sie sich, dass die Einstellungen für das Lesen der Daten auf Wie gespeichert gesetzt wurden. Klicken Sie auf die Registerkarte Datei, dann auf Optionen, anschließend auf Daten und zuletzt auf Wie gespeichert.
- Aktivieren Sie das Kästchen Mit Spalte vergleichen, wählen Sie den Spaltenbuchstaben oder die Zellennummer, die alle Werte enthält, die Transaction vergleichen soll, und klicken Sie dann auf Los.
Sie können zum Beispiel die Spalte auswählen, die das Bruttogewicht enthält, den Operator Ist größer als auswählen, das Kontrollkästchen Mit Spalte vergleichen aktivieren und die Spalte auswählen, die das Nettogewicht enthält.
- Geben Sie den Wert für die Bedingung ein.
- Um eine weitere Bedingung hinzuzufügen, klicken Sie auf das Plus-Symbol.
- Um eine zweite Ebene zur Bedingung hinzuzufügen, klicken Sie auf Neue Gruppe hinzufügen (zum Beispiel IF ((A=1 & B=2) OR IF Erste Transaktion) und wiederholen Sie die Schritte 3 bis 6.
IF-Bedingung-Operanden
Erste Transaktion Verwenden Sie diesen Operanden, wenn ein Bildschirm oder eine Aktion nur in der ersten Aufzeichnung erforderlich ist. Diese Bedingung wird nicht auf die zweite und nachfolgenden Aufzeichnungen angewendet
Nicht erste Transaktion Verwenden Sie diesen Operanden, wenn ein Bildschirm oder eine Aktion nur in der zweiten und allen nachfolgenden Aufzeichnungen erforderlich ist. Diese Bedingung wird nicht auf den ersten Datensatz angewendet.
Spalte Verwenden Sie diesen Operanden, um anzugeben, ob ein Bildschirm, ein Feld oder eine Aktion basierend auf statischen Werten oder Werten in Ihren Datendateien ausgeführt werden soll.
Wenn Sie eine zellenbasierte Zuordnung verwenden, dann ist der Operand Zelle.
SAP-Feld Verwenden Sie diesen Operanden, wenn Sie Daten validieren müssen, die in SAP verfügbar sind, statt in Ihrer Datendatei. Diese Bedingung überprüft, ob ein bestimmtes Feld die richtigen Werte enthält, bevor die Bedingung ausgeführt wird.
Indexfeld
Der Operand „Indexfeld“ ist nur für Skripte verfügbar, die im GUI-Scripting-Modus aufgezeichnet wurden. Verwenden Sie „Indexfeld“ mit regulären Schleifen (NICHT mit indizierten Schleifen), um mehrere Zeilen basierend auf dem Wert eines Feldes zu suchen und zu aktualisieren.
Mit „Indexfeld“ 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.
- Im Kästchen „IF-Bedingung“ wählen Sie Indexfeld aus.
- Wenn Sie mehrere Zeilen basierend auf dem Suchfeld aktualisieren möchten, aktivieren Sie das Kästchen Alle finden.
- Wählen Sie das SAP-Feld aus, nach dem Sie suchen möchten. Dieses Feld sollte nicht zugeordnet sein.
- Wählen Sie einen Operanden.
- Geben Sie den Wert ein, nach dem Sie suchen, oder klicken Sie auf Mit Spalte vergleichen und wählen Sie die Spalte aus.
IF-Bedingung in Webdiensten
Sie können IF-Bedingungen verwenden, um benutzerdefinierte SAP-Felder zu erstellen, und diese Felder dann für das Verwalten der Formulare verwenden.
- Auf der Registerkarte Expertenansicht des Mappers wählen Sie die Zeilen, die in der IF-Bedingung enthalten sind, und klicken dann auf Bedingung erstellen.
Studio zeigt den Formularfeld-Operanden und eine Liste benutzerdefinierter Felder an.
- Wählen Sie das gewünschte Feld aus oder geben Sie einen neuen Feldnamen ein. Anmerkung:
Wenn Sie zum ersten Mal eine Bedingung hinzufügen, ist diese Liste leer. Geben Sie den gewünschten Namen ein und er bleibt in der Liste gespeichert.
- Geben Sie den Wert ein, den Sie verwenden möchten, oder aktivieren Sie das Kästchen Mit Formularfeld vergleichen, um dieses Feld mit einem anderen benutzerdefinierten Formularfeld zu vergleichen.
Um eine Bedingung zu erstellen, die auf einem SAP-Feld basiert, ändern Sie den Operanden zu SAP-Feld.
Ändern der Bedingung
Klicken Sie auf die Bedingungsanweisung, um das Kästchen Bedingung erneut zu öffnen, und führen Sie dann die gewünschten Änderungen durch. Sie können die Bedingung eines leeren If-Blocks oder Schleifenblocks bearbeiten.
IF-Bedingung ausschneiden, kopieren und einfügen
Sie können einen geschachtelten If-Else-Bedingungsblock ausschneiden und kopieren und an beliebiger Stelle im Mapper einfügen.
Verwenden der Optionen „Ersetzen“, „Davor einfügen“ und „Erhalten“
Verwenden Sie die Optionen Ersetzen, Davor einfügen und Erhalten für die Spaltenzuordnung in einer If-Bedingung.
Löschen der Bedingung
- Im Mapper klicken Sie auf die Zeile, welche die Bedingungsanweisung enthält, um die Zeile auszuwählen.
- Führen Sie einen Rechtsklick auf die Zeile aus und klicken Sie dann auf Löschen.