Integration in BSP-Applikationen
Mit dem SAP Release 6.10 hat sich die Architektur des SAP-Systems grundlegend gewandelt. Der Applikationsserver kann in dieser Architektur als Web Server und als Web Client fungierent.
BSP-Applikationen (BSP: Business Server Pages) bauen auf dieser neuen Architektur auf. Sie ermöglichen die Entwicklung von Internet Anwendung mit serverseitigem Skripting in ABAP oder JavaScript. Da BSP-Applikationen direkt auf dem Web Application Server laufen, kann der Entwickler außerdem auf alle Resourcen des Applikationsservers (zum Beispiel Datenbankzugriffe, Funktionsbausteinaufrufe) zugreifen.
Der Zeitpunkt des Zugriffs auf diese Resourcen ist Ereignisgesteuert. Um Aktionen wie Datenselektion, Initialisierungen oder Eingabeverarbeitung vor beziehungsweise nach der Darstellung einer Web-Seite zu ermöglichen, stellt eine BSP-Applikation mehrere Standard-Ereignisse zur Verfügung.
Mit der formatierten XSF-Ausgabe können Sie Formulare mit Hilfe des Web Application Server über eine HTTP Response an den Client senden, also im Web-Browser anzeigen:

Die BSP-Seite wird durch den Benutzer oder eine vorhergehende BSP-Seite aufgerufen. Der HTTP-Request wird über den Web Application Server an die BSP Laufzeitumgebung
weitergereicht.
Die BSP Laufzeitumgebung löst das Ereignis Initialization aus. Im zugehörigen Eventhandler OnInitialization können Sie nun Daten zu Ihrem Formular selektieren - in der Regel ausgehend von Eingaben des Benutzers der vorhergehenden BSP-Seite.
Um HTML (mit eingebettetem CSS) zu erzeugen, parametrisieren Sie den Smart Forms Funktionsbaustein und rufen ihn auf (siehe: Ausgabe im HTML-Format).
Der Funktionsbaustein gibt HTML als Tabelle im RAW Format zurück.
Hinweis
Die letzten beiden Schritte können Sie natürlich auch in einer Methode oder einem Funktionsbaustein kapseln.
Um das Formular im Browser anzuzeigen, müssen Sie das durch die BSP-Laufzeitumgebung zur Verfügung gestellte Response-Objekt mit der Methode SET_DATA füllen. Diese Methode erwartet die Daten als XSTRING. Konvertieren Sie die XSF-Ausgabe entsprechend und übergeben Sie es an das Response-Objekt:
Syntax
* Variables for formatted XSF and conversion
data: ls_xmloutput type ssfxmlout,
lt_html_raw type tsfixml.
data: l_xstring type xstring,
"needed for HTTP response
l_xlength type i,
l_html_xstring type xstring.
* ls_xmloutput has been returned by Smart Form
ls_xmloutput = ls_output_data-xmloutput.
lt_html_raw = ls_xmloutput-trfresult-content[].
* Convert RAW to XSTRING
loop at lt_html_raw into l_xstring.
concatenate l_html_xstring
l_xstring into l_html_xstring
in byte mode.
endloop.
* Set header of response
response->set_header_field
( name = 'content-type'
value = ls_xmloutput-trfresult-type ).
* Fill response object
l_xlength = xstrlen( l_html_xstring ).
response->set_data( data = l_html_xstring
length = l_xlength ).
Hinweis
In der BSP-Applikation SF_WEBFORM_01 können Sie eins von wahlweise drei Formularen, die nicht speziell für die Verwendung im Web verändert wurden, anzeigen.
Der Web Application Server sendet die XSF-Ausgabe an den Browser.