fpm tabbed guibb for beginners
TRANSCRIPT
-
7/24/2019 Fpm Tabbed Guibb for Beginners
1/19
Generated by Jive on 2014-12-23+01:00
1
Web Dynpro ABAP: FPM TABBED GUIBBFOR BEGINNERS
Posted by vamshikrishna srirangam4 Oct, 2014hi every one in this blog i am going to show you how tabbed guibbworks.
SCENARIO: here tabbed guibb contains four tabs,each tab embeds one interface view of the
component.however on the first tab contains the check boxes.
each check box is related to the visibility of the remaining tabs i.e if we click on the first check box TAB2
is visible or if we click on the second check box TAB3 is visible.
PLEASE SEE THE BELOW SCREEN SHOTS:
I USED FPM_OIF_COMPONENT.
WHEN THE COMPONENT LOADED.
NOW I ENABLE FIRST CHECK BOX
http://scn.sap.com/people/vamshikrishna.srirangam -
7/24/2019 Fpm Tabbed Guibb for Beginners
2/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
2
NOW I ENABLES ALL CHECK BOXES ONE BY ONE
NOW I DISABLE FOURTH CHECK BOX.
-
7/24/2019 Fpm Tabbed Guibb for Beginners
3/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
3
SO THIS IS MY REQUIREMENT LET US START.
WEBDYNPRO COMPONENT: Z_DEMO_OBJECT1
IMPLEMENTED INTERFACES:
1)IF_FPM_UI_BUILDING_BLOCK: when we add this interface automatically FPM methods ( FLUSH - to send
the data to Central Data Model,NEEDS_FOR_CONFIRMATION - to provide the data loss popup if data not
saved ,PROCESS_EVENT - to process the fpm events,PROCESS_BEFORE_OUTPUT - to read the data to
be displayed ,AFTER_FAILED_EVENT - to handle the failed events ) are loaded in to the
COMPONENT CONTROLLER.
2) IF_FPM_TABBED_CONF_EXIT : when we add this interface only OVERRIDE_CONFIG_TABBED method
is added which is triggered after every fpm event raised.
-
7/24/2019 Fpm Tabbed Guibb for Beginners
4/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
4
COMPONENT CONTROLLER :
-
7/24/2019 Fpm Tabbed Guibb for Beginners
5/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
5
-
7/24/2019 Fpm Tabbed Guibb for Beginners
6/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
6
CODE IN ACTIVE_FIRST_TAB:
types:
BEGIN OF ty_s_tab,
variant TYPE string,
id TYPE string,
name TYPE string,
END OF ty_s_tab .
types:
ty_t_tab TYPE STANDARD TABLE OF ty_s_tab .
DATA:LV_VARIANT_ID TYPE STRING,
LT_TAB TYPE TY_T_TAB,
LS_TAB LIKE LINE OF LT_TAB.
CALL METHOD WD_THIS->GO_TABBED->GET_CURRENT_VARIANT
RECEIVING
RV_VARIANT_ID = LV_VARIANT_ID.
-
7/24/2019 Fpm Tabbed Guibb for Beginners
7/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
7
TRY.
CALL METHOD WD_THIS->GO_TABBED->GET_TABS
EXPORTING
IV_VARIANT_ID = LV_VARIANT_ID
IMPORTING
ET_TAB = LT_TAB.
CATCH CX_FPM_FLOORPLAN .
ENDTRY.
LOOP AT LT_TAB INTO LS_TAB.
IF SY-TABIX GT 1.
CALL METHOD WD_THIS->GO_TABBED->SET_TAB_VISIBLE
EXPORTING
IV_TAB_ID = LS_TAB-ID
IV_VISIBLE = ' '.
CLEAR LS_TAB.
ENDIF.
ENDLOOP.
CODE ININITIALIZE_BOX:
DATA lo_nd_check TYPE REF TO if_wd_context_node.
DATA lo_el_check type ref to if_wd_context_element.
DATA lt_check TYPE wd_this->Elements_check.
DATA ls_check TYPE wd_this->Element_check.
* navigate from to via lead selection
lo_nd_check = wd_context->get_child_node( name = wd_this->wdctx_check ).
* @TODO handle non existant child
IF NOT lo_nd_check IS INITIAL.
-
7/24/2019 Fpm Tabbed Guibb for Beginners
8/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
8
do 3 times.
lo_el_check = lo_nd_check->create_element( ).
lo_nd_check->bind_element( new_item = lo_el_check set_initial_elements = abap_false ).
enddo.
ENDIF.
CODE IN OVERRIDE_CONFIG_TABBED
DATA lv_VISIBLE TYPE BOOLE_D.
DATA lv_id TYPE string.
DATA lv_name TYPE string.
CASE io_tabbed->mo_event->mv_event_id.
WHEN 'FPM_START'.
WD_THIS->GO_TABBED = IO_TABBED.
wd_this->active_first_tab(
* lo_tabbed = " ref to if_fpm_tabbed
).
WHEN 'ADD_TAB'.
io_tabbed->mo_event->MO_EVENT_DATA->get_value( EXPORTING iv_key = 'ID' IMPORTING ev_value =
lv_id ).
io_tabbed->mo_event->MO_EVENT_DATA->get_value( EXPORTING iv_key = 'NAME' IMPORTING ev_value
= lv_name ).
CALL METHOD IO_TABBED->SET_TAB_VISIBLE
EXPORTING
IV_TAB_ID = LV_ID
IV_VISIBLE = 'X'.
WHEN 'DELETE_TAB'.
io_tabbed->mo_event->MO_EVENT_DATA->get_value( EXPORTING iv_key = 'ID' IMPORTING ev_value =
lv_id ).
io_tabbed->mo_event->MO_EVENT_DATA->get_value( EXPORTING iv_key = 'NAME' IMPORTING ev_value
= lv_name ).
-
7/24/2019 Fpm Tabbed Guibb for Beginners
9/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
9
CALL METHOD IO_TABBED->SET_TAB_VISIBLE
EXPORTING
IV_TAB_ID = LV_ID
IV_VISIBLE = ' '.
endcase.
CODE IN WDDOINIT:
wd_this->initialize_box( ).
VIEW CONTROLLER:
-
7/24/2019 Fpm Tabbed Guibb for Beginners
10/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
10
http://scn.sap.com/servlet/JiveServlet/showImage/38-114494-555982/5.2.jpghttp://scn.sap.com/servlet/JiveServlet/showImage/38-114494-555981/5.1.jpg -
7/24/2019 Fpm Tabbed Guibb for Beginners
11/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
11
-
7/24/2019 Fpm Tabbed Guibb for Beginners
12/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
12
CODE IN ONACTIONON_CHECK_BOX :
types:
BEGIN OF ty_s_tab,
variant TYPE string,
id TYPE string,
name TYPE string,
END OF ty_s_tab .
types:
ty_t_tab TYPE STANDARD TABLE OF ty_s_tab .
DATA:LV_VARIANT_ID TYPE STRING,
LT_TAB TYPE TY_T_TAB,
LS_TAB LIKE LINE OF LT_TAB,
LV_INDEX TYPE I.
CASE ID.
WHEN 'TABLE_CHECK_BOX_EDITOR'.
DATA: lo_fpm TYPE REF TO if_fpm,
-
7/24/2019 Fpm Tabbed Guibb for Beginners
13/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
13
lo_event TYPE REF TO cl_fpm_event.
CALL METHOD CONTEXT_ELEMENT->GET_INDEX
RECEIVING
MY_INDEX = LV_INDEX.
DATA lo_nd_check TYPE REF TO if_wd_context_node.
DATA lo_el_check TYPE REF TO if_wd_context_element.
DATA ls_check TYPE wd_this->Element_check.
DATA lv_check_box TYPE wd_this->Element_check-check_box.
* navigate from to via lead selection
lo_nd_check = wd_context->get_child_node( name = wd_this->wdctx_check ).
* @TODO handle non existant child
* IF lo_nd_check IS INITIAL.
* ENDIF.
* get element via lead selection
lo_el_check = lo_nd_check->get_element( index = LV_INDEX ).
* alternative access via index
* lo_el_check = lo_nd_check->get_element( index = 1 ).
* @TODO handle not set lead selectionIF lo_el_check IS INITIAL.
ENDIF.
* get single attribute
lo_el_check->get_attribute(
EXPORTING
name = `CHECK_BOX`
IMPORTING
value = lv_check_box ).
CALL METHOD WD_COMP_CONTROLLER->GO_TABBED->GET_CURRENT_VARIANT
RECEIVING
RV_VARIANT_ID = LV_VARIANT_ID.
-
7/24/2019 Fpm Tabbed Guibb for Beginners
14/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
14
TRY.
CALL METHOD WD_COMP_CONTROLLER->GO_TABBED->GET_TABS
EXPORTING
IV_VARIANT_ID = LV_VARIANT_ID
IMPORTING
ET_TAB = LT_TAB.
CATCH CX_FPM_FLOORPLAN .
ENDTRY.
READ TABLE LT_TAB INTO LS_TAB INDEX LV_INDEX + 1.
IF lv_check_box = 'X'.
lo_fpm = cl_fpm=>get_instance( ).
lo_event = cl_fpm_event=>create_by_id( 'ADD_TAB' ).
lo_event->MO_EVENT_DATA->set_value( iv_key = 'ID' IV_VALUE = LS_TAB-ID ).
lo_event->MO_EVENT_DATA->set_value( iv_key = 'NAME' iv_value = LS_TAB-NAME ).
lo_fpm->raise_event( io_event = lo_event ).
ELSEIF lv_check_box = ' '.
lo_fpm = cl_fpm=>get_instance( ).
lo_event = cl_fpm_event=>create_by_id( 'DELETE_TAB' ).
lo_event->MO_EVENT_DATA->set_value( iv_key = 'ID' IV_VALUE = LS_TAB-ID ).
lo_event->MO_EVENT_DATA->set_value( iv_key = 'NAME' iv_value = LS_TAB-NAME ).
lo_fpm->raise_event( io_event = lo_event ).
ENDIF.
ENDCASE.
-
7/24/2019 Fpm Tabbed Guibb for Beginners
15/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
15
-
7/24/2019 Fpm Tabbed Guibb for Beginners
16/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
16
VIEWS TAB2_VIEW -------> TAB2
TAB3_VIEW --------->TAB3
TAB4_VIEW --------->TAB4
-
7/24/2019 Fpm Tabbed Guibb for Beginners
17/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
17
FOR APPLICATION CONFIGURATION .
-
7/24/2019 Fpm Tabbed Guibb for Beginners
18/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
Generated by Jive on 2014-12-23+01:00
18
-
7/24/2019 Fpm Tabbed Guibb for Beginners
19/19
Web Dynpro ABAP: FPM TABBED GUIBB FOR BEGINNERS
G d b Ji
151 Views Tags: web_dynpro
There are no comments on this post
http://scn.sap.com/community/web-dynpro-abap/blog/tags#/?tags=web_dynpro