on 02-05-2014 12:02 PM
Hello,
i implement the IF_FPM_GUIBB interface by a custom class but my redefined initialize is called only once per feeder class.
I have added 4 UIBB to the FPM, all with the same feeder class, but everyone with a different component configuration.
I read in this thread http://scn.sap.com/message/14363099#14363099 that the initialize method should be called for every UIBB.
Does this behaviour depend on the version of the sap system?
The problem i face is that i need the config id of each uibb to add it to the event data when we raise the event. As the initialize is called only once per feeder and not per uibb i don't get the information to address them later on again.
thanks in advance for any advices
Hello Julia,
GUIBBs share the same feeder instances as long as their feeder class is the same and the feeder parameters are equal.
So if you want to have an individual instance for each UIBB you have to make sure that you parametrize them differently.
Best regards,
Christian
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Julia,
you have to provide different values for the parameters in the configurations of your UIBBs (simply adding different parameters in IF_FPM_GUIBB~GET_PARAMETER_LIST without providing a value in the configuration might not be sufficient).
In case this doesn't help you to solve the issue you can debug CL_FPM_GUIBB_FEEDER_FACTO->GET_FEEDER.
...
ls_feeder-instance_id = calc_instance_id(
io_parameter_node = io_parameter_node
it_parameter = it_parameter ).
read table mt_feeder
with table key
fpm = ls_feeder-fpm
name = ls_feeder-name
instance_id = ls_feeder-instance_id
config_instance_id = ls_feeder-config_instance_id
into ls_feeder.
These are the lines where the reuse decision is taken. The instance id is calculated by hashing the parameters and if there is a identical in the lookup table mt_feeder the instance is reused.
Best regards,
Christian
Hello Christian,
I think this might be the problem.
In the method GET_FEEDER there is no config_instance_id in my system. I think the instance ID was added in 7.03, but we are working with a 7.02 system.
The GET_FEEDER method looks like this in my system:
ls_feeder-instance_id = calc_instance_id( io_parameter_node ).
READ TABLE mt_feeder INTO ls_feeder
WITH KEY name = iv_classname
instance_id = ls_feeder-instance_id.
Could this be the problem?
Thanks
Hello Julia,
no that's not the issue.
You have to make sure that the Feeder Parameters you provide in the configuration editor are different. That's all!
At least one of the parameter values has to be different in order to get an own feeder instance.
This instance id which was added later than your system state allows to add the same UIBB twice to the same "page". But this is not related to feeder instantiation.
Best regards,
Christian
User | Count |
---|---|
95 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.