(ABAP) Как узнать, заполнен ли начальный экран (экран выбора) или нет - PullRequest
1 голос
/ 31 октября 2011

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

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

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

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

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

Я пытался использовать

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

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

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

Ответы [ 2 ]

3 голосов
/ 31 октября 2011

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

IF SELECTION_KUNNR[] IS INITIAL.

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

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

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

0 голосов
/ 10 ноября 2011

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

ОПИСАТЬ СТОЛОВЫЕ ЛИНИИ w_count.

...