Внедрить раскрывающийся список на экране выбора в ABAP

В ABAP «раскрывающийся список на экране выбора» относится к раскрывающемуся списку или полю выбора, которое используется для предоставления пользователю набора опций для выбора на экране выбора. Есть несколько способов добиться этого, и ниже я приведу несколько примеров:

  1. Использование классического экрана выбора:

    PARAMETERS p_dropdown TYPE spfli-cityfrom.

    При этом создается параметр экрана выбора с именем «p_dropdown» типа «SPFLI-CITYFROM», который будет отображаться в виде раскрывающегося списка на экране выбора. Параметры в раскрывающемся списке будут заполнены значениями поля «SPFLI-CITYFROM».

  2. Использование оператора экрана выбора:

    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_dropdown TYPE spfli-cityfrom.
    SELECTION-SCREEN END OF BLOCK b1.

    Этот метод создает блок экрана выбора с именем «b1» с заголовком и помещает параметр раскрывающегося списка «p_dropdown» внутри блока. Параметры в раскрывающемся списке будут заполнены значениями поля «SPFLI-CITYFROM».

  3. Использование раскрывающегося списка:

    DATA: lt_dropdown TYPE TABLE OF spfli-cityfrom,
      ls_dropdown TYPE spfli-cityfrom.
    SELECT cityfrom INTO TABLE lt_dropdown FROM spfli.
    ls_dropdown-cityfrom = 'All'. " Add additional options if needed
    APPEND ls_dropdown TO lt_dropdown.
    PARAMETERS: p_dropdown TYPE spfli-cityfrom
            AS LISTBOX VISIBLE LENGTH 20
            DEFAULT 'All' USER-COMMAND ucomm1.
    LOOP AT lt_dropdown INTO ls_dropdown.
    p_dropdown = ls_dropdown-cityfrom.
    MODIFY SCREEN.
    ENDLOOP.

    Этот метод использует раскрывающийся список, созданный с помощью параметра AS LISTBOX. Параметры заполняются путем чтения значений из поля «SPFLI-CITYFROM» и добавления дополнительных параметров при необходимости.