К основному контенту

Использование стандартного Search Help в программе

Зачастую, нужно вызвать свой подброс значений для поля ввода. Ниже представлен код, который вызывает свой SH для поля селекционного экрана


PARAMETERS: p_doc LIKE gs_eedmsettldoc-settldoc OBLIGATORY.
 
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_doc.
  DATA: shlp TYPE shlp_descr,
        selopt TYPE ddshselopt,
        interface TYPE ddshiface.
  DATA: lt_retval TYPE TABLE OF ddshretval,
        wa_retval TYPE ddshretval.
 
  DATA lt_pvalues TYPE TABLE OF dynpread WITH HEADER LINE.
 
  CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
    EXPORTING
      shlpname = 'ISU_EDM_SETTLDOC'
    IMPORTING
      shlp     = shlp.
 
  shlp-intdescr-dialogtype = 'D'.
 
  READ TABLE shlp-interface INTO interface WITH KEY shlpfield = 'SETTLDOC'.
  interface-valfield = 'X'.
  MODIFY shlp-interface FROM interface TRANSPORTING valfield WHERE shlpfield = 'SETTLDOC'.
 
  selopt-shlpname = 'ISU_EDM_SETTLDOC'.
  selopt-shlpfield = 'SETTLPROCESS'.
  selopt-sign = 'I'.
  selopt-option = 'EQ'.
  selopt-low = 'Z_PERIME'.
  APPEND selopt TO shlp-selopt.
 
  selopt-shlpname = 'ISU_EDM_SETTLDOC'.
  selopt-shlpfield = 'SETTLPROCESS'.
  selopt-sign = 'I'.
  selopt-option = 'EQ'.
  selopt-low = 'Z_PERIME_R'.
  APPEND selopt TO shlp-selopt.
 
  CLEAR: lt_retval[].
 
  CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
    EXPORTING
      shlp          = shlp
    TABLES
      return_values = lt_retval.
 
  IF NOT lt_retval[] IS INITIAL.
    READ TABLE lt_retval INTO wa_retval INDEX 1.
    p_doc = wa_retval-fieldval.
 
    SELECT SINGLE *
    FROM  eedmsettldoc
    INTO CORRESPONDING FIELDS OF gs_eedmsettldoc
    WHERE settldoc  = p_doc
    .
 
      p_proc = gs_eedmsettldoc-settlprocess.
 
  ENDIF.

Комментарии

Популярные сообщения из этого блога

Прямые ссылки на файлы Google диска

В предыдущей статье я рассказал, как подключить свой JavaScript файл к блогу BLOGSPOT . Но для того, что бы их подключить нужны прямые ссылки на файл, а Google диск при предоставлении общего доступа к файлу выдает ссылку на предварительный просмотр, которая никак напрямую не ссылается на файл. Для Google диска прямая ссылка на файл - это ссылка на скачивание. Ниже описаны два способа создания ссылки на скачивание на примере файла prism.js.

OOP ALV GRID с HTML шапкой

В этой статье хочу постараться подробно описать и привести пример, как можно создать ALV отчет с таблицей на весь экран и с HTML шапкой вверху. Я не буду описывать начальный этап, где пишется селекционный экран или делается выборка данных. Будем считать, что основа у нас есть и нам нужно просто вывести данные. Главной изюминкой является то, что нужно вывести ALV GRID на экран без использования каких-либо дополнительных элементов на экране. Step-By-Step Шаг 1. Создание окна Создаем самое простое окно с номером 100. На него не нужно кидать никаких контейнеров. Оно нам нужно только для модулей PAI и PBO и вывода на него ALV GRID.

Наборы в ABAP

Несколько слов о наборах. Набор - по существу это обычный range в ABAP . Выглядит он как настроечная таблица. просмотреть набор можно в транзакции GS03 . Часто требуется взять значения набора в коде программы. В этом помогут 2 функциональных модуля:  G_SET_GET_ID_FROM_NAME и  G_SET_GET_ALL_VALUES . Первый поможет узнать номер набора по его имени, а второй - сделать выборку. Ниже представлен пример использования: