Для создания программ в SAP, можно использовать SE80 или SE38. Создадим программу ZKRE_HW1, которая будет просто извлекать данные из таблицы Products. Воспользуемся транзакцией SE38.
Транзакция SE38 в том виде в котором она видна здесь используется только для девелопмента, в продуктивной системе как правило у пользователей нет прав на запуск этой транзакции. Вместо SE38 в продуктивных системах для запуска программ можно использовать SA38. Нажимаем кнопку Create.
Программа на ABAP/4 состоит из двух основных частей: атрибутов и исходного кода. Зададим основные атрибуты (Title, Type, Status, Application) как на рисунке. Сохраняем программу в пакет и транспортный запрос, после чего откроется экран с ABAP редактором.
Открылся ABAP редактор, где собственно и будем писать код программы.
Напишем такой код.
Как видно он не очень красиво смотрится, поэтому можно использовать кнопку Pretty Printer, но для этого нужно сделать небольшие настройки. Идем Утилиты --> Настройки.
Если выскочило информационное окно, выбираем Разрешить и нажимаем ОК.
Появилось окно настроек где на вкладке Pretty Printer отмечаем следующие галочки.
Нажимаем Ввод. Затем нажимаем в ABAP редакторе Pretty Printer и получаем аккуратный текст.
Проверяем на корректность синтаксиса - Ctr+F2. Выскочило предупреждение - это не ошибка так что все в порядке.
Пройдемся по коду.
*&---------------------------------------------------------------------*
*& 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.
Сохраняем, активируем и запускаем на выполнение нашу программу. Результат будет иметь следующий вид.
Вот такой спартанский :) интерфейс отображения результатов выборки с помощью стандартных списков ABAP. В следующей статье - http://fibed.net/I/ создадим Function Module - функциональный модуль.
Николай
Автору конечно большое спасибо! Прочитал просмотрел и повторил полностью все 12 статей, что-то понял, по крайней мере получил общее представление, как работать с SAP.
Конечно очень желательно бы, по больше комментариев и описания того, что есть в системе, а не ограничиваться тем куда надо нажать (но не воды как в многих книгах бывает).
Подозреваю, что у автора к концу, плавно наступало полное отчаянье, что его творение уже никому не нужно, так что под конц 12 части уже осталось загадкой что программа должна делать? И как ее запускать, уж не говоря о синтаксисе языка... :-)
RK
Здесь представлена программа курсов проводимых одной из компаний интеграторов SAP. Данный курс как раз и рассчитан на введение в SAP, чтобы сложилось общее представление о системе, а дальше уже оф. дока SAP специализированные форумы, курсы. По поводу отчаянья в конце - не совсем так))), банально нехватка времени вот и подзабил немного. Впереди еще должно быть много статей затрагивающих различные аспекты SAP.
Дмитрий
Еще очень бы хотелось пару уроков про версионность программ. Деблокирование запроса и тд. Было бы отлично
Антон
Спасибо автору. Такой, прямо молодец. Я в английской книге устаю разбираться )
R K
Всегда мечтал нести знания в массы)
Александр
Спасибо автору за статью!
Во время выполнения "урока" (моё первое знакомство с ABAP), возник вопрос "data : it_table type zkre_t_products" при проверке кода выдал ошибку: "Тип "ZKRE_T_PRODUCTS" является неизвестным
", по идее "ZKRE_T_PRODUCTS" уже где то есть, или её предворительно создал автор? Возможно ли просто выбрать любую таблицу (П.С. я так понял что это таблица из которой мы вытягиваем нужные нам данные, в созданную нами при помощи "копирования" таблицу - it_table, откуда в wa_table записываем нужные нам поля)..
Леонид
ZKRE_T_PRODUCTS, создание данного типа описано в предыдущем уроке
Ирина
Огромное спасибо автору за толковый материал с подробным описанием действий! Изучила 12 статей, все очень понятно! На практике создала свои домены, элементы данных, таблицы, связи между ними. Моя цель-создание пользовательского интерфейса, обеспечивающего запрос на выборку данных, ввод и корректировку полученной информации. Надеюсь, последующие статьи помогут в реализации этой задачи! Еще раз спасибо автору за его благородный труд!
R K
Спасибо за отзыв :) думаю следующие статьи Вам немного помогут.