cancel
Showing results for 
Search instead for 
Did you mean: 

fpm_demo_tabbed_booking_demo

Former Member
0 Kudos

Hi,

I am new to WDA and FPM is a big jump for me.

  I study SAP example of fpm_demo_tabbed_booking_demo by re-created the 3 WD components for Initial screen (ZFPM_INIT) Booking Data screen (ZFM_BOOKING) and Shared component Y_FPM_TABBED_BOOKING_SD.

But I always get message data not found.  In the debug on processing event in Initial screen, It read the input data and get the booking data OK.

  But when I read the contect node passing thru interface controller Y_FPM_TABBED_BOOKING_SD the carrid and connid is empty. Can someone explains to me what I did wrong here?  May be I did not do the configuration correctly?

Here is the code in my processevent in the component controller:

Method process_event.

  DATA lo_nd_airline TYPE REF TO if_wd_context_node.
  DATA lo_el_airline TYPE REF TO if_wd_context_element.
  DATA ls_airline      TYPE wd_this->element_airline_sel.

  IF io_event->mv_event_id EQ if_fpm_constants=>gc_event-leave_initial_screen.
    lo_nd_airline = wd_context->get_child_node( name = wd_this->wdctx_airline_sel ).
    lo_el_airline = lo_nd_airline->get_element).
    lo_el_airline->get_static_attributes(
      IMPORTING
        static_attributes = ls_airline ).

    IF ls_airline-carrid IS INITIAL.
* raise the error message if no carrier id is provided
    ENDIF.

    IF ls_airline-connid IS INITIAL.
* raise the error message if no connid is provided

    ENDIF.

--> At this point, I got the correct carrid and connid.


* Read the booking details from interface of
* My shared component   Y_FPM_TABBED_BOOKING_SD

DATA lo_interfacecontroller TYPE REF TO yiwci__fpm_tabbed_booking_sd .

lo_interfacecontroller =   wd_this->wd_cpifc_fpm_tab_sd( ).

  DATA lv_ev_bookings_count TYPE i.


  lv_ev_bookings_count = lo_interfacecontroller->read_booking_data(
--> Here, in the read_booking_data of the interace component, when it get the context node of  airline carrid and connid

the value data is always empty
  ).

*

* if no booking details are found for the given selection criteria then raise the error message

    IF lv_ev_bookings_count <= 0
      AND NOT ls_airline-carrid IS INITIAL
      AND NOT ls_airline-connid IS INITIAL.

--> I got error msg here
     ENDIF.

ENDMETHOD.

Can someone also explain to me about the concept of hiding tab and what for?  Does it apply in the SAP sample of FPM_DEMO_TABBED_BOOKING_INFO?

Thanks for your help,


Accepted Solutions (1)

Accepted Solutions (1)

harsha_jalakam
Active Contributor
0 Kudos

Hi Lee,

Did you  create a common interface  node in shared component( component with  IF_FPM_SHARED_DATA interface )  and made use of it in other two components.

It seems like you have created similar nodes in the components.Please try creating a interface node in shared component and utilize it in other two by context mapping.



Thank You,

Harsha



harsha_jalakam
Active Contributor
0 Kudos

Hi Lee,

For more examples on IF_FPM_SHARED_DATA interface, please check the the following components

FPM_GAF_SFLIGHT_CONF_EXIT

FPM_GAF_SFLIGHT_DEMO

FPM_GAF_SFLIGHT_MEAL

FPM_GAF_SFLIGHT_PLANE

Which has made use of Shared data component FPM_GAF_SFLIGHT_SD.

Thank You,

Harsha

Answers (0)