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:
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( ).
static_attributes = ls_airline ).
IF ls_airline-carrid IS INITIAL.
* raise the error message if no carrier id is provided
IF ls_airline-connid IS INITIAL.
* raise the error message if no connid is provided
--> 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
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,
Harsha Jalakam replied
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.