Mit GuiXT können Sie dem Benutzer auf einer einzigen Bildschirmmaske alle für einen bestimmten Ablauf relevanten Felder und Funktionen anbieten und damit ein effizientes Arbeiten ermöglichen: er benötigt keine weiteren Navigationsschrite und muss sich nicht in komplexen Bildschirmmasken zurechtfinden.
|
GuiXT Maske zur Schnellerfassung einer Störmeldung zum Equipment
|
Vorgehensweise
Teil 1
Wir bieten die
Schnellerfassung im EInstiegsbild der Transaktion IW21 als Drucktaste an:
Aus der Schnellerfassung kann der Benutzer wieder zum SAP Standard zurückschalten:
GuiXT Script:
if
Q[Transaction=IW21]
// Normalen Button
(Meldung) entfernen
del
P[Meldung]
// hier dann die Schnellerfassung
Title
"Schnellerfassung Störmeldung"
mit
// iw21_simple_on.txt
Set
V[iw21_simple]
"X"
Return
// iw21_simple_off.txt
Set
V[iw21_simple]
""
Return
Teil 2 (UI der Schnellerfassung)
Wir
implementieren die benötigten Eingabefelder mit GuiXT:
// Gruppenrahmen um alles
Box
(1,3)
(18,100)
// Equipment
InputField
(2,6)
"Equipment"
(2,32)
size=18
_
name="iw21_equnr"
-required
searchHelp="EQUIR"
// Default Tagesdatum und
Uhrzeit setzen
if
not
V[iw21_ausvn]
Set
V[iw21_ausvn]
"&V[today_user]"
Set
V[iw21_auztv]
"&V[today_h:00]"
endif
// build up time dropdown
00:00;00:15; ...
if
not
text[iw21_time_dropdown]
include
"build_iw21_time_dropdown.txt"
ndif
Text
(14,6)
"Priorität"
-label
size=18
DropDownList
(14,24)
"iw21_priority_dropdown"
width=20
refer="V[iw21_priok]"
-noSort
Erläuterungen:
Die
Längenangabe size=18
der Equipmentnummer erhält man über F1 -> Technische Information
-> Datenelement
Ebenfalls
über F1 -> Technische Informationen den Namen der Suchhilfe:
Bei "EQUI" handelt es sich um eine Sammelsuchhilfe (Transaktion SE11).
Für die Schnellerfassung haben wir statt der Sammelsuchhilfe nur die am besten geeignete "EQUIR"
herausgesucht und searchHelp="EQUIR"
angegeben:
Für die Eingabe der Priorität sowie der Zeiten wird DropDownList genutzt
Die Langtexterfassung geschieht über TextBox
Teil 3 (Funktion "Prüfen")
Bei "Enter" sowie der Drucktaste "Prüfen" werden zunächst einige Plausibilitätsprüfungen durchgeführt, zum Beispiel ob ein Kurztext angegeben wurde. Die weiteren Prüfungen erfolgen, indem die IW21 probeweise mit den eingegebenen Werten durchlaufen wird, aber statt die Eingaben zu sichern wieder auf die Schnellerfassung zurückgekehrt wird. Da bei "Sichern" zunächst das gleiche abläuft, verwenden wir für "Prüfen" und "Sichern" das gleiche InputScript und steuern über einen Parameter, welcher Fall vorliegt (InputScript dazu in Teil 4):
On Enter process="iw21_simple_save.txt
Teil 4 (Funktion "Sichern")
Bei "Sichern" wird das gleiche InputScript wie bei "Prüfen" aufgerufen und am Ende in IW21 mit /11 gesichert. Danach werden die Eingabedaten zurückgesetzt.
//
-----------------------------------------------------
// IW21 Schnellerfassung
(Prüfen/Sichern)
// Datei "iw21_simple_save.txt"
//
-----------------------------------------------------
Parameter
MODE // C=Check S=Save// Plausibilitätsprüfungen
// Equipment angegeben?
// Kurztext angegeben?
// Datum angegeben?
// Datumsformat korrekt?
// -------------------------
// Meldung anlegen über
IW21
// -------------------------
Set
F[Meldungsart] "M2"Screen
SAPLIQS0.7200Screen
SAPLIQS0.7200Enter "=10\TAB02" // Termine+Priorität
// Priorität setzen
// Änderung Priorität -> Popup "Termine neu bestimmen?"
Screen
SAPLIQS0.7200// jetzt sind wir zurück auf IW21 Start
Der Vollständigkeit halber hier noch das include-Script zum Aufbau der Zetauswahl:
// Langtext mit Zeiten (pro Viertelstunde) für dropdown aufbauen
Set
V[k] 0label
next_hourSet
V[hh]
&V[k]
+ 100
Set
V[hh]
"&V[hh](2-3)"
Set
V[time]
"&V[hh]:00"
copytext
fromString="time"
toText="iw21_time_dropdown"
-appendLine
Set
V[time]
"&V[hh]:15"
copytext
fromString="time"
toText="iw21_time_dropdown"
-appendLine
Set
V[time]
"&V[hh]:30"
copytext
fromString="time"
toText="iw21_time_dropdown"
-appendLine
Set
V[time]
"&V[hh]:45"
copytext
fromString="time"
toText="iw21_time_dropdown"
-appendLine
if
V[k<24]
goto
next_hour
endif