Здравствуйте!
Решил не создавать новую тему.. эта, думаю, подходящая тема..
Хотел в множественном выборе скрыть вкладки "Отдельные значения" и "Интервалы" с красными светофорами, то есть, вкладки которые позволяют перечислять исключаемые значения.
Экран - свой нарисованный(скажем 110). Там создал подэкран subscr1. В главной программе определил так же подэкран с пом. конструкции
Code:
SELECTION-SCREEN BEGIN OF SCREEN 1001 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK a.
SELECT-OPTIONS:
s_field1 FOR table1-field1,
s_field2 FOR table1-field2.
SELECTION-SCREEN END OF BLOCK a.
SELECTION-SCREEN END OF SCREEN 1001 .
и в PBO и PAI включил
CALL SUBSCREEN subscr1 INCLUDING sy-cprog '1001'.
и
CALL SUBSCREEN subscr1 соответственно.
Подэкран нормально отображается, там появились поля s_field1, s_field2 с кнопками множественного выбора. Хотелось бы убрать возможность исключать значения, то есть чтобы возможно было только перечислять нужные.
1) Для этого интересовался опциями SELECT-OPTIONS(NO-EXTENSION, NO INTERVALS - первый скрывает вообще кнопку множественного выбора, а второй скрывает интервалы в множественного выбора, но возможность перечислять исключаемые значения остается).
2) Попробовал использовать ФМ SELECT_OPTIONS_RESTRICT но не помогает. Может я не правильно пользуюсь? вот фрагмент настройки:
Code:
ls_opt_list-name = 'JUST_EQ' .
ls_opt_list-options-eq = 'X' .
ls_opt_list-options-nb = space.
ls_opt_list-options-ne = space.
APPEND ls_opt_list TO ls_restrict-opt_list_tab .
CLEAR ls_opt_list.
ls_ass-kind = 'S' .
ls_ass-name = 's_field1' .
ls_ass-sg_main = 'I' .
ls_ass-sg_addy = SPACE.
ls_ass-op_main = 'JUST_EQ'.
APPEND ls_ass TO ls_restrict-ass_tab .
CLEAR ls_ass .
данный код я поставил после INITIALIZATION.
затем вызываю ФМ SELECT_OPTIONS_RESTRICT.
Видимо тут дело в типе программы. (так как INITIALIZATION. используется только для выполнимых программ). У меня главная программа -пулмодуль. Ставил в PBO нужного экрана - не срабатывает..
