cancel
Showing results for 
Search instead for 
Did you mean: 

OVS on Select Option

Former Member
0 Kudos

In one of my view i'm using select option.

I want to set an OVS on this select option

This is how I declare my select option.

*Use the helper class to create a range table for the data element S_CARR_ID
  lt_range = lr_helper->create_range_table( i_typename = 'LSO_CURRI_ID' ).
*Add a Selection Screen Field
  lr_helper->add_selection_field( i_id = 'SO_CURC'
                                  i_no_intervals = 'X'

                                  i_value_help_type = if_wd_value_help_handler=>co_prefix_ovs
                                  i_value_help_id = 'OVS_CURC'

                                  it_result = lt_range ).

Off course I do have in my component declare the component for the select option and the one for the OVS.

I created the method ON_OVS that Handles (1 ) event OVS of my re-used component.

In my view, i did in the properties create each of the compenents.

While testing, the selection screen as expected but when I try the OVS, I do get the following Dump... I've tried to find the solution on the existing post of this forum but as far as i've been looking, i've not been able to find a solution.

Note 
The following error text was processed in the system SI2 : OVS: Methode SET_OUTPUT_TABLE Cannot Be Called
The error occurred on the application server sapsi2_SI2_32 and in the work process 0 .
The termination type was: RABAX_STATE
The ABAP call stack was: 
Method: IF_WDR_OVS_LISTENER~MODIFY_RESULT_VIEW of program CL_WDR_VALUE_HELP_HANDLER=====CP
Method: WDDOMODIFYVIEW of program /1BCWDY/BCA72YPWGNQAD4VNPFJX==CP
Method: IF_WDR_VIEW_DELEGATE~WD_DO_MODIFY_VIEW of program /1BCWDY/BCA72YPWGNQAD4VNPFJX==CP
Method: DO_MODIFY_VIEW of program CL_WDR_DELEGATING_VIEW========CP
Method: MODIFY_VIEW of program CL_WDR_VIEW===================CP
Method: DO_MODIFY_VIEW of program CL_WDR_CLIENT_COMPONENT=======CP
Method: DO_MODIFY_VIEW of program CL_WDR_WINDOW_PHASE_MODEL=====CP
Method: PROCESS_REQUEST of program CL_WDR_WINDOW_PHASE_MODEL=====CP
Method: PROCESS_REQUEST of program CL_WDR_WINDOW=================CP
Method: EXECUTE of program CL_WDR_MAIN_TASK==============CP

Accepted Solutions (1)

Accepted Solutions (1)

abhimanyu_lagishetti7
Active Contributor
0 Kudos

there is already an OVS event in the select options component.

Just subscribe to the Event ON_OVS you need not create a OVS component usage in your component.

go through the component WDR_TEST_SELECT_OPTIONS view MAIN_VIEW for reference

Abhi

Answers (2)

Answers (2)

Former Member
0 Kudos

Steps :

->In the WDINIT method define ur select-option.

-> IN Methods of your view controller make a event handler ON_OVS for Event ON_OVS INTERFACECONTROLLER SELECT_OPTIONS.

-> Now you can write code in ON_OVS event handler:

Former Member
0 Kudos

hi,

From your description, i guess you put the OVS(component usage, and event handler method) in the View..

One proposal:

you can put the "Context Node" in Component controller and then implement the OVS event handler there. Then map the context node to the View..

Best wishes.