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

Наборы в ABAP

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


  DATA: lt_set_values TYPE TABLE OF rgsb4. " Таблица со значениями набора
  DATA: ls_set_values TYPE rgsb4. " рабочая область
 
  DATA: lv_setid TYPE sethier-setid. " Переменная для номера набора
  CLEAR: lv_setid.
 
  CALL FUNCTION 'G_SET_GET_ID_FROM_NAME' " Узнаем номер набора по его имени
    EXPORTING
      shortname                = 'ZFI_CREATE_K' " Имя набора
    IMPORTING
      new_setid                = lv_setid
    EXCEPTIONS
      OTHERS                   = 10.
  IF sy-subrc EQ 0.
    CALL FUNCTION 'G_SET_GET_ALL_VALUES' " Выберем все значения набора
      EXPORTING
        setnr         = lv_setid
      TABLES
        set_values    = lt_set_values
      EXCEPTIONS
        set_not_found = 1
        OTHERS        = 2.
    IF sy-subrc EQ 0.
      READ TABLE lt_set_values INTO ls_set_values INDEX 1.
      c_blfb1-begru = ls_set_values-from.
    ENDIF.
  ENDIF.

Комментарии

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

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

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

События для ведения таблиц

Как и всегда, в пылу проекта внезапно родилась Z табличка. Главный нюанс был в том, что она должна была хранить пароли для авторизации на стороннем сервере. Естественно, никто не хотел хранить пароли в открытом виде, а двустороннее шифрование SAP не умеет без сторонних пакетов и надстроек. Далее, все как обычно - придумали алгоритм, сделали табличку. Дело осталось за малым - нужно шифровать пароли, которые вводит пользователь. Делать отдельную программу нет смысла, поскольку ее функционал мало чем будет отличаться от сгенерированного. Вот здесь на помощь приходят события! С их помощью можно, наверное, все. По крайней мере, я не нашел чего-либо, что нельзя сделать с данными через события.

OOP ALV GRID с HTML шапкой

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