cancel
Showing results for 
Search instead for 
Did you mean: 

FPM - IDR Values/Explanatory Texts

Murali_Shanmu
Active Contributor
0 Kudos

Hi,

I am having a look at the example WDA application - FPM_DEMO_GAF_CREATE_FLIGHT.

I can see the value of Airline and Flight Number at the topsection (just above the roadmap)

I am not able to find where exactly these values are being set. Are they set in the IDR. When I click on "Configure IDR", it requests me to provide to Confiuratuion for the component FPM_IDR_COMPONENT. Can anyone please help.

Secondly, For the Main Step "Add a flight", I can see an Explantion added which refers to FPM_DEMO_SFLIGHT_ADD_INFO. But when I run this application, I cant see this text (which is from SE61) anywhere in the screen.

Thanks,

Murali.

Edited by: Muralidaran Shanmugam on Sep 17, 2009 3:22 AM

Accepted Solutions (1)

Accepted Solutions (1)

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

For you second question about the Explanation: explanation UI elements only output if you have Display Quick Help activated (right mouse click - context menu). Here are some links on the subject:

http://help.sap.com/saphelp_nw70ehp1/helpdata/en/45/11e310459d7201e10000000a155369/frameset.htm

http://help.sap.com/saphelp_nw70ehp1/helpdata/en/45/11e345459d7201e10000000a155369/frameset.htm

Murali_Shanmu
Active Contributor
0 Kudos

Thanks a lot Thomas. Much appreciated.

Cheers

Murali

Answers (1)

Answers (1)

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

In the configuration of the IDR, you can set some static strings. However for the adding of the dynamic values, you must do this in code.

On the initialization of the main component, you can get a reference to the IDR - as well as other useful objects:

"We will need the message manager to report messages on the success or failure of DB updates.
  wd_this->mr_fpm  = cl_fpm_factory=>get_instance( ).
  wd_this->mr_message_manager = wd_this->mr_fpm->mo_message_manager.
  wd_this->mr_idr ?= wd_this->mr_fpm->get_service( cl_fpm_service_manager=>gc_key_idr ).

You can then add items to the IDR area and bind them to your context:

method init_idr .

  data: lt_items_val type if_fpm_idr=>t_items_val,
        ls_item_val type if_fpm_idr=>s_items_val,
        lt_items_ref type if_fpm_idr=>t_items_ref,
        ls_item_ref type if_fpm_idr=>s_items_ref,
        lo_context type ref to if_wd_context,
        lo_exc type ref to cx_fpm_idr,                      "#EC NEEDED
        lv_text    type string.

* append a dynamic item to the IDR
  lv_text = wd_assist->read_field_desc( `SDEMO_SO_ID` ).
  ls_item_ref-label_name = lv_text.
  ls_item_ref-label_tooltip = lv_text.
  ls_item_ref-value_path = 'SALES_ORDER.-1.SO_ID'.
  ls_item_ref-value_tooltip = lv_text.
  ls_item_ref-show_unit = abap_true.
  append ls_item_ref to lt_items_ref.

  lo_context = wd_context->get_context( ).
  try.
      wd_this->mr_idr->add_item_group_by_ref( io_root_node = lo_context
                                           it_items = lt_items_ref ).
    catch cx_fpm_idr into lo_exc.
      data lv_dump_text type string.
      lv_dump_text = wd_assist->if_wd_component_assistance~get_text( '010' ).
      wd_this->mr_fpm->mo_message_manager->raise_exception( lv_dump_text ).
  endtry.

endmethod.