!--a11y-->
Spezifizieren Sie hier die Aktionen, die ausgeführt werden sollen, wenn diese Seite durch einen HTTP-Request aufgerufen wird.

Dies ist sowohl bei expliziter Navigation auf die Seite der Fall als auch wenn ohne explizite Navigation einfach wieder die Seite durchlaufen wird.
Der Eventhandler OnRequest enthält folgenden Programmcode:
|
IF application->m_basket IS INITIAL AND runtime->keep_context = 0. * fill basket from cookie CALL METHOD application->do_restore_basket EXPORTING runtime = runtime. ENDIF. |
Wenn die Einkaufskorb-Struktur leer ist und stateless gearbeitet wird, wird der Einkaufskorb anhand des Client-seitig gespeicherten Cookies wieder hergestellt. Dies ist notwendig, wenn der Einkaufskorb Einträge enthalten hat, der Benutzer aber dann mit dem Browser etwas anderes gemacht hat und zu einem späteren Zeitpunkt wieder seinen Korb anzeigen will.

War der Korb wirklich leer, so ist er nach Durchlaufen dieses Eventhandlers natürlich immer noch leer.
Die Methode
do_restore_basket der Klasse CL_BSP_TUTORIAL arbeitet wie folgt.|
method DO_RESTORE_BASKET . * ... data: serialized type string.
* restore shopping basket from cookie call method runtime->server->request->get_cookie exporting name = 'bspbasket' importing value = serialized.
call method do_instantiate_basket exporting serialized = serialized.
endmethod. |
Zunächst wird das Cookie vom Client abgeholt. Das Cookie ist der serialisierte Einkaufskorbinhalt, der anschließend durch Aufruf von
do_instantiate_basket wieder in die Einkaufskorb-Struktur gefüllt wird.Siehe auch:
Applikationsklasse
Weiter geht's mit dem Eventhandler