Example 
This example shows which attributes you have to change and which methods you have to overwrite in order to implement your own logon screen that should have the following elements:
User names
Password
Logon pushbutton
Your class is a subclass of CL_ICF_SYSTEM_LOGIN.
You need the following attributes in your class for your changes:
Attributes
Attribute |
Description |
CO_FORM_LOGIN |
Form name |
M_SAP_APPLICATION |
Value of the action form attribute |
CO_SAP_USER |
Name and ID of the input field for the user name |
CO_SAP_PASSWORD |
Name and ID of the input field for the password |
CO_JS_SUBMIT_LOGIN |
Name of the JavaScript function to be called when a pushbutton is pressed on the logon screen |
CO_EVENT_LOGIN |
Event to be triggered when the logon pushbutton is pressed |
In addition to the attributes, you need the htm_login method, which you overwrite in your class.
The interface of the htm_login method is used to transfer the JavaScript functions that are necessary and provided by the system and a series of form field value pairs of type HIDDEN, which are required to control the logon. The JavaScript functions are transferred as a string in the iv_javascript parameter; the form fields are transferred in the iv_hidden_fields parameter
The HTTP body that is necessary for the HTTP response is summarized in the htm_login method and returned as a string to the caller.