As I am implementing SAP E-recruiting EHP4 solution for one of our major clients in the middle east, I found lots of interesting technical concepts. One being them is the Floor plan manager.
When we started the implementation, we were bit worried as the “CONTEXT” concept is missing in the latest E-recruiting EHP4 solution.
In the earlier versions of E-recruiting(using BSP) we had this option(CONTEXT) and we were able to create different custom/standard BSP applications and integrate them. Since we had different groups initiating the Requisition, we were able to classify the requisition screen information,fields, buttons, tabs in the screen based on the CONTEXT during the runtime.
Then came the solution to achieve the above concern. Yes, we are able to achieve it using the Floor plan manager in ABAP Webdynpro.
This blog will explain about the dynamic behavior of tabs, fields, during the requisition creation. We created different VARIANTS in the Floor plan manager using the application configuration. This application Configuration is based on the object instance Floor plan.
These variants will be determined during the runtime of the ABAP Webdynpro application.
VARIANT 1 in the Floor plan manager,
VARIANT 2 in the Floor plan Manager,
I made interest group(HRP5125-tgroup) as the criteria to determine the VARIANTS for the same application configuration. Upon selecting the interest group, the support team tab , posting tab is hidden.
VARIANT 1 during the runtime,
VARIANT 2 during the runtime,
Loading the variants at the Run time:
The Webdynpro component should have all the Floor plan implemented interfaces such as IF_FPM_UI_BUILDING_BLOCK,IF_FPM_OIF_CONF_EXIT & IF_FPM_TRANSACTION.
In the component controller, there is a method called OVERRIDE_EVENT_OIF.
I have a Ztable which has the information about the interest group, the corresponding variant and the component configurations. The Variant is loaded in this method.
Even I was able to hide the screen fields by creating different component configurations for the Webdynpro component based on the interest group. At last, I assigned these component configurations by loading them during the Runtime.
Component Configurations created for the component.
Loading the component configurations at the Run time,