Wie kann ich für lang laufende Prozesse einen Timeout abfangen? 
In einer BSP-Applikation kann es aufgrund von großen Datensammlungen im OnInitialization-Eventhandler auf der folgenden Seite zu einem Timeout kommen. Dieser Timeout soll abgefangen werden und eine passende Fehlermeldung soll ausgegeben werden, ohne dass der Session-Kontext verloren geht.
Das Problem der lang laufenden Prozesse können Sie durch das Starten der langen Prozesse in einem zweiten Thread lösen, so dass der Frontend-Thread schnell die nächste HTML-Seite im Browser ausgeben kann. In ABAP entspricht dies dem Aufruf call function ... in background task.
Auf dieser Folgeseite können Sie den HTML-Refresh-Mechanismus einsetzen, d.h. diese Seite wird automatisch z.B. nach 20 Sekunden aktualisiert. Zusätzlich wird eine Fortschrittsanzeige eingeblendet und eine freundliche Meldung, die besagt, dass das System noch beschäftigt ist.
Die Synchronisation des Frontend-Task mit dem Prozess-Task geschieht durch die Datenbank.