Skip to Content

Hi ,

FPM Application is nothing but Embedding Webdynpro components precisely speaking Component interface views in  FPM component (FPM_OIF_COMPONENT……)  . What if we need embedding fpm aplication in webdynpro application.Let see how can we achieve this.

What I would like to explain:

1.Embedding FPM Application in Webdynpro application

2.How to exchange data between them

What I have done:

I created simple FPM application with webdynpro component as UIBB with one input field and button as below.

Capture.PNG

I embedded above application in my webdynpro application as below.

Capture.PNG

If you enter name and click on Go to Fpm then name will transfer to FPM and appear that name in input field and vice versa.

Go through http://www.youtube.com/watch?v=VuwP9_EbAPw

What needs to be done:


1.Go to fpm application configuration  and find configuration ID of FPM_OIF_COMPONENT.

Capture.PNG

2.Create a usage for component FPM_OIF_COMPONENT within the embedding component.

Capture.PNG

3.Embed the Interface View FPM_WINDOW within view.

Capture.PNG

Capture.PNG

4..Create Used component in WDDOINIT method of component controller. Here you have to provide configuration id that find in the first step.

Capture.PNG

You can’t pass any configuration key for the IDR (header area). Therefore the header is displayed

without any configuration settings. This means you have to do all header settings programmatically

at runtime .I set application title as below

Capture.PNG

Up to now we embedded the fpm application

B.Exchange Data:


From webdynpro to fpm:


1.Set the parameter values with data that you want to be exchanged and raise FPM event.

In my example I assigned action to Go to fpm button and in action handler I read the input value and set that value to event parameter ‘NAME’ and Raise event ,’WD’

Capture.PNG

Capture.PNG

2. Retrieve parameter value which set above in method Process_event of one or more UIBB and use that value as we like.In this example I retrieve the value and set it as input value of UIBB

Capture.PNG

Capture.PNG

From FPM to Wedynpro:

1.In this case it is not possible to send data  by raising event as above because webdynpro component which is not part of fpm application cannot participate in fpm eventloop. We can do it by setting application parameter instead of event parameter .

In my application I assign event id ‘FPM’ to Go to WD button,and In Process_event of that UIBB I am checking for event ‘FPM’ and getting input value and setting the application parameter ‘NAME’ value to this value .

Capture.PNG

2.We can retrieve application parameter and use that in any one of the method.

I do it in WDDOMODIFYVIEW and set the input value with retrieved  value

Capture.PNG

Capture.PNG

I just used simple example ,we can exchange complex data using same process.

We can set the parameters values in other methods also (not all methods) ,No need to use same methods.

I used OIF plan.We can do it similarly other floorplans


There are some limitations using this technique:

1. FPM allows only one instance running at the same time within one internal mode. Therefore you

can’t embed more than one ‘FPM application’ at the same time. It’s possible to switch the eembedded

‘FPM application’, replacing one ‘FPM application’ by another. You can assure this if you only use

one Usage to an FPM component within your application. This forces you to delete the old FPM

component before creating a new one.

2.You can’t use application parameters for the FPM as the application is now unknown to FPM.

I am attaching code,go through it if possible.

Regards,

Sreenivas.


To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

  1. Nallasivam Balu

    Hi sreevinas,

    i tried to above method of data exchange.

    I have a view with FPM embedded into it. During my FPM event i set teh value to the application parameter. I created the same parameter in my webdynpro application linked with the FPM GAF Component.

    Now I tried to get the VAlue in teh modifyview method of the view in which the FPM is integrated the below value is initila. It is not able to get the FPM.

    The FPM is now in the last confirmation screen.

      lo_fpm = cl_fpm_factory=>get_instance( ).

    After this lo_fpm is initial in the modify so i am not able to retrive the parameter value.

    Kindly suggest where it went wroung.

    Thanks,

    Nalla B.

    (0) 

Leave a Reply