You can extend the Define Subjects app according to your business needs for different aspects. For this purpose, the following extensibility options are available:
You can extend the app to hide existing fields.
Any fields apart from the mandatory fields can be hidden from the user interface.
You can extend the app to add new additional fields in the Basic Information section of Create, Display, or Edit screens.
To add a customer field to the app, the extensibility entities listed below are available on the different software layers. You have to extend each of these entities according to your specific business needs:
UI |
Back End/ABAP |
|||
---|---|---|---|---|
View |
Extension Point |
Design Time: Gateway Entity |
Design Time: Extension Include (in DDIC Structure) |
Runtime: Superclass/ Method to Be Redefined |
ux.fnd.definesubject.view.S3 |
custSubjFieldsLabels |
Subject |
SMI_S_DFNSUBJ_SUBJECTSETTING |
Superclass: CL_SOMI_DEFINE_SUBJ_02_DPC_EXT Method: SUBJECTSET_GET_ENTITY |
ux.fnd.definesubject.view.S3 |
custSubjFields |
Subject |
SMI_S_DFNSUBJ_SUBJECTSETTING |
Superclass: CL_SOMI_DEFINE_SUBJ_02_DPC_EXT Method: SUBJECTSET_GET_ENTITY |
ux.fnd.definesubject.view.S4 |
custSubjFieldsEdit |
Subject |
SMI_S_DFNSUBJ_SUBJECTSETTING |
Superclass: CL_SOMI_DEFINE_SUBJ_02_DPC_EXT Method: SUBJECTSET_UPDATE_ENTITY |
ux.fnd.definesubject.view.S5 |
custSubjFieldsCreate |
Subject |
SMI_S_DFNSUBJ_SUBJECTSETTING |
Superclass: CL_SOMI_DEFINE_SUBJ_02_DPC_EXT Method: CUSTOM_CREATE_DEEP_ENTITY |
Business Add-Ins (BAdIs)
The following BAdI is available for extensibility purposes:
Maintain Additional Data for a Subject (BADI_SOMI_DEFINE_SUBJECT)
You can use this BAdI to maintain additional data in the OData service for a subject. This BAdI is called in the Data Provider Secondary Class (CL_SOMI_DEFINE_SUBJ_02_DPC_EXT).
UI Controller Hooks
To plug in and execute custom code, the following hooks are available in the controller code:
Controller |
Hook |
Use |
---|---|---|
ux.fnd.definesubject.view.S4 |
extHookGetCustomFieldData |
Allows you to fetch data for the newly added field in the Edit screen |
ux.fnd.definesubject.view.S4 |
extHookCheckCustomFieldData |
Allows you to check data for changes in the newly added field in the Edit screen |
ux.fnd.definesubject.view.S4 |
extHookClearCustomFieldData |
Allows you to clear data from the newly added field in the Edit screen |
ux.fnd.definesubject.view.S5 |
extHookGetCustomFieldData2 |
Allows you to fetch data for the newly added field in the Create screen |
ux.fnd.definesubject.view.S5 |
extHookCheckCustomFieldData2 |
Allows you to check data for changes in the newly added field in the Create screen |
ux.fnd.definesubject.view.S5 |
extHookClearCustomFieldData2 |
Allows you to clear data from the newly added field in the Create screen |
ux.fnd.definesubject.view.S3 |
extHookGetCustomDisplayData |
Allows you to fetch data for the newly added field in the Display screen |
If there are additional UI controller hooks available in the controller code, you can add own code. For more information, see the extensibility documentation for the respective SAP NetWeaver release on your front-end server at http://help.sap.com/fiori_implementation .
Display of UI Controls
The following UI controls can be hidden on the app UI:
View |
Control ID |
Use |
---|---|---|
S2 |
item_period |
Allows you to hide the time period for which the posts were harvested |
S3 |
LSubjectDescription TSubjectDescription |
Allows you to hide subject description label and text box |
S3 |
LExcludeFrmQry CBExcludeFrmQry |
Allows you to hide Exclude from Query label and check box. |
S3 |
LDataHarvesting idHarvestingSwitch |
Allows you to hide the data harvesting label and switch |
S4 |
LSubjectDescription ISubjectDescription |
Allows you to hide subject description label and input box |
S4 |
LExcludeFrmQry CBExcludeFrmQry |
Allows you to hide Exclude from Query label and check box |
S4 |
TDataHarvesting idHarvestingSwitch |
Allows you to hide the text and the switch |
S5 |
LSubjectDescription ISubjectDescription |
Allows you to hide subject description label and input box |
S5 |
LExcludeFrmQry CBExcludeFrmQry |
Allows you to hide Exclude from Query label and check box |
S5 |
TDataHarvesting SHarvestingSwitch |
Allows you to hide the text and the switch |
For more information about hiding UI controls, see the extensibility documentation for the respective SAP NetWeaver release on your front-end server at http://help.sap.com/fiori_implementation .
For a general description of the extensibility options and procedures of SAP Fiori apps, see http://help.sap.com/fiori_implementation .