cancel
Showing results for 
Search instead for 
Did you mean: 

Capture FPM Event in another WDC

Former Member
0 Kudos

Hello Friends,

I trying to capture the name of event liek EDIT,CLOSE,NEXT etc.. that are defined in FPM in a std WDC.

I need this because based on the ID of the button , i need to process some information.

Could you pls let me know how to handle this or any code would be fine. ?

Regards,

Vinay

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hello All,

Any ideas thru FPM component controller usages OR i have no other option but to enhance the FPM WDC and go thru singleton class method.

Regards,

Vinay

Former Member
0 Kudos

components which are implemented FPM interfaces like iIF_FPM_UI_BUILDING_BLOCK have acess to the FPM runtime object. Process_event method has a parameter for your requirement.

Former Member
0 Kudos

Hello Senthil,

I tried to use the interface run time object, but the IF that you have mentioned does not exist.

Could you pls provide me with the IF which as the actual run time info.

Regards,

Vinay

Former Member
0 Kudos

Hi Vinay,

Get the IF_FPM instance from CL_FPM=>GET_INSTANCE

Type cast it to CL_FPM

In CL_FPM attributes, you'll get the current event instance MO_CURRENT_EVENT and in the attributes of this, you'll be able to get the current event MV_EVENT_ID and all the event data.

Irrespective of the place of calling, this piece of code will work wherever you write it in the LUW.

Regards,

Indu.

J_R
Advisor
Advisor
0 Kudos

Hi folks,

just for clarification. NEVER EVER cast an instance of IF_FPM to CL_FPM !!! The class CL_FPM is an FPM-internal class that may not be accessed by applications.

Back to the original question of the author. If there is a free-style WD component used in your FPM application this component has to implement the WD interface IF_FPM_UI_BUILDING_BLOCK. This WD interface offers several method; one of them is method PROCESS_EVENT. This method is called by the FPM runtime and it has an importing parameter IO_EVENT that is an instance of the FPM event that is currently processed.

Best regards,

Jens

Former Member
0 Kudos

Hello Jens,

Thank you for the tech insight.. will keep that in mind for future developments.

By the way,,How to implement the WD interface IF_FPM_UI_BUILDING_BLOCK in a WDC?

Regards,

Vinay

J_R
Advisor
Advisor
0 Kudos

In transaction SE80 double-click on the WD component name and go to the tab "Implemented interfaces". In edit mode add the interface IF_FPM_UI_BUILDING_BLOCK to the list of implemented interfaces and press the button "Reimplement". Afterwards, you can add your application-specific coding to the methods that have been added to the component controller of the WD component.

Former Member
0 Kudos

Hello Jens,

Many thanks for procedure.. But when i followed the below procedure..i am unable to move into EDIT mode .

Could you please let me know the step-by-step process.. (Thanks for the patient replies)

Regards

Vinay

J_R
Advisor
Advisor
0 Kudos

You cannot go into edit mode in SE80? Don't you have developer authorization? Or do you try to change a WDC delivered by SAP?

Former Member
0 Kudos

Hello Jens..

I am not trying to go into EDIT mode in std..WDC delivered by SAP .. but thru enh implementation..

I do have dev authorization.

The interface IF_FPM_UI_BUILDING_BLOCK is already implemented in WDC

What I did was..

In the component controller methods.. the method... PROCESS_EVENT is not in EDIT mode..

But i wrote i wrote the code for capturing the instance of the FPM event in the post-exit of that method..

When i tested this in portal.. this code not executed and hence unable to caputre the event.

Is the design approach correct ? or is there another way

Many thanks..

Regards,

Vinay

Edited by: Vinay Reddy on Feb 6, 2012 12:12 PM

Edited by: Vinay Reddy on Feb 6, 2012 12:24 PM