Formulareingaben auswerten
Web-Formulare können Sie nicht nur im Browser anzeigen. Über die Registerkarte Web-Eigenschaften von Text-Knoten zeichnen Sie Felder als Eingabe-Elemente aus. SAP Smart Forms klammert alle Eingabe-Elemente eines Formulars in einem HTML-Formular. Diese Vorgehensweise beschreibt, wie sie mit Hilfe in einer BSP-Applikation die Eingaben eines Web-Formulars auswerten.
Sie erzeugen bereits über Smart Forms ein Web-Formular in einer BSP-Applikation (siehe: Integration in BSP-Applikationen). Das Formular enthält mindestens ein Feld, das als Submit-Drucktaste ausgezeichnet ist (siehe auch: Web-Eigenschaften).
Das Smart Form rufen Sie im Eventhandler OnInitialization Ihrer BSP-Seite auf, beispielsweise auf der Seite FORM.HTM.
Damit Smart Forms die Ziel-URL, an die die eingegebenen Daten übertragen werden sollen, in die HTML-Ausgabe hineingenerieren kann, müssen Sie diese URL über den Parameter XSFACTION angeben. Weisen Sie diesem Parameter vor dem Aufruf des Smart Form den Namen der BSP-Seite zu, die beim Klicken auf die Submit-Drucktaste aufgerufen werden soll:
Syntax
data: ls_output_options type ssfcompop.
ls_output_options-xsfaction = 'PAGE.HTM'.
Hinweis
Wenn Sie den Parameter XSFACTION nicht füllen, lädt der Browser beim Klicken auf die Submit-Drucktaste auf die aktuelle Seite erneut (also FORM.HTM).
Holen Sie sich die Formulareingaben auf der Folgeseite im Eventhandler OnInitialization (PAGE.HTM in diesem Beispiel). Dazu verwenden Sie die Methode get_form_fields des request-Objektes:
Syntax
data: http_fields type TIHTTPNVP.
call method request->get_form_fields
changing fields = http_fields.Werten Sie die Tabelle http_fields in Ihrer Anwendung aus. Jede Tabellenzeile besteht aus den Feldern Name und Value (also einem Name/Wert-Paar). Die Eingabe-Elemente sind nach Ihrem Auftreten im Formular in der Tabelle geordnet.
Achtung
Es gibt auch HTML-Elemente, die nur dann übertragen, werden, wenn Sie 'aktiv' sind (angekreuztes Ankreuzfeld, geklickte Submit-Drucktaste). Andernfalls sind sie nicht in der Tabelle http_fields enthalten. Siehe auch: Exkurs: HTML-Formulare und die Beispiel BSP-Applikation SF_WEBFORM_02.