Я пишу отчет, в котором у меня есть две радиокнопки группы «вкладка».В зависимости от их значения, я должен установить для некоторых полей экрана значение no-display, иначе, отображать их правильно.
Я могу заставить его работать идеально, используя событие at selection-screen output.
, но оно отказывается работать при использовании at selection-screen on radiobutton group tab
- чтобы проверить одно, я закомментирую другое.
Код в обоих случаях одинаков, поэтому кто-то может помочь мне понять разницу в этих двух событиях, чтобы я понял, почему работает только одно?
события ниже, работает только второе.
at selection-screen on radiobutton group tab.
go_controller->modify_screen( ).
at selection-screen output.
go_controller->modify_screen( ).
Они оба вызывают один и тот же метод
method modify_screen.
loop at screen.
case screen-group1.
when 'TAB'.
if use_otab = abap_false.
screen-invisible = 1.
screen-active = 0.
screen-input = 0.
p_int = abap_false.
p_nat = abap_false.
free p_table[].
else.
screen-active = 1.
screen-invisible = 0.
screen-input = 1.
endif.
modify screen.
endcase.
endloop.
endmethod.
Через отладку я вижу, что оба события достигнуты правильнотем не менее, работает только второй.