select options in web dynpro application
DESCRIPTION
OVS search help in select optionsTRANSCRIPT
Use of Select Options and Search Help in Webdynpro Applications
OVS Search Help use in Select Options
Debesh
Use of Select Options and Search Help in Webdynpro Applications
Create a test Application
Give a View name and a Window name
By Debesh Page 2
Use of Select Options and Search Help in Webdynpro Applications
For using select options we use a webdynpro component called WDR_SELECT_OPTIONS which has all the select options properties predefined inside it.
In the View create a View Conatiner UI element to hold the select options component.
By Debesh Page 3
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 4
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 5
Use of Select Options and Search Help in Webdynpro Applications
Add a button a trigger a action
By Debesh Page 6
Use of Select Options and Search Help in Webdynpro Applications
Get the controller of the select options in the view
By Debesh Page 7
Use of Select Options and Search Help in Webdynpro Applications
In side window embedded the Select Options inside the view container
By Debesh Page 8
Use of Select Options and Search Help in Webdynpro Applications
Inside DOINIT of view instantiate the interface controller of the Select options to get its control
By Debesh Page 9
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 10
Use of Select Options and Search Help in Webdynpro Applications
Then initialize the select options by calling appropriate method
By Debesh Page 11
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 12
Use of Select Options and Search Help in Webdynpro Applications
Now create a range table for the select options
By Debesh Page 13
Use of Select Options and Search Help in Webdynpro Applications
Now with the standard Select Options add the Field for which select options is needed
By Debesh Page 14
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 15
Use of Select Options and Search Help in Webdynpro Applications
Now the select option for the field is ready. To test the same create an application and test it.
By Debesh Page 16
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 17
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 18
Use of Select Options and Search Help in Webdynpro Applications
Now for search help change the code for I_VALUE_HELP_TYPE ,CO_PREFIX_NONE to CO_PREFIX_OVS. Normally when we create node attribute we can provide search help in the properties. But for Select options we don’t have any predefined node so we can use OVS help here.
Now create a handler attribute for Select options and also create a handler method for the OVS
By Debesh Page 19
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 20
Use of Select Options and Search Help in Webdynpro Applications
Now to transfer select options value from one view to other, create a view attribute which refer to IF_WD_SELECT_OPTIONS. This variable will hold the select options value .We are going to export this in our outbound plug and use it in the next view to read the select option.
Here LV_VAR is a second variable for a field which we will create in the view later for a field VBTYP.
By Debesh Page 21
Use of Select Options and Search Help in Webdynpro Applications
Now create a outbound plug and and export the two variable which we are going to use in next view.
Now assign the helper reference to the handler variable.
By Debesh Page 22
Use of Select Options and Search Help in Webdynpro Applications
Fire the plug now.
By Debesh Page 23
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 24
Use of Select Options and Search Help in Webdynpro Applications
Now if you have remember we have added an variable VBTYP for that , we will create the field now in side view context
By Debesh Page 25
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 26
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 27
Use of Select Options and Search Help in Webdynpro Applications
Now create the UI element
By Debesh Page 28
Use of Select Options and Search Help in Webdynpro Applications
The following logic is for dropdown values
By Debesh Page 29
Use of Select Options and Search Help in Webdynpro Applications
Code :
method WDDOINIT . data lo_cmp_usage type ref to if_wd_component_usage. lo_cmp_usage = wd_this->wd_cpuse_sel_op( ). if lo_cmp_usage->has_active_component( ) is initial. lo_cmp_usage->create_component( ). endif. DATA lo_INTERFACECONTROLLER TYPE REF TO IWCI_WDR_SELECT_OPTIONS . lo_INTERFACECONTROLLER = wd_this->wd_cpifc_sel_op( ).
DATA lo_r_helper_class TYPE ref to if_wd_select_options.
By Debesh Page 30
Use of Select Options and Search Help in Webdynpro Applications
lo_r_helper_class = lo_interfacecontroller->init_selection_screen( )."wd_this->SEL_HANDLER data : lr_range TYPE REF TO data. CALL METHOD lo_r_helper_class->CREATE_RANGE_TABLE EXPORTING I_TYPENAME = 'VBELN'* I_LENGTH =* I_DECIMALS = RECEIVING RT_RANGE_TABLE = lr_range .
CALL METHOD lo_r_helper_class->ADD_SELECTION_FIELD EXPORTING I_ID = 'VBELN' IT_RESULT = lr_range I_READ_ONLY = ABAP_FALSE I_VALUE_HELP_TYPE = IF_WD_VALUE_HELP_HANDLER=>CO_PREFIX_OVS
." Assign the handler reference to the declared attributewd_this->SEL_HANDLER = lo_r_helper_class.
DATA lo_nd_dcat TYPE REF TO if_wd_context_node. DATA lo_nd_dcat_temp TYPE REF TO if_wd_context_node_info. DATA lo_el_dcat TYPE REF TO if_wd_context_element. DATA ls_dcat TYPE wd_this->element_dcat.* navigate from <CONTEXT> to <DCAT> via lead selection lo_nd_dcat = wd_context->get_child_node( name = wd_this->wdctx_dcat ).
data : lt_dom TYPE STANDARD TABLE OF DD07V, ls_dom like LINE OF lt_dom. CALL FUNCTION 'DDUT_DOMVALUES_GET' EXPORTING NAME = 'VBTYP' LANGU = SY-LANGU TABLES DD07V_TAB = lt_dom EXCEPTIONS ILLEGAL_INPUT = 1 OTHERS = 2. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. else. data tab type wd_this->elements_dcat.
By Debesh Page 31
Use of Select Options and Search Help in Webdynpro Applications
data entry like line of tab. LOOP AT lt_dom INTO ls_dom. entry-vbtyp = ls_dom-ddtext. APPEND entry to tab. ENDLOOP. lo_nd_dcat->bind_table( new_items = tab ). endif.endmethod.
method YHANDLE . TYPES:BEGIN OF ty_help, vbeln TYPE vbap-vbeln, END OF ty_help. DATA: ls_help TYPE ty_help, lt_help TYPE STANDARD TABLE OF ty_help. FIELD-SYMBOLS: <lt_ovs_result> LIKE lt_help, <lhelp> LIKE LINE OF <lt_ovs_result>, <lt_sel_opt_result> TYPE STANDARD TABLE. CASE i_ovs_data-m_ovs_callback_object->phase_indicator. WHEN if_wd_ovs=>co_phase_0. "Set Configuration WHEN if_wd_ovs=>co_phase_1. "Preassign Entry Values WHEN if_wd_ovs=>co_phase_2. "Fill Value List SELECT vbeln FROM vbap INTO CORRESPONDING FIELDS OF TABLE lt_help UP TO 200 ROWS. i_ovs_data-m_ovs_callback_object->set_output_table( output = lt_help ). "Value Return WHEN if_wd_ovs=>co_phase_3. ASSIGN i_ovs_data-m_ovs_callback_object->selection->* TO <lhelp>. ASSIGN i_ovs_data-mt_selected_values->* TO <lt_sel_opt_result>. INSERT <lhelp>-vbeln INTO TABLE <lt_sel_opt_result>. WHEN OTHERS. ENDCASE.endmethod.
method ONACTIONGET_DET . data : lv_type(60) TYPE c. DATA lo_nd_dcat TYPE REF TO if_wd_context_node. DATA lo_nd_dcat_temp TYPE REF TO if_wd_context_node_info. DATA lo_el_dcat TYPE REF TO if_wd_context_element. DATA ls_dcat TYPE wd_this->element_dcat.* navigate from <CONTEXT> to <DCAT> via lead selection lo_nd_dcat = wd_context->get_child_node( name = wd_this->wdctx_dcat ).
By Debesh Page 32
Use of Select Options and Search Help in Webdynpro Applications
data : lt_dom TYPE STANDARD TABLE OF DD07V, ls_dom like LINE OF lt_dom. CALL FUNCTION 'DDUT_DOMVALUES_GET' EXPORTING NAME = 'VBTYP' LANGU = SY-LANGU TABLES DD07V_TAB = lt_dom EXCEPTIONS ILLEGAL_INPUT = 1 OTHERS = 2. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. else. CALL METHOD LO_ND_DCAT->GET_ATTRIBUTE EXPORTING NAME = 'VBTYP' IMPORTING VALUE = lv_type .READ TABLE lt_dom INTO ls_dom with key ddtext = lv_type.IF sy-subrc IS INITIAL.wd_this->lv_var = ls_dom-DOMVALUE_L.ENDIF. endif. wd_this->fire_to_sales_plg( sel_handler = wd_this->sel_handler " ref to if_wd_select_options lv_var = wd_this->lv_var " vbtyp ).endmethod.
By Debesh Page 33
Use of Select Options and Search Help in Webdynpro Applications
Now create the next view
We handle the export parameters of the plug in the handler method of the called view
By Debesh Page 34
Use of Select Options and Search Help in Webdynpro Applications
Following is the procedure for ALV table display in webdynpro application
By Debesh Page 35
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 36
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 37
Use of Select Options and Search Help in Webdynpro Applications
Add another context.
By Debesh Page 38
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 39
Use of Select Options and Search Help in Webdynpro Applications
Design the view
By Debesh Page 40
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 41
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 42
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 43
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 44
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 45
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 46
Use of Select Options and Search Help in Webdynpro Applications
method HANDLEFROM_SELECTION .
wd_this->get_var = sel_handler. DATA: RT_DATA TYPE REF TO DATA. FIELD-SYMBOLS: <FS_DATA> TYPE TABLE. data : lt_range TYPE RANGE OF vbeln, ls_range LIKE LINE OF lt_range.
RT_DATA = WD_THIS->get_var->GET_RANGE_TABLE_OF_SEL_FIELD( I_ID = 'VBELN' ).
* Assign it to a field symbol ASSIGN RT_DATA->* TO <FS_DATA>. lt_range = <fs_data>. READ TABLE lt_range INTO ls_range INDEX 1. wd_this->vbeln_low = ls_range-low.
By Debesh Page 47
Use of Select Options and Search Help in Webdynpro Applications
wd_this->vbtype = lv_var. TYPES : BEGIN OF ty_vbap, VBELN type VBELN_VA , POSNR type POSNR_VA , MATNR type MATNR , matkl type MATWA , netwr type NETWR_AP , waerk type WAERK , werks type WERKS_EXT , lgort type LGORT_D , netpr type NETPR , END OF ty_vbap. DATA : lv_vbeln TYPE vbeln. DATA : lt_vbap TYPE TABLE OF ty_vbap. SELECT * INto CORRESPONDING FIELDS OF TABLE lt_vbap from vbak as a INNER JOIN vbap as b on a~vbeln = b~vbeln WHERE a~vbeln in lt_range and vbtyp = wd_this->VBTYPE. IF sy-subrc IS INITIAL. DATA lo_nd_sales TYPE REF TO if_wd_context_node. DATA lo_el_sales TYPE REF TO if_wd_context_element.* navigate from <CONTEXT> to <SALES> via lead selection lo_nd_sales = wd_context->get_child_node( name = wd_this->wdctx_sales ).* @TODO handle not set lead selection IF lo_nd_sales IS INITIAL. ENDIF.* get element via lead selection lo_el_sales = lo_nd_sales->get_element( ).* @TODO handle not set lead selection IF lo_el_sales IS INITIAL. ENDIF. lo_nd_sales->bind_table( lt_vbap ). ENDIF.endmethod.
By Debesh Page 48
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 49
Use of Select Options and Search Help in Webdynpro Applications
By Debesh Page 50