Transaktionen vereinfachen mit GuiXT, HTML and Java Script

Mit dem GuiXT Viewer und dem InputAssistant, version 2000 Q4 oder höher können Sie in Kombination mit HTML und Java Script eine vollkommen neue Benutzerschnittstelle für R/3 Transaktionen erstellen. Sie können einen HTML Editor Ihrer Wahl verwenden (z.B. MS Frontpage), um die neue Benutzerschnittstelle genau auf Ihre Anforderungen zuzuschneiden.

Lassen Sie uns zuerst als einfaches Beispiel eine “Material anlegen” Transaktion betrachten. Unser Ziel ist es, eine völlig neue Benutzerschnittstelle in den R/3 Standard Bildschirm (MM01 Einstiegsbild) zu integrieren, so wie is auf dem Bild weiter unten zu sehen ist. Dieses kleine Beispiel ist höchstwahrscheinlich zu einfach, um es in der Realität verwenden zu können, aber Sie können ganz leicht weitere Felder und weitere Verarbeitungsschritte hinzufügen.

Drei Schritte sind nötig:

1 Schreiben Sie ein GuiXT Skript, das die Verbindung zu Ihrer HTML + JavaScript Anwendung herstellt

2 Erstellen Sie die HTML + Java Script Anwendung (dies geschieht völlig ohne R/3 Zugang)

3 Schreiben Sie ein InputScript das das Update im R/3 System vollzieht.


1

Das folgende Beispiel basiert auf R/3 version 4.5. Für andere R/3 Versionen (3.1-4.6) sind geringfügige Veränderungen im InputScript nötig, die HTML Schnittstelle kann gleich bleiben.

Der Anwender ruft die Standard Transaktion MM01 in R/3 auf. Ihre Anwendung kann dann in den R/3 Standard Bildschirm integriert sein:

Sap Guixt javatrans1 Transaktionen vereinfachen mit GuiXT, HTML and Java Script

Sie können Ihre Html Schnittstelle allerdings auch in einem separaten Fenster öffnen, wie es im nächsten Bild zu sehen ist. Das ist sinnvoll, wenn nur wenig Platz auf dem R/3 Bild verfügbar ist oder wenn Sie dem Anwender die Möglichkeit geben möchten, das Html Fenster getrennt zu vergrößern.

Sap Guixt javatrans3 Transaktionen vereinfachen mit GuiXT, HTML and Java Script

Der einzige Unterschied ist die “-floating” Option im GuiXT SKript:

View (6,0) (22,76) “Material_anlegen.html”

für den ersten Fall und

View (6,0) (22,76) “Material_anlegen.html” “-floating”

für den zweiten Fall.

Eine dritte Möglichket besteht darin, einige Buttons auf dem Standardbildschirm zu platzieren. Durch Mausklick auf jeweils einen Button wird die Html Anwendung in einem getrennten Browser Fenster aufgerufen. Durch Klick auf den “Sichern” Button im Browserfenster gelangt man wieder zu R/3 zurück und setzt die eigentliche MM01 Transaktion mit einem InputScript fort.

Sap Guixt javatrans4 Transaktionen vereinfachen mit GuiXT, HTML and Java Script

Das GuiXT SKript sieht in diesem Fall folgendermaßen aus:

Image (12,00) “button_desktop.gif”  “Start=Materialanlegen_desktop.html”  “-plain”
Image (12,18) “button_notebook.gif” “Start=Materialanlegen_notebook.html” “-plain”
Image (12,36) “button_server.gif”   “Start=Materialanlegen_server.html”   “-plain”
Image (12,54) “button_speicher.gif”  “Start=Materialanlegen_speicher.html”  “-plain”


2

Die Html Schnittstelle können Sie entweder manuell oder mit einem geeigneten Html Editor erstellen:

Sap Guixt javatrans5 Transaktionen vereinfachen mit GuiXT, HTML and Java Script

Alle Eingabefelder und die Gruppen der Radiobuttons (Auswahlknöpfe) müssen Namen haben, beispielsweise MaterialText or MaterialTyp, die in den Java Script Funktionen verwendet werden.

Das Ereignis “Anwender klickt auf den Sichern Button” wird durch eine Java Funktion so umgesetzt, dass alle Werte zu R/3 gesendet werden: onclick=”save();” . Die Java Funktion verwendet hierfür eine Funktion ToGuiXT die die URL aufbaut, die für die Kommunikation mit GUiXT gebraucht wird. (Diese Function ist in dem unten aufgeführten HTML code enthalten).

Hier ist nun der gesamte HTML code für unser Beispiel (Material_anlegen.html):


3

Zum Schluß brauchen Sie noch ein InputScript (Material_anlegen.txt), um alle Daten an R/3 zu übergeben.

Wenn ein Fehler während der Laufzeit des InputScript auftritt, erhält der Anwender eine Meldung auf dem Ursprungsbildschirm, von dem er gestartet ist. Sie können auch die “No return on error” Option in Ihrem InputScript angeben. In diesem Fall zeigt das System den R/3 Bildschirm an, auf dem der Fehler aufgetreten ist. Der Anwender kann dann dort die Eingabe korrigieren.

Anzustreben ist es, dass Ihre HTML Anwendung die Datenintegrität überprüft, sobald die Werte eingegeben werden oder wenn der Anwender auf den “Sichern” Button klickt, bevor die Daten an R/3 geschickt werden. Das ist allerdings nicht immer möglich, (z.B. wenn Sie zusätzliche R/3 Daten benötigen, die nicht verfügbar sind). Die
Datenintegrität wird aber in diesem Fall auch durch R/3 überprüft, bevor die Datenbank aktualisiert wird.

Transaktionen vereinfachen mit GuiXT, HTML and Java Script