12.Создание 1-ой программы в SAP

Для создания программ в SAP, можно использовать SE80 или SE38. Создадим программу ZKRE_HW1, которая будет просто извлекать данные из таблицы Products. Воспользуемся транзакцией SE38.

image_141-1

Транзакция SE38 в том виде в котором она видна здесь используется только для девелопмента, в продуктивной системе как правило у пользователей нет прав на запуск этой транзакции. Вместо SE38 в продуктивных системах для запуска программ можно использовать SA38. Нажимаем кнопку Create.

Программа на ABAP/4 состоит из двух основных частей: атрибутов и исходного кода. Зададим основные атрибуты (Title, Type, Status, Application) как на рисунке. Сохраняем программу в пакет и транспортный запрос, после чего откроется экран с ABAP редактором.

image_141-2

image_141-3

Открылся ABAP редактор, где собственно и будем писать код программы.

Напишем такой код.

image_141-4

Как видно он не очень красиво смотрится, поэтому можно использовать кнопку Pretty Printer, но для этого нужно сделать небольшие настройки. Идем Утилиты --> Настройки.

image_141-5

Если выскочило информационное окно, выбираем Разрешить и нажимаем ОК.

image_141-6

Появилось окно настроек где на вкладке Pretty Printer отмечаем следующие галочки.

image_141-7

Нажимаем Ввод. Затем нажимаем в ABAP редакторе Pretty Printer  и получаем аккуратный текст.

image_141-8

Проверяем на корректность синтаксиса - Ctr+F2. Выскочило предупреждение - это не ошибка так что все в порядке.

image_141-9

Пройдемся по коду.

*&---------------------------------------------------------------------*
*& Report  ZKRE_HW1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  zkre_hw1.

DATA : it_table TYPE zkre_t_products,
       wa_table LIKE LINE OF it_table.

SELECT * FROM zkre_products INTO CORRESPONDING FIELDS OF TABLE it_table.

LOOP AT it_table INTO wa_table.
  WRITE: / wa_table-id,
           wa_table-supply_id,
           wa_table-name,
           wa_table-purchase_cost,
           wa_table-sale_cost,
           wa_table-quantity.
ENDLOOP.

 

Сохраняем, активируем и запускаем на выполнение нашу программу. Результат будет иметь следующий вид.

image_141-10

Вот такой спартанский :) интерфейс отображения результатов выборки с помощью стандартных списков ABAP. В следующей статье - http://fibed.net/I/  создадим Function Module - функциональный модуль.

Комментарии

  • Николай
    Николай

    Автору конечно большое спасибо! Прочитал просмотрел и повторил полностью все 12 статей, что-то понял, по крайней мере получил общее представление, как работать с SAP.

    Конечно очень желательно бы, по больше комментариев и описания того, что есть в системе, а не ограничиваться тем куда надо нажать (но не воды как в многих книгах бывает).

    Подозреваю, что у автора к концу, плавно наступало полное отчаянье, что его творение уже никому не нужно, так что под конц 12 части уже осталось загадкой что программа должна делать? И как ее запускать, уж не говоря о синтаксисе языка... :-)

    on 01.11.2013 16:08
    RK
    RK

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

    on 03.11.2013 16:47
    Дмитрий
    Дмитрий

    Еще очень бы хотелось пару уроков про версионность программ. Деблокирование запроса и тд. Было бы отлично

    on 24.11.2013 20:05
  • Антон
    Антон

    Спасибо автору. Такой, прямо молодец. Я в английской книге устаю разбираться )

    on 28.05.2015 14:21
    R K
    R K

    Всегда мечтал нести знания в массы)

    on 07.06.2015 00:02
  • Александр
    Александр

    Спасибо автору за статью!
    Во время выполнения "урока" (моё первое знакомство с ABAP), возник вопрос "data : it_table type zkre_t_products" при проверке кода выдал ошибку: "Тип "ZKRE_T_PRODUCTS" является неизвестным
    ", по идее "ZKRE_T_PRODUCTS" уже где то есть, или её предворительно создал автор? Возможно ли просто выбрать любую таблицу (П.С. я так понял что это таблица из которой мы вытягиваем нужные нам данные, в созданную нами при помощи "копирования" таблицу - it_table, откуда в wa_table записываем нужные нам поля)..

    on 25.03.2016 12:38
    Леонид
    Леонид

    ZKRE_T_PRODUCTS, создание данного типа описано в предыдущем уроке

    on 02.10.2016 20:29
  • Ирина
    Ирина

    Огромное спасибо автору за толковый материал с подробным описанием действий! Изучила 12 статей, все очень понятно! На практике создала свои домены, элементы данных, таблицы, связи между ними. Моя цель-создание пользовательского интерфейса, обеспечивающего запрос на выборку данных, ввод и корректировку полученной информации. Надеюсь, последующие статьи помогут в реализации этой задачи! Еще раз спасибо автору за его благородный труд!

    on 18.02.2017 02:17
    R K
    R K

    Спасибо за отзыв :) думаю следующие статьи Вам немного помогут.

    on 18.02.2017 19:32

Чтобы оставить комментарий, необходимо Войти или Зарегистрироваться.