Useful purpose of IF_FPM_GUIBB~GET_PARAMETER_LIST in OIF feeder class?
I know you can implement method IF_FPM_GUIBB~GET_PARAMETER_LIST in your OIF feeder class, to supply a list of parameters which you can then set with values against your GUIBBs.
How do you then use these parameetrs, i.e. what is the purpose, how do you exploit them, as you dont seem to have any further access to these parameters in other methods of your feeder class, for example IF_FPM_GUIBB_FORMGET_DEFINITION or IF_FPM_GUIBB_FORMGET_DATA to have some expression logic behind the setting of field lists/catalogs or data retrieval.
If anyone can indicate if/how these parameters can be exploited within the OIF feeder class I'd be most interested, as I would dearly love to use the parameters in order that I can create for example a generic feeder class for several GUIBBs on the same sub view and control the field catalog setting etc. (i.e. not create a seperate feeder class for each GUIBB).
Thomas Jung replied
I have a couple of suggestions based upon some testing I just did.
First is rather different than what you are describing. It really depends upon how generic you want this one feeder class to be. Instead of one generic feeder class with branching logic within it, why not use normal OO Inheritance. Create a generic feeder super class with all of your general processing. Then create children inheriting from it and only redefine the methods that need different logic. Each GUIBB Configuration will then be tied to the specific child class and not to the generic super class. This can still give you a large amount of code reuse, without the complexity of all the branching within one block of code in a single generic classs. In my opinion this is a clearer and easier to maintain approach than what you described.
Another appraoch is to setup parameters. Define the parameters you want to allow in GET_PARAMETER_LIST. Then on the start of configuration, the person doing configuration must indentify which specific GUIBB it is they are working with by supplying a value to this parameter.
The currently configured parameters are passed into the INITIALIZE method at both runtime and configuration time. The importing parameter of INITIALIZE is IT_PARAMETER. You can then save the values from IT_PARAMETER into a class attribute so that they will be available later during GET_DEFINITION and GET_DATA.