(ABAP) Как узнать, заполнен ли начальный экран (экран выбора) или нет

сначала Прошу прощения, если мой вопрос слишком простой Я только что узнал о ABAP

У меня есть код ini ABAP, который использует экран выбора с SELECT-OPTION, скажем, имя "selection_kunnr", и я хочу знать, заполняет ли пользователь эту область выбора или нет

(не означает, что пользователь оставляет поле пустым)

примечание: это поле выбора (selection_kunnr) не является обязательным полем.

как я могу с этим справиться?

Я пробовал использовать

    if selection_kunnr is not initial.
    "do some action here
    endif.

но я думаю, что это совсем не работает.

Спасибо всем :)


person yukou    schedule 31.10.2011    source источник
comment
извините .. У меня есть ответ, это должно быть selection_kunnr [] вместо selection_kunnr из-за множественного выбора, а проверка условий должна быть на экране выбора   -  person yukou    schedule 31.10.2011


Ответы (2)


SELECT-OPTIONS создает внутреннюю таблицу (такую ​​же, как оператор RANGE) для поля. (Создает 4 поля: SIGN, OPTION, LOW и HIGH). Вы можете проверить, есть ли в таблице какое-либо содержимое, используя:

IF SELECTION_KUNNR[] IS INITIAL.

Оператор [] определяет содержимое (строки) внутренней таблицы.

Я больше не уверен, потому что сейчас я не перед системой SAP, но если заполнены только начальные поля FROM / TO, я не уверен, создает ли это запись в таблице.

СОВЕТ: В редакторе ABAP вы можете поместить курсор на любой оператор и нажать F1, чтобы получить справку по этому оператору.

person mydoghasworms    schedule 31.10.2011

Учитывая, что это создает внутреннюю таблицу, вы также можете использовать оператор DESCRIBE. Что так же хорошо работает с диапазонами и внутренними таблицами в вашей программе.

ОПИСАТЬ СТРОКИ ТАБЛИЦЫ w_count.

person Grant B    schedule 10.11.2011