MaaLL написал(а):
нет, я понимаю, что range table - это внутренняя таблица, но мне нужно получить все возможные значения, а не только интервалы
Если это только для проверки, то можно напрямую воспользоваться range table. Вот пример, где мы делали самодельную проверку авторизации для каждой Sales Org (VKORG), которую пользователь выбрал на экране. Т.к. количество записей в TVKO небольшое, то используется SELECT ... ENDSELECT, но можно было использовать и SELECT INTO TABLE.
Code:
SELECT-OPTIONS: S_VKORG FOR TVKO-VKORG.
AT SELECTION-SCREEN.
SELECT vkorg FROM tvko INTO w_vkorg
WHERE vkorg IN s_vkorg.
CALL FUNCTION 'ZCA_AUTH_CHECK_VKORG'
EXPORTING
vkorg = w_vkorg
activity = w_activity
EXCEPTIONS
no_authorization = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDSELECT.