cancel
Showing results for 
Search instead for 
Did you mean: 

How To Add Substep to MainStep in FPM

former_member226225
Contributor
0 Kudos

Hi Friends,

               I am working in FPM GAF Component , In that i am adding substep to Mainstep , so, for that I took one button GOTOSUBSTEP and in ONACTION I am writing the code but is showing NULL OBJECT REFERNCE NOT POSSIBLE  when i am testing,

check this and give the code.

The code in OnAction Property is:

DATA: lo_fpm TYPE REF TO if_fpm,
lr_event TYPE REF TO cl_fpm_event.

* get reference to FPM API
lo_fpm = cl_fpm_factory=>get_instance( ).
* create event

lr_event = cl_fpm_event=>create_by_id( cl_fpm_event=>gc_event_change_step ).
* fill event parameters

lr_event->mo_event_data->set_value(
iv_key = cl_fpm_event=>gc_event_param_mainstep_id
iv_value = 'MAINSTEP_1' ).

lr_event->mo_event_data->set_value(
iv_key = cl_fpm_event=>gc_event_param_substep_id
iv_value = 'SUBSTEP_1_1' ).

lr_event->mo_event_data->set_value(
iv_key = cl_fpm_event=>gc_event_param_subvariant_id
iv_value = 'SUBSTEP_VARIANT_1_1' ).

*now raise event
lo_fpm->raise_event( io_event = lr_event ).

Thanks,

Raghunadh Kodali.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Raghunadh,

Could you please place a breakpoint at the statement lo_fpm->raise_event( io_event = lr_event ) and check if lo_fpm is not initial.

I think this dump should come only in this case.

former_member226225
Contributor
0 Kudos

Hi,

     I tried for it and it is showing lo_fpm is not initial  is of type cl_fpm and when  i am using raise_event method it is displaying Null object reference.

Thanks,

Raghunadh K

Former Member
0 Kudos

Hi,

I tried to create a test configuraion and copied your code.

It is working fine and the GAF took me to the sub step. No code issues for sure.

Did u try F6 at raise event statement. Just to make sure this is the statement giving dump.

former_member226225
Contributor
0 Kudos

Hi Deva,

             I tries using F6 also even though it is going to dump

  • The following error text was processed in the system EIS : Access via 'NULL' object reference not possible.
  • The error occurred on the application server erpsolman_EIS_02 and in the work process 0 .
  • The termination type was: RABAX_STATE
  • The ABAP call stack was:
    Method: GET_UIBBS_FOR_EVENT of program /1BCWDY/2VJ21A2JJ31LA8RFAAYD==CP
    Method: IWCI_IF_FPM_FLOORPLAN_COMP~GET_UIBBS_FOR_EVENT of program /1BCWDY/2VJ21A2JJ31LA8RFAAYD==CP
    Method: IF_FPM_FLOORPLAN~GET_UIBBS_FOR_EVENT of program CL_FPM_GAF_INTERNAL===========CP
    Method: GET_NEXT_UIBBS of program CL_FPM========================CP
    Method: PROCESS_EVENT of program CL_FPM========================CP
    Method: RUN_EVENT_LOOP of program CL_FPM========================CP
    Method: IF_FPM~RAISE_EVENT of program CL_FPM========================CP
    Method: ON_SHOW_DETAILS_SHOW of program /1BCWDY/CT25Q50OELNWEDZEN3TY==CP
    Method: IF_COMPONENTCONTROLLER~ON_SHOW_DETAILS_SHOW of program /1BCWDY/CT25Q50OELNWEDZEN3TY==CP
    Method: ONACTIONSHOWMYUSERDETAILS of program /1BCWDY/CT25Q50OELNWEDZEN3TY==CP

 

Thanks,

Raghunadh.k

Former Member
0 Kudos

Oh.

There is some problem with the UIBBs. Please check your configuration.

Just try to edit, save and check your confiuration. Are you able to Save your configuration without any errors and warnings?

May be the Component and View added in the configuration are not proper.

Former Member
0 Kudos

Hi Raghunath,

  At First Double Cick on Component->In implemented Interface

  Reimpliment the Following two Interfaces

  i.e, IF_FPM_UI_BUILDING_BLOCK & IF_FPM_GAF_CONF_EXIT

   Then In Click on Applcation -> Give Compnent name as FPM_OIF_COMPONENT

and Interface name as FPM_WINDOW & plug name as Default

then goto se80->select Package & Package name of your object

then expand webdynpro->then expand webdynpro application->right click on your Apllication and Creat/Change Configuration->give new congiuration id->create

give the new configration name in configaration.

save & go to Component Configuration (some times it shows not exist at the]

time click on create & save it in package)

then here you see add main step & add sub step buttons .

as per your req create substeps.

select the Main Step->UIBB->then Attributes give your Component name & view(i.e, window name of that component)     

like above you also add in Substep.

Regards,

Venkata Ramana.

Former Member
0 Kudos

Hi Raghunath,

  At First Double Cick on Component->In implemented Interface

  Reimpliment the Following two Interfaces

  i.e, IF_FPM_UI_BUILDING_BLOCK & IF_FPM_GAF_CONF_EXIT

   Then In Click on Applcation -> Give Compnent name as FPM_OIF_COMPONENT

and Interface name as FPM_WINDOW & plug name as Default

then goto se80->select Package & Package name of your object

then expand webdynpro->then expand webdynpro application->right click on your Apllication and Creat/Change Configuration->give new congiuration id->create

give the new configration name in configaration.

save & go to Component Configuration (some times it shows not exist at the]

time click on create & save it in package)

then here you see add main step & add sub step buttons .

as per your req create substeps.

select the Main Step->UIBB->then Attributes give your Component name & view(i.e, window name of that component)     

like above you also add in Substep.

Regards,

Venkata Ramana.

former_member226225
Contributor
0 Kudos

Hi friends,

can anybody give the code how to add substep to Main step

former_member226225
Contributor
0 Kudos

Hi friends,

             Finally I got it...

Former Member
0 Kudos

Hi Ragu,

Previously i got this problem i resolves by using following code which is written in Component controller->wdinit()

   *  Get the reference to the IF_FPM interface.
  WD_THIS->GL_FPM = CL_FPM_FACTORY=>GET_INSTANCE( ).



  WD_THIS->LO_IDR ?= WD_THIS->GL_FPM->GET_SERVICE( CL_FPM_SERVICE_MANAGER=>GC_KEY_IDR ).


*  *----Get a handle to the CNR.
  WD_THIS->LO_CNR_OIF ?= CL_FPM_SERVICE_MANAGER=>GET_SERVICE( CL_FPM_SERVICE_MANAGER=>GC_KEY_CNR_OIF ).

take the GL_FPM  type IF_FPM & LO_IDR  type  IF_FPM_IDR & LO_CNR_OIF type IF_FPM_CNR_OIF  as Global Attributes in Component Controller.

Where ever you fine OIF Use GAF

I Think it works....

Regards,

Venkata Ramana.

chengalarayulu
Active Contributor
0 Kudos

Raghu,

@ which point it reaised this error.. can you please point out.

former_member226225
Contributor
0 Kudos

Hi,

    When I am Raising The event lo_fpm->raise_event( io_event = lr_event ).

Thanks ,

Raghunadh.

chengalarayulu
Active Contributor
0 Kudos

are you sure that lo_fpm is getting filled, if yes, make sure that the raising event should trigger from FPM component not from your Z component(view).