InputScripts müssen manchmal Daten lesen, die in R/3 in Listenform dargestellt werden. Ein typisches Beispiel ist die folgende Liste, die angezeigt wird, wenn Transaktion ME56 “Bestellanforderungen zuordnen” aufgerufen wird:
Das “screen elements” Fenster von GuiXT ist in diesem Fall völlig leer und die Bildnummer ist immer 0120. Bitte beachten Sie: Es ist nicht möglich, Listen mit GuiXT zu verändern, aber Sie können Daten aus Listen in InputScripts übernehmen und Sie können weitere Möglichkeiten für Benutzer mit den GuiXT Skripten hinzufügen. Die folgenden Systemvariablen stehen für Listen zur Verfügung:
- _listline(1), _listline(2),…
Zeilen, die auf der aktuellen Seite angezeigt werden. _listline(1) ist die erste Zeile nach dem Seitentitel - _listline
Aktuelle Zeile (abhängig von der Cursorposition) - _liststring
Aktueller Textstring (abhängig von der Cursorposition, Begrenzung nach links und rechts ist ein Leerzeichen) - _listcursorrow, _listcursorcol
Spalten- und Zeilen-Nummer der Cursorpostiton - _listlastrow
Nummer der letzten Zeile der Liste (auf allen Seiten, ohne die Zeile des Seitentitels) - _listfirstvisiblerow, _listlastvisiblerow
Erste und letzte Zeile, die auf der aktuellen Seite sichtbar ist
Automatisches Skrollen
- Enter “/ScrollToLine=…”
Skrollt/Rollt die Liste bis zu Zeile …
|
Beispiel 1 (basiert auf R/3 Rel. 4.6C)
Sie fügen einen Pushbutton “Ausgewähltes Material anzeigen” über der ME56 Liste ein. Wenn der Benutzer eine Materialnummer auswählt (cursor) und anschließend auf den Pushbutton klickt, dann wird die Anzeigetransaktion MM03 “Material anzeigen” in einem neuen Modus aufgerufen, die ausgewählte Materialnummer wird übergeben und mit Enter bestätigt. GuiXT Script RM06BL00.D0120.txt Pushbutton (toolbar) “Ausgewähltes Material anzeigen” “/OMM03″ “Process=Materialanzeigen.txt” using MATNR = [_liststring]
InputScript Materialanzeigen.txt Parameter MATNR
Screen SAPLMGMM.0060 Set F[Material] &[MATNR] Enter
|
Beispiel 2 (basiert auf R/3 Rel. 4.6C)
Sie möchten eine html Datei anzeigen, die alle Bestellanforderungen enthält, mit zusätzlichen Angaben wie Preis, Wert, Herkunft …. Bitte beachten Sie, dass dieses Beispiel für kleine Listen gut geeignet ist, bei größeren Datenmengen aber zu Performance Verlusten führen kann GuiXT Script RM06BL00.D0120.txt Pushbutton (toolbar) “Übersicht im html Format” “Process=ME56Uebersicht.txt”
InputScript ME56Uebersicht.txt Screen RM06BL00.0120 Set V[ME56.Uebersicht*] “” // Variablen zurücksetzen Set V[ME56.Uebersicht.index] 1 Set V[ME56.Uebersicht.row] 1
Enter “/ScrollToLine=1″
label next_req
Screen RM06BL00.0120 if V[ME56.Uebersicht.row>&[_listlastrow]] goto end endif
SetCursor (5,1) // Auf eine Zeile zeigen Enter “/2″ // Details ansehen
Screen SAPMM06B.0102
Set V[ME56.Uebersicht.&[ME56.Uebersicht.index].Bestellanforderung] “&[Bestellanforderung]“ Set V[ME56.Uebersicht.&[ME56.Uebersicht.index].material] “&[Material]“ Set V[ME56.Uebersicht.&[ME56.Uebersicht.index].text] “&[Kurztext]“ Set V[ME56.Uebersicht.&[ME56.Uebersicht.index].Preis] “&[BwrtPreis]“ Set V[ME56.Uebersicht.&[ME56.Uebersicht.index].Menge] “&[Menge]“
Enter “=AS”
Screen SAPMM06B.0110
Set V[ME56.Uebersicht.&[ME56.Uebersicht.index].Gesamtwert] “&[Gesamtwert]“ Set V[ME56.Uebersicht.&[ME56.Uebersicht.index].Disponent] “&[Disponent]“
Enter “/3″ // Return
Screen SAPMM06B.0102 Enter “/3″ // Return
Screen RM06BL00.0120 Set V[ME56.Uebersicht.row] &V[ME56.Uebersicht.row] + 4 Set V[ME56.Uebersicht.index] &V[ME56.Uebersicht.index] + 1 Enter “/ScrollToLine=&[ME56.Uebersicht.row]“ goto next_req
label end
View “ME56Uebersicht.html” “template=ME56Uebersichttemplate.html” Enter “/ScrollToLine=1″
html Seite ME56Uebersichttemplate.html (erstellt mit MS Fro
ntpage)
|
Bestellanforderungen |
Bestellanforderung | Disponent | Material |
Kurztext |
Menge |
Preis |
Gesamtwert |
&[ME56.Uebersicht.###.Bestellanforderung] | &[ME56.Uebersicht.###.Disponent] |
&[ME56.Uebersicht.###.material] |
&[ME56.Uebersicht.###.text] |
&[ME56.Uebersicht.###.Menge] |
&[ME56.Uebersicht.###.Preis] |
&[ME56.Uebersicht.###.Gesamtwert] |
Ergebnis der html Anzeige:
Daten aus Listen lesen