!--a11y-->
Die Applikationsklasse ist eine ABAP-Klasse, die mit dem Class Builder erstellt und dann der BSP-Applikation zugeordnet wird (siehe auch
Applikationsklasse einer BSP-Applikation).
CL_BSP_TUTORIAL
Die Klasse
CL_BSP_TUTORIAL dient als Anwendungsklasse für das BSP-Tutorial 4. Hier ist ein kleiner Buchladen implementiert, und die Klasse stellt die Methoden zur Pflege des Einkaufskorbes zur Verfügung.Das Herzstück der Klasse ist die Methode
DO_MAINTAIN_BASKET, die alle anderen Methoden abhängig von der Aktion des Benutzers aufruft. Dies sind im einzelnen:Diese Methode dient zum Instantiieren des Einkaufskorbes aus dem Cookie, wandelt also die serialisierte Form des Einkaufskorbes wieder in die strukturierte Form um.
Diese Methode ist die Umkehrabbildung zu
DO_INSTANTIATE_BASKET, sie serialisiert eine Einkaufskorbstruktur in ein Cookie.Diese Methode fügt dem Einkaufskorb eine bestimmte Anzahl von Büchern zu (Eingabeparameter sind die Menge und die Katalog-ID des Artikels).
Diese Methode ist etwas allgemeiner als
DO_ADD_TO_BASKET. Eingabeparameter sind ebenfalls Anzahl und Artikel, der Einkaufskorb wird entsprechend aktualisiert, etwa wenn statt 2 plötzlich 5 gleiche Bücher gekauft werden.Diese Methode löscht einen gegeben Artikel aus dem Einkaufskorb. Die Anzahl der Artikel spielt hier keine Rolle.
Diese Methode stellt den Einkaufskorb wieder her, wenn auf die Seite gegangen wird. Hierzu holt sie sich zunächst das Cookie vom Browser und ruft anschließend die Methode
DO_INSTANTIATE_BASKET auf.Pflege des Einkaufskorbes mit DO_MAINTAIN_BASKET
Eingabeparameter der Methode sind:
Katalog-ID des betreffenden Buches
Angabe der Anzahl, d.h. wieviele Bücher mit der CATID in den Korb sollen
Benutzeraktion: Es gibt
add, update, delete, clear und doorder.BSP-Laufzeit
Die Methode baut sich zunächst den Einkaufskorb anhand des Cookies auf, das sie durch Aufruf der Methode
runtime->server->request->get_cookie bekommt, bearbeitet den Korb dann entsprechend der Benutzeraktion und wandelt abschließend den Korb wieder in ein Cookie um, das mit runtime->server->request->set_cookie wieder an den Browser geschickt wird.