Sie möchten gerne auf einem Screen gewisse Felder als Mussfelder deklarieren. (In SAP R/3 sind es keine Mussfelder). Mit GuiXT (und InputAssistant) ist das kein Problem.

Kleines Beispiel:

Prüfung der Felder Verkaufsbüro und Verkäufergruppe direkt auf der 1. Maske von VA01.

sapmv45a.d0101.txt

// GuiXT Script für erste Maske von VA01 (Kundenauftrag anlegen)
// 31.08.2003 / Gérald Koehn / Koehn Consulting / www.guixt.ch

on "Enter" "process=mussfelderpruefung.txt"

mussfelderpruefung.txt

// Mussfelderprüfung auf SAP Feldern
// 31.08.2003 / Gérald Koehn / Koehn Consulting / www.guixt.ch

// Zuerst Wertübergabe an V[Variable] und dann
// erst anschliessend Prüfung auf Inhalt
set V[VA01_Verkaufsbüro] "&[Verkaufsbüro]"
set V[VA01_Verkäufergruppe] "&[Verkäufergruppe]"
// bei NOT wird OR zu AND
if not ( V[VA01_Verkaufsbüro] and V[VA01_Verkäufergruppe] )
   Return "Bitte pflegen Sie alle Mussfelder" "F E H L E R"
Endif

// Nächster Befehl wird nur durchlaufen,
// wenn alle vorherigen Prüfungen positiv verlaufen sind
Enter

Möchten Sie bei jedem einzelnen Feld anschliessend an die Fehlermeldung noch den Cursor richtig positionieren, dann müssten die Scripte wie folgt aussehen:

sapmv45a.d0101.txt

// GuiXT Script für erste Maske von VA01 (Kundenauftrag anlegen)
// 31.08.2003 / Gérald Koehn / Koehn Consulting / www.guixt.ch
if Q[Transaction=VA01]
  on "Enter" "process=mussfelderpruefung.txt"
  SetCursor "&V[VA01_Cursor]"
endif

mussfelderpruefung.txt

// Mussfelderprüfung auf SAP Feldern
// 31.08.2003 / Gérald Koehn / Koehn Consulting / www.guixt.ch

// Zuerst Wertübergabe an V[Variable] und dann
// erst anschliessend Prüfung auf Inhalt
set V[VA01_Verkaufsbüro] "&[Verkaufsbüro]"
set V[VA01_Verkäufergruppe] "&[Verkäufergruppe]"
// Eigentliche Prüfung
// Für jedes Feld eigenes If,
// damit die Koordinaten für das setzen des Cursors individuell gesetzt werden können
if not V[VA01_Verkaufsbüro]
   Set V[VA01_Cursor] "(8,22)"
   Return "Bitte pflegen Sie alle Mussfelder" "F E H L E R"
endif
if not V[VA01_Verkäufergruppe]
   Set V[VA01_Cursor] "(9,22)"
   Return "Bitte pflegen Sie alle Mussfelder" "F E H L E R"
endif

// Nächster Befehl wird nur durchlaufen,
// wenn alle vorherigen Prüfungen positiv verlaufen sind
Enter

Möchten Sie die Prüfung auf eigendefinierte Inputfields machen, so fällt das Setzen der Werte in eigene V-Variablen weg, da der Wert ja schon in V-Variablen vorhanden ist.

Download: mussfelder.zip
(2 txt-Dateien, zip-komprimiert, 0.73 KB)

Empfehlen