Feeder Class Parameter Use to build generic feeder class in FPM
Feeder class parameter can be used in many ways to build some more generic feeder class which can be used across multiple UIBB processing in FPM application.
The below post tries to show one use case of the feeder class parameter which can be used to build one list uibb feeder class that can be used in many list uibb configuration.
Let’s create a class which implements interfaces related to list uibb processing.
Go to the GET_PARAMETER_LIST method.
Here we can pass a name and a type . The type may be a data element.
Now create a OVP application in Tx- FPM_WB. Add a list UIBB and create a configuration.
The list UIBB configuration asks for feeder class.
Provide the created feeder class. Click on Edit Parameter.
This data element used in the feeder class IF_FPM_GUIBB~GET_PARAMETER_LIST method as TYPE.
Now the feeder class asks for the parameter value.
Add a parameter name as SPFLI and click on OK.
The feeder class doesn’t provide any field catalogue yet.
In OVP application create one more list UIBB configuration and click on Configure UIBB.
Provide the same feeder class and click on Edit Parameter.
This time provide parameter value as SFLIGHT.
Feeder class doesn’t provide any field catalogue yet. So no columns appear to add in the list UIBB configuration.
Up to this point, we just finished 2 list UIBB configuration where both use the same feeder class and first UIBB configuration sets the parameter value as SPLFI and the second UIBB sets the parameter value as SFLIGHT. Now we have to add the fields in the list uibb and the fields should be provided from the feeder class.
In the feeder class create an attribute.
Go to the feeder class IF_FPM_GUIBB~INITIALIZE method.
The feeder class pass the field type from the method IF_FPM_GUIBB~GET_PARAMETER_LIST to the listUIBB configuration and the list UIBB configuration created a value. The value is then passed to the IF_FPM_GUIBB~INITIALIZE method.
Here we can read the feeder class parameter value set in the list UIBB configuration by the specific list UIBB. Put the below code and put a breakpoint at last.
In the list UIBB configuration, Select the first uibb configuration and click on Configure UIBB.
Now the FPM framework calls the feeder class IF_FPM_GUIBB~INITIALIZE method and passed the parameter value.
Now go back.
Click on the Configure UIBB for the second list UIBB configuration.
It also passed the feeder class parameter value.
Now we have to set the field catalogue in the IF_FPM_GUIBB_LIST~GET_DEFINITION of the feeder class based on the feeder class parameter set on the list uibb configuration.
Now configure the list UIBB configuration.
Add the columns.
Configure the second list UIBB.
Test the application and now we have two list UIBB’s use the same feeder class.
Add below code in the method IF_FPM_GUIBB_LIST~GET_DATA
Test the application. 🙂
This is pretty much exactly how the "magic" happens in FPM based HCM Processes & Forms processes.
Thanks for sharing!
I am relatively new to ABAP programming and have just started to learn FPM. I was able to follow your example from start to finish. I greatly appreciate you sharing your knowledge!
Your post is quite awesome !
I am facing with the issue, I feel you can help me to solve.
I need to add/change field on the Overview Screen of IT0006. But this field is not in standart
comp. configuration which is "HRESS_CC_PER_OVR_ADDRESS_XX" that's why I have created a
z-copy and have changed the feeder class parameters I have choosed object name : IT0006_33
because field I would like to add in this structure, and I have choosed group column as ANSSA
But when I run app, I am having error " ENTRY parameter of method CL_CRM_BOL_ENTITY ->
GET_PROPERTY contains value ANSSA, which is not allowed
But in IT0006 standart structure ANNSA also choosed and it works fine.
From now thanks for your support !
Great...Easy to understand