!--a11y-->
BSP application
SYSTEM is divided into two large areas, so that user-specific adjustments or enhancements are easier to make:Own BSP Application
The BSP application contains the layout for the application.
Application Class CL_BSP_LOGIN_APPLICATION
The application class contains the business logic for an application.
The BSP application class is configured once for the whole BSP application. With this configuration, a reference to the application class is available for the duration of the stateful session within all pages, using parameter
APPLICATION.
To simplify enhancements, both language-dependent text strings and all data required for the BSP application are written to the application class. The BSP application itself contains references to this information only using the syntax.
Interface
IF_BSP_APPLICATION_EVENTS was implemented to make it even easier to integrate the application class in the BSP application. This means that the application class has control both before and after processing and as a result it can integrate specific logon logic without large coding changes to the pages being necessary.Possible Adjustments

Under no circumstances whatsoever should you make changes to BSP applications
SYSTEM or its application class CL_BSP_LOGIN_APPLICATION!For the enhancements, note the following points:
If you want to use one of the exit URLs, such as page
TermsOfUse.htm, then additional pages are required as destinations. These pages must be publicly accessible. A possible implementation would be analogous to the method with layout changes. You could then write the pages that are additionally required directly in your new SYSTEM application.Layout changes
It is recommended that you copy BSP application
SYSTEM to a new BSP application.
If the copy process terminates with the error message that the name
Continue to use the same application class,
CL_BSP_LOGIN_APPLICATION, since it contains the whole logon logic.Note the following different settings that are required depending on the release status:
|
Area |
SAP Web AS 6.10 |
SAP Web AS 6.20 and above |
|
ICF service tree |
First, in Transaction SICF (see also Creating an ICF service) you must create the actual entry for your copies SYSTEM application in the ICF service tree, in path sap/bc/bsp/sap/<copied SYSTEM>.
Then make a new alias entry in the public path, so that your new SYSTEM application can be accessed publicly (using the SAPSYS user). The exact path for this in the ICF service tree is sap/public/bsp/sap/<copied SYSTEM>. |
The entry for your copied SYSTEM application is automatically made in the ICF service tree in Transaction SICF as part of the copy process.You only need to make a new alias entry in the public path of the ICF service tree, so that your new SYSTEM application can be accessed publicly (using the SAPSYS user). The exact path for this in the ICF service tree is sap/public/bsp/sap/<copied SYSTEM>. |
|
MIME objects |
As part of the copy process, only the pages are copied, not the MIME objects. This is why you must transfer the MIME objects to your new SYSTEM application after you copy the SYSTEM. Proceed as follows:
|
During the copy process, you can copy MIME objects as well as pages. To do this, in the copy dialog box for the sub-objects to be copied, select the options for the MIME objects as well as the pages. |
|
Pages that cannot be activated |
There are three pages in your copied SYSTEM application that cannot be activated.These pages do not have any additional influence on the functionality of the remaining SYSTEM application. We therefore recommend that you manually delete the following three pages from your copy of the SYSTEM application:
|
No changes required. |
Once you have copied the
SYSTEM application, use the name of your copied SYSTEM application for the redirect with the error pages and not the SYSTEM application itself.Small changes to the logic
The special class
CL_BSP_LOGIN_HANDLER is available for this. Implement your own class, which is derived from CL_BSP_LOGIN_HANDLER and, if necessary, overwrite all methods that you require for your application in a modified form. Then configure SYSTEM so that it uses your new handler class (BspHandlerClass). If the new application class is started, the specified handler class is also created and the handler class is also called.Since all application-relevant information is available as public attributed in the application class, the handler class can overdefine specific information. Typical application areas for the handler classes are:
This particularly useful if you need a longer configuration URL than
SICF supports. In this case, configure a handler class in which all required exit URLS are set, such as BspTermsOfUse.An example is setting and resetting cookies which are required for the duration of the application. Further examples are executing additional authorization checks and writing logging information.
Enhance the
SYSTEM application class.This is not usually recommended, but may be necessary in extreme cases. Implement your own application class which is derived from
CL_BSP_LOGIN_APPLICATION and overwrite the required methods. Then copy SYSTEM to your own application and configure the new application class.
