Variablen, Berechnungen, Vergleiche |
Variablen, Berechnungen und Vergleiche werden benötigt, um komplexe InputScripte zu erstellen. Sie können Sie auch in normalen GuiXT Skripten verwenden, aber der InputAssistant wird in diesem Fall ebenfalls benötigt.
Es ist auch möglich, dll-Funktionen oder ABAP-Funktionen aufzurufen (Call Anweisung), um komplexe logische und arithmetische Verfahren durchzuführen. Sie werden jedoch feststellen, dass die meisten üblichen Probleme gelöst werden können, ohne eine exit Funktion auszuführen. Mit Variablen arbeiten Eine Variable wird bezeichnet mit V[meine_variable], wobei meine_variable der Name der Variable ist. Gebrauchen Sie nur a … z , A … Z, 0 … 9 und die Sonderzeichen “_” “.” “-” im Variablennamen. Beispiele für Variablennamen:
Es ist nicht notwendig, die Variablen explizit zu deklarieren, bevor Sie mit Ihnen arbeiten. Eine Variable stellt immer einen String dar, den Wert der Variablen. Dieser Wert wird entweder bezeichnet durch &V[mein_Name] oder durch &[mein_Name]. Die folgenden Variablen sind schon systemseitig vordefiniert:
Sie finden eine ausführliche Liste der Systemvariablen in der Dokumentation: Systemvariablen. Die Variablen haben immer eine globale Gültigkeit, das heißt, sie sind sichtbar (und behalten ihren Wert) in allen anderen Skripten der gleichen R/3 Session. Wenn Sie eine neue R/3 Session beginnen (z.B. mit der /0 Anweisung in R/3), dann arbeiten Sie mit einem neuen Variablen Set. Wenn Sie die einfache Bezeichnung &[Name] für die Werte von Variablen und Feldern verwenden wollen, dann können Sie Variablennamen verwenden, die mit einem “.” beginnen, um einen Konflikt mit Feldnamen auf dem gleichen Bildschirm zu vermeiden. Eine Alternative ist die Verwendung von qualifizierten Bezeichnungen &V[Name] und &F[Name] |
Variablen vergleichen
Gebrauchen Sie folgendes Format, um eine Variable mit einem String zu vergleichen:
Sie können auch zwei Variablen miteinander vergleichen, mit folgendem Format, das etwas kompliziert aussieht:
Der if Ausdruck kann die Operatoren “and”, “not”, “or”, “(” and “)” enthalten. Beispiel 1
Es ist auch möglich, den Operator “<” und “>” zu verwenden. Bitte beachten Sie, dass in diesem Fall die Variable immer als Zahl angesehen wird. Es gibt keinen Stringvergleich mit “<” oder “>”. Beispiel 2
|
Berechnungen
Die Set Anweisung unterstützt die Grundoperatoren + , -, *, /. Alle Operanden werden als Zahlen angesehen. Das Ergebnis wird dann in einem Stringformat gespeichert. Bis zu zwei Dezimalstellen (gerundet) für non-integer Ergebnisse. Das Format ist das folgende: Set V[meineVariable]Wert1 + Wert2 Bitte beachten Sie, dass wenigstens ein Leerzeichen vor und hinter dem Operator stehen muß. Beispiel 3 Das folgende Skript unterteilt ein Mengenfeld auf dem Bildschirm in drei Teile und zeigt die resultierenden Teilmengen
|
Beispiel 4
Das folgende Skript kann “On Enter” in der Transaktion VA01ausgeführt werden , um den Wert 1 in die Spalte “Auftragsmenge” jeder Zeile einzufügen, in der der Benutzer die Materialnummer eingegeben hat, ohne eine Anzahl anzugeben:
|