BSP-Applikationen als HTML-Template im GUI

61 views
Skip to first unread message

Rüdiger

unread,
Jun 25, 2010, 11:34:11 AM6/25/10
to BSP-Praxis
In sehr seltenen Fällen sind so komplexe oder ausgefeilte User
Interfaces gewünscht, dass die normalen Möglichkeiten des "Screen
Painters" (SE51) zur Realisierung nicht ausreichen. Hier kann man sich
eventuell mit HTML behelfen: Wenn es möglich ist, die
Benutzerschnittstelle mittels HTML, CSS und JavaScript zu realisieren,
kann man sie als BSP-Applikation entwerfen und mit Hilfe der Klasse
CL_GUI_HTML_VIEWER in ein Dynpro einbinden.

In anderen Fällen kann es vorkommen, dass bereits eine fertige BSP-
Applikation vorliegt: diese soll nun nicht nur im Browser, sondern
auch in bestimmten Bildbereichen einer GUI-Anwendung dargestellt
werden.

Zu diesem Thema gibt es im Buch "Advanced BSP Programming" von Brian
McKellar und Thomas Jung ein sehr nützliches Kapitel "Using BSP
Applications in SAP GUI". In meinem BSP-Praxisbuch ist das Thema
dagegen nicht abgehandelt, dort liegt der Focus auf der klassischen
Webanwendung.

Das Wesentliche in Kürze:

1.) Die BSP-Applikation läuft in einem eigenen Prozess, der nichts von
der GUI-Transaktion weiss.
2.) Um das Anmeldepopup beim Start der BSP-Applikation innerhalb der
GUI-Transaktion zu verhindern, ruft man vor dem Start des Viewers
dessen Methode enable_sapsso() auf.
3.) Um Events wie keydown oder Eingaben an den GUI zu übermitteln,
kann die im CL_GUI_HTML_VIEWER übliche Technik verwendet werden: Man
bindet URLS mit dem speziellen Präfix SAPEVENT: an ein Formular, das
dann mit POST oder GET abgesendet werden kann. In der Transaktion hat
sich dann eine Klasse auf das Ereignis sapevent des Viewers
registriert.
4.) Für die umgekehrte Richtung, um also Daten an die dargestellte
HTML-Seite zu senden, kann man die Viewer-Methode execute_script()
benutzen. Diese sendet zuvor eingelagerten JavaScript-Code an die
dargestellte Seite, die diesen Code dann ausführt - etwa so, als würde
man ihn in der Adresszeile des Browsers mit dem Präfix "javascript:"
angeben.

Das funktioniert gut und ist so bei der MIGROS für mittlerweile zwei
Applikationen im Einsatz. Fälle dieser Art bilden jedoch wirklich die
Ausnahme. In den meisten Fällen genügt entweder eine klassische
Transaktion mit Dynpros im SAP GUI - oder eine im Browser
dargestellten Webanwendung, die dann als BSP implementiert wird.
Reply all
Reply to author
Forward
0 new messages