Цитата:
Извините, но что такое "SO" и "динпро без интервалов"?
SO без интервалов это selection-option с no intervals.
Динпро это Dynpro.
Цитата:
Мне нужно чтобы в программе было поле в которое можно ввести несколько значений с использованием определённого средства поиска. После ввода этих значений нужно чтобы они поместились во внутренню переменную программы, чтобы потом можно было их обработать (по нажатию других кнопок). Сейчас читаю про DYNP_VALUES_READ, но пока не понял, сможет ли она считать множество значений из select-options, плюс вызывать её, как я понял, нужно будет не после заполнения поля (по какому-то событию), а перед обработкой внутренней переменной программы.
Понятно что Вам нужно.
Рекомендую делать примерно так -
1) Объявляете SO без matchcode.
2) Вызываете СП в событии at selection-screen on value-request с помощью F4IF_FIELD_VALUE_REQUEST(мульти)
3) После выбора из СП множества значений, обрабатываете их в at selection-screen on value-request. То есть нужно будет закинуть в Ваш SO. Там нужно не попасть на одни грабли при заполнении SO, не забывайте, что это по сути внутренняя табличка с хидером.
4) Нужно будет обновить иконку на экране(когда заполнен многократный выбор она зеленная) с помощью 'DYNP_VALUES_UPDATE'.
Таким образом, у Вас на экране будет поле с кнопкой многократный выбор и с СП(мульти), после выбора нескольких значений из СП, получите заполненную глобальную переменную типа range(SO), которую дальше будете использовать где нужно в программе.
P.S. Возможно кому то это покажется извратом, но вот я использовал когда то именно такой вариант, другого не нашел. Буду рад если найдется более простое и оптимальное решение.