FPM application controller is a very important concept when you want to control and steer the application as a whole.
I've faced a case of my colleague. Wasted so much time on the setting of the FPM application controller.
In the application, he implemented the interface:IF_FPM_OIF_CONF_EXIT and IF_FPM_UI_BUILDING_BLOCK.
After implement the two interface, there is a method appeared OVERRIDE_EVENT_OIF which was expected to be execute when the application startup or the tab switched. However, after he finished the configurate of the application based on FPM. The break-point in the method OVERRIDE_EVENT_OIF did not activated. Finally, we found that he did not set the component to be the application specific controller.
Following, I will introduce the steps to set the application specific configuration controller to enable the method OVERRIDE_EVENT_OIF or OVERRIDE_EVENT_GAF.
1. Implement the interface IF_FPM_UI_BUILDING_BLOCK and IF_FPM_OIF_CONF_EXIT(IF_FPM_GAF_CONF_EXIT).
2.Create applicatoin based on the FPM.
3.Go to the component configurationof the component 'FPF_OIF_COMPONENT'
4.Click the button 'Change' which is marked in red in below picture.
5.A sub menu will appear, choose 'Global Settings' and click on it.
6. In the popup golbal settings window, fill the component name into the input field marked as red in the below picture.
After doing this, when you execute the application, the method OVERRIDE_EVENT_OIF or OVERRIDE_EVENT_GAF of the component which was filled in the global setting as the application specific component will be exected first.
In the method OVERRIDE_EVENT_OIF or OVERRIDE_EVENT_GAF, you can:
2.Selecting a variant
4.Reading the configuration at runtime
5.Changing the configuration at runtime.
Details please refer to the related documents.