так, чтобы при выборе определенного значения в комбобоксе на селекционном экране скрывать/отображать другие поля?
Комбобокс объявлен так:
PARAMETERS: p_type(5) TYPE c AS LISTBOX VISIBLE LENGTH 20 OBLIGATORY.
Также есть такой обработчик:
AT SELECTION-SCREEN OUTPUT.
DATA lt_value TYPE vrm_values.
" заполнение lt_value
SORT lt_value BY text.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'P_TYPE'
values = lt_value
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
LOOP AT SCREEN.
" логика определения значений для scree-active в зависимости от значения p_type
MODIFY SCREEN.
ENDLOOP.
В отладке в этот обработчик выполнение заходит только при запуске программы, а при выборе значения в комбобоксе не заходит
В объявлении параметра/селект опшенс надо добавить опцию user command. Тогда это событие будет вызываться при смене значения.
https://sapcode.ru/abap-%d1%80%d0%b0%d0%b4%d0%b8%d0%be%d0%ba%d0%bd%d0%be%d0%bf%d0%ba%d0%b8-%d1%81%d0%ba%d1%80%d1%8b%d1%82%d1%8c-%d0%be%d1%82%d0%be%d0%b1%d1%80%d0%b0%d0%b7%d0%b8%d1%82%d1%8c-%d0%bf%d0%be%d0%bb%d1%8f/
Обсуждают сегодня