cancel
Showing results for 
Search instead for 
Did you mean: 

Navigation between pages in FPM Application

0 Kudos

Hi ,

     I have developed a FPM application using the standard component FPM_OVP_COMPONENET . The application is comprises of 3 pages namely Initial Page , Main Page and Edit Page. I am using the raise event to navigate between the pages but unable to transfer the data from one page to another.

I know this can be achieved using singleton class. Other than that option, is there any possible approaches are available for the same.

Accepted Solutions (0)

Answers (4)

Answers (4)

0 Kudos

Hi All,

         I am using the following code while navigating from one page to another.

lo_event           TYPE REF TO      cl_fpm_event,

      lo_event ?= cl_fpm_event=>create_by_id( 'FPM_CHANGE_CONTENT_AREA' ).

      lo_event->mo_event_data->set_value(

      EXPORTING

        iv_key   = 'TARGET_CONTENT_AREA'

        iv_value = 'OVERVIEW_SCREEN').

But I would like to pass the value while navigating to the over view screen. Is this can be achievable with out wiring.

I am trying use the following code  to pass the value while navigating but unable to achieve it.

lr_fpm type REF TO if_fpm.

lr_fpm = cl_fpm_factory=>get_instance( ).

lr_fpm->raise_event_by_id(

          EXPORTING

            iv_event_id = if_fpm_guibb_list=>gc_event_list_filter

            io_event_data = lr_event_data ).

Thanks

jens_boeckenhauer
Active Participant
0 Kudos

Hi Gaurav,

try something like this:

***********

DATA: lo_event TYPE REF TO  cl_fpm_event.

DATA: lv_key TYPE your_key_type. "anything you use as a key

DATA: lo_fpm type REF TO if_fpm.

lo_event ?= cl_fpm_event=>create_by_id( 'FPM_CHANGE_CONTENT_AREA' ).

lo_event->mo_event_data->set_value(

   iv_key   = 'TARGET_CONTENT_AREA'

   iv_value = 'OVERVIEW_SCREEN').

lv_key = '4711'   "the key you want to pass

lo_event->mo_event_data->set_value(

   iv_key   = 'MY_KEY' 

   iv_value = lv_key ).

lo_fpm = cl_fpm_factory=>get_instance( ).

lo_fpm->raise_event(

io_event = lo_event ).

*******

For the UIBB on the target page, get the key in PROCESS_BEFORE_OUTPUT or GET_DATA:

*********

DATA: lv_key TYPE your_key_type.


if io_event->mv_event_id = 'FPM_CHANGE_CONTENT_AREA'.

CALL METHOD io_event->mo_event_data->get_value

EXPORTING

   iv_key   = 'MY_KEY' 

IMPORTING

ev_value = lv_key.

endif.

***** now lv_key contains 4711

Regards

Jens

jens_boeckenhauer
Active Participant
0 Kudos

Hi Gaurav,

wiring can be used but usually it is a little too heavy weighted for an application which does not use generic feeder classes on modeled business logic.

The following thread my be helpful:

http://scn.sap.com/thread/3788704

You may also simply attach appropriate event parameters (e.g. keys for selected items) to your events triggering the page navigation, and read them on the target page UIBBs or feeder classes. This is very simple.

Best regards

Jens

nishantbansal91
Active Contributor
0 Kudos

Dear Gaurav,

Please find the below thread for the same.

https://scn.sap.com/thread/2067660

Thanks and Regards,
Nishant

Former Member
0 Kudos

Hi,

Have you tried wiring concept which will help you.

Thanks

KH