cancel
Showing results for 
Search instead for 
Did you mean: 

Set roadmap screen as FPM header / initial screen

markus_jarasch
Explorer
0 Kudos

Hi experts,

we have built a FMP OIF application and tried to set the interface view of a FPM UIBB as header:

method override_event_oif.

...

case io_oif->mo_event->mv_event_id.

when if_fpm_constants=>gc_event-start.

...

ls_view_key-component = '/UCIHR/PD_PM_WD_DIS_TIME'.

ls_view_key-interface_view = 'WV_ROADMAP'.

call method lo_aca_api->add_uibb

exporting

iv_aca_location = 'II2'

is_uibb_key = ls_view_key.

...

endmethod.

Works fine. However if we define an initial screen the header is not displayed any more. Any ideas what could be the reason for this?

Thanks,

Markus

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

As fas as i know the initial screen doesnot have the option to have IDR. You can have UIBB's and ToolBAR.

It works fine when you dont have the Initial screen because , FPM displays the view switch (OIF) or the

first roadmap step (GAF) at start-up.

If you want to have the initial screen ,then you need to change your coding such a way that on event leave_

initial_screen do your coding.

Edited by: Baskaran Senthivel on Jul 13, 2010 11:42 AM

Edited by: Baskaran Senthivel on Jul 13, 2010 11:47 AM

markus_jarasch
Explorer
0 Kudos

Hi Bsakaran,

in the initial screen I don't need the IDR to be displayed. I would need the header in the IDR of the first regular screen.

If I deactivate the initial screen everything works fine: The Header is displayed in the IDR.

If I activate the initial screen this doesn't work any more. After the initial screen the first regular screen is displayed without the header.

I have tried to put the coding for the events START and LEAVE_INITIAL_SCREEN and VIEW_SWITCH, without success so far.

Ciao,

Markus

ChrisPaine
Active Contributor
0 Kudos

Have you tried, rather than checking the event, checking the list of the views that are avaliable at that point - and using that to detirmine if you are on the initial screen or not?

markus_jarasch
Explorer
0 Kudos

At the time when I add the header to the IDR ( call method lo_aca_api->add_uibb...) there is no view in the IDR - I have checked that. The problem is that the header is displayed if the initial screen is not displayed and the header is not displayed after the initial screen has been displayed.

Answers (2)

Answers (2)

Former Member
0 Kudos

When you want to add your header, you have to do this in OVERRIDE_EVENT_*(GAF/OIF) of your application controller on event LEAVE_INITIAL_SCREEN...

Try this code:

DATA : lo_fpm TYPE REF TO if_fpm.

DATA : lo_idr TYPE REF TO if_fpm_idr.

DATA : lo_gaf TYPE REF TO if_fpm_gaf.

DATA : lo_aca TYPE REF TO if_fpm_aca.

DATA : lwa_uibb_key TYPE fpm_s_uibb_key.

DATA : lt_added_uibbs TYPE fpm_t_uibb_key.

IF io_gaf->mo_event->mv_event_id EQ if_fpm_constants=>gc_event-leave_initial_screen.

CLEAR lwa_uibb_key.

lwa_uibb_key-component = 'FPM_FORM_UIBB'

lwa_uibb_key-interface_view = 'FORM_WINDOW'.

lwa_uibb_key-CONFIG_KEY-config_id = 'MY_CONFIG'.

CALL METHOD lo_aca->add_uibb

EXPORTING

iv_aca_location = if_fpm_constants=>gc_aca_locations-ii3

is_uibb_key = lwa_uibb_key.

  • Get FPM instance

lo_fpm = cl_fpm_factory=>get_instance( ).

CHECK lo_fpm IS NOT INITIAL.

  • Get reference of title management object

lo_idr ?= lo_fpm->get_service( 'IDR' ).

lo_idr->set_header_visibility( abap_true ).

endif.

Former Member
0 Kudos

Hi Markus,

I think you have to check the event. When you insert an initial screen the event while leaving this is called 'leave_initial_screen'.

Best regards,

Janett