
Überblick
Diese einfache BSP-Applikation beinhaltet zwei BSPs mit Layout, Seitenattributen und Eventhandler OnInitialization.
Abhängig von den Benutzereingaben zum Erscheinungsjahr werden auf einer Folgeseite unterschiedliche Buchlisten in Tabellenform ausgegeben.
Im Web Application Builder sehen diese BSPs folgendermaßen aus:
|
Layout von startpage.htm |
<%@page language="abap"%>
<html>
<head>
<link rel="stylesheet" href="../../sap/public/bc/bsp/styles/sapbsp.css">
<title> Auswahlseite </title>
</head>
<body class="bspBody1">
Erscheinungsjahr:
<form method="post" action="page2.htm" >
<select name="sel_publyear">
<option value="2000"> Jahr 2000
<option value="2001"> Jahr 2001
</select>
<input type="submit" value="Select">
</form>
</body>
</html>
|
|
Layout von page2.htm |
<%@page language="abap"%>
<html>
<body>
<h2> Buchliste </h2>
<table border=1>
<tr>
<th>Titel</th>
<th>Verlag</th>
<th>ISBN</th>
</tr>
<% data: wbook like line of books.
loop at books into wbook. %>
<tr>
<td><%= wbook-title %></td>
<td><%= wbook-publisher %></td>
<td><%= wbook-ISBN %></td>
</tr>
<% endloop. %>
</table>
</body>
</html>
|
|
OnInitialization von page2.htm |
data: year type int.
year = request->get_form_field( 'sel_publyear' ).
select * from bsbook into table books where publyear = year.
|
|
Seitenattribute von page2.htm |
||||
|
Attributname |
automatisch |
Typisierungsart |
Bezugstyp |
Beschreibung |
|
books |
TYPE |
BOOK_TAB |
Buchliste |
Die interne Tabelle books vom Typ BOOK_TAB wird im OnInitialization gefüllt.
Verarbeitungsablauf
Die einzelnen Schritte, die bei der Verarbeitung dieser BSP durchlaufen werden, sind wie folgt:
Der Benutzer ruft eine BSP-Applikation im Browser auf bzw. gibt eine entsprechende URL ein.
Ein HTTP-GET Request wird an die BSP-Laufzeit gesendet.
Die BSP-Laufzeit ermittelt die passende BSP-Applikation und die geforderte BSP: startpage.htm.
Da es für diese Seite lediglich das Layout gibt, so wird es ausgewertet.
Die BSP-Laufzeit generiert die Seite und sendet sie an den Browser zur Anzeige.
Der Benutzer wählt im Pulldown-Menü das gewünschte Erscheinungsjahr aus und drückt auf den Button.
Nun wird ein HTTP-POST Request an die BSP-Laufzeit gesendet.
Dieser POST-Request fordert eine andere Seite an, nämlich page2.htm.
Von dieser zweiten Seite wird zuerst der Eventhandler OnInitialization ausgewertet. Hier wird die Tabelle BSBOOK ausgelesen, und zwar nur diejenigen Buch-Einträge, deren Erscheinungsjahr der Benutzer spezifiziert hat.
Im Layout wird der Scripting-Code verarbeitet und das Rendering der Seite durchgeführt: Eine HTML-Tabelle wird ausgegeben und mit Inhalt gefüllt.
Die BSP-Laufzeit generiert daraufhin eine passende Response
und sendet sie an den Browser, der die BSP zur Anzeige bringt.