Durch eigene Oberflächenelemente können wir den bisher fest vorgegeben Ablauf des InputScripts variabel gestalten. |
Als erstes Beispiel bieten wir zwei Drucktasten an, die das Verzeichnis für zwei verschiedene Werke aufrufen. Da wir mit dem gleichen InputScript arbeiten wollen, benutzen wir einen Parameter WERK. Er wird im Anschluss an die Pushbutton-Zeile einmal mit “1000″ (Werk Hamburg) und einmal mit “3000″ (Werk Frankfurt) bewertet. Im InputScript kann der Inhalt des Parameters mit “&U[WERK]” angesprochen werden.
// GuiXT Script Pushbutton (1,16) “Hamburg” “/NSA38″ process=”matverzeichnis1.txt” size=(2,10) Pushbutton (3,16) “Frankfurt” “/NSA38″ process=”matverzeichnis1.txt” size=(2,10) // InputScript “matverzeichnis1.txt” // ABAP/4: Programmausführung Das InputScript ist gegenüber der Version in Tutorial 1 etwas vereinfacht: Die erste Funktion (Aufruf der Transaktion SA38) wird bereits bei Definition der Drucktaste mitgegeben. Man spart sich dadurch den ersten Bildwechsel. |
Statt mehrerer Drucktasten können wir dem Benutzer auch einige Radiobuttons und eine einzige Drucktaste anbieten. Das folgende Beispiel startet jeweils die Auftragserfassung (VA01) mit verschiedenen Auftragsarten.
// GuiXT Script Pushbutton (6,16) “Auftrag erfassen” “/NVA01″ Process=”startva01.txt” “size=2″ // InputScript “startva01.txt” Set F[Verkaufsorganisation] “1000″ Enter Auf die Übergabe eines Parameters wurde hier verzichtet; es wird stattdessen mit der globalen Variablen V[VA01_Auftragsart] gearbeitet. Falls Sie die Transaktion VA01 im Alternativmodus aufrufen wollen durch “/OVA01″ statt “/NVA01″, ist das nicht möglich, da jede SAP-Session einen eigenen Raum von GuiXT-Variablen besitzt. In diesem Fall können Sie den Wert aber als Parameter mitgeben: // GuiXT Script Pushbutton (6,16) “Auftrag erfassen” // InputScript “startva01.txt” Screen SAPMV45A.0101
Set F[Verkaufsorganisation] “1000″ Enter |
Ebenso wie die Radiobuttons sind auch normale Eingabefelder möglich. Jedes Eingabefeld (Anweisung “Inputfield”) ist dabei genau einer GuiXT-Variablen zugeordnet, d.h. der Inhalt der Variablen wird im Eingabefeld angezeigt, und Eingaben werden in die Variable übernommen. Im folgenden Beispiel kann der Benutzer zu einer Materialnummer die Verfügbarkeit in drei verschiedenen Werken auf einen Blick überprüfen. Wir nutzen dazu den Aufruf von SAP_BAPIs.
Eingabe der Materialnummer. Auch Suche über SAP-Matchcode ist möglich.
Die Verfügbarkeit in den drei Werken wird angezeigt.
Bei Eingabe einer falschen Materialnummer erfolgt eine Fehlermeldung. // GuiXT Script Text (2,1) “&V[AV_Materialtext](1-34)” -proportional -intensified
Text (3,4) “Hamburg” Text (4,4) “Berlin” Text (5,4) “Wien” Pushbutton (7,2) “Verfügbarkeit anzeigen” Process=”availability.txt” size=(1,32)
// InputScript “availability.txt” // Verfügbarkeit lesen für 3 Werke // 3 Dezimalstellen bei Menge berücksichtigen // Nachricht + Bildschirm neu anzeigen |