Motivation and Objective:- For any IS-U project, business always have a requirement which cannot be mapped to SAP standard code and thus goes for enhancements. Such requirements call for a DB level enhancement to store the business specific details.
This blog shall help to enhance the standard IS-U connection object at the Database layer and at the UI layer. Custom fields can be added to the standard DB table by implementing the standard include. Adding additional custom fields to the standard include is not sufficient, you need to implement the customer exit under the SAP enhancement ‘ES550001’.
IFLOT is the standard database table that is used for connection object/functional location. IFLOT contains functional location number and technical object data which we see in connection object transactions ES55, ES56, ES57.
To add the customer specific fields at the database level, you need to implement the Include provided by standard in the IFLOT table and then you need to implement the customer exit under the SAP enhancement ES550001.
Below are the steps to enhance the connection object at SAP IS-U:-
Step 1 : Add custom fields in table ‘IFLOT’ by implementing the include ‘CI_IFLOT’.
Step 2 : FM ‘ISU_S_CONNOBJ_CREATE’ is used to create the connection object.
Populate the required custom fields and pass them to the FM ‘ISU_S_CONNOBJ_CREATE’.
Pass the custom fields to the parameter ‘X_AUTO-EHAUD’ in FM ‘ISU_S_CONNOBJ_CREATE’.
Set the flags ehaud_use as ’X’ , ehaud_done as ’X’ and ehaud_okcode = ‘SAVE’ and do a commit after calling the FM ‘ISU_S_CONNOBJ_CREATE’.
Step 3 : After adding the customer-specific fields to the include, you need to implement customer exit ‘EXIT_SAPLES55_008’ under the SAP enhancement ES550001. For that you need to create an enhancement project using T-code ‘CMOD’. Assign the enhancement ‘ES550001’ to the newly created project. There are ten customer exits under the SAP enhancement ES550001. Implement the Connection Object function exit ‘EXIT_SAPLES55_008’ to export the additional data to the database.
Implement the include ZXES55U08 in the exit ‘EXIT_SAPLES55_008’.
You can navigate to the include by executing T-code ‘CMOD’ , enter the newly created enhancement project, select radio button ‘Components’ as the Subobject and then to FM ‘EXIT_SAPLES55_008’ or by executing T-code ‘SE80’, Function Group ‘XES55’, FM ‘EXIT_SAPLES55_008’. Also, you can navigate using T-code ‘SMOD’, enter the Enhancement ‘ES550001’ ,select Radio button ‘Components’ for the Object Components and then to FM ‘EXIT_SAPLES55_008’.
Get the Connection Object data from connection object global structure OBJ. Structure ‘EHAU’ is used to populate the data. So, populate the custom fields in structure ‘XY_SUB_OBJ-EHAU’. When connection object is opened in the ‘Change’ mode, pass ‘SAVE’ as the okcode in the auto structure and then pass the required customer specific fields to XY_SUB_OBJ-EHAU structure.
Connection object gets created with the additional fields stored in the database.
Step 4: For enhancing Connection Object Screen, perform steps from 1 to 3. Create a sub screen where you want to add the custom fields. Add the required fields on that screen. You can show and hide the fields in the PBO event for the sub screen. Implement the PBO of the Connection Object Screen as shown in example below and then you will be able to see the custom fields on the Connection Object Screen.
Declare a global data object ‘IFLOT’ in the Top include as a table work area whose data type is taken from the ABAP Dictionary.
Get the connection object data from Global structure OBJ and then pass all the data including the additional customer specific fields to the global structure ‘IFLOT’ that was used to add the custom screen fields.
Custom fields got displayed on the UI.