Daten aus Listen lesen

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:

Sap Guixt list1 Daten aus Listen lesen

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:

Sap Guixt list02 Daten aus Listen lesen


Daten aus Listen lesen