Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SAP(Контрольная работа №4).doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
318.46 Кб
Скачать
  1. Типы модулей abap/4.

Модуль (modularization unit) — оболочка, в которую можно поместить код. Он позволяет отделить группу строк программы от остальных, а затем выполнять их в определенное время. Строки программы в пределах модуля действуют как минипрограмма, которую можно вызвать из другой программы.

ABAP/4 предлагает три типа модулей:

  • события (Events)

  • подпрограммы (Subroutines)

  • функциональные модули (Function modules)

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

  1. Что такое событие. Основные события.

Событие (event) — тэг, который идентифицирует раздел кода. Раздел кода, связанный с событием, начинается с имени события и заканчивается тогда, когда встречается имя следующего события. Основные события:

    • initialization

    • start-of-selection

    • end-of-selection

Имена событий — зарезервированные слова. Нельзя создать новые события — можно использовать только существующие.

  1. Программа драйвера.

Программа драйвера (driver program) — это программа, которая управляет другой (управляемой, driven) программой. SAP поставляет программы драйвера вместе с системой R/3. Вы поставляете управляемую (driven) программу.

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

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

Затем программа драйвера выполняет следующую последовательность шагов:

  • Она вызывает событие initialization, вызывая к выполнению код, принадлежащий initialization. Если Вы не закодировали событие initialization в своей программе, программа драйвера пропускает этот шаг

  • Она отображает экран выбора (selection screen) для Вашей программы (экран выбора — экран, который содержит входные поля для Ваших операторов parameter). Если у Вашей программы нет экрана выбора, она пропускает этот шаг

  • Она вызывает событие start-of-selection, вызывая к выполнению код, принадлежащий этому событию. Если Вы не закодировали событие start-of-selection в своей программе, она пропускает этот шаг

  • Она вызывает событие end-of-selection в Вашей программе, выполняя весь код, принадлежащий ему. Если Вы не закодировали end-of-selection, она пропускает этот шаг

  • Она отображает пользователю список вывода (list)

  1. Порядок выполнения событий, определенный программой драйвера.

Порядок выполнения событий определен программой драйвера, а не Вашей программой. Поэтому, можно записывать события в любом порядке, однако порядок выполнения событий будет одним и тем же. Порядок событий в программе не имеет значения; они всегда будут вызываться программой драйвера в этой же последовательности:

1 report ztx1702.

2 data f1 type i value 1.

3

4 end-of-selection.

5 write: / '3. f1 =', f1.

6

7 start-of-selection.

8 write: / '2. f1 =', f1.

9 f1 = 99.

10

11 initialization.

12 write: / '1. f1 =', f1.

13 add 1 to f1.

1. f1 = 1

2. f1 = 2

3. f1 = 99

  • При запуске ztx1702 программа драйвера стартует первой

  • Она вызывает событие initialization

  • Выполняется код, связанный с initialization (строки 12 и 13). Выводится значение f1, и к нему добавляется 1. Затем управление возвращается к программе драйвера

  • Программа драйвера ищет экран выбора. Его нет в этой программе, поэтому она ищет событие start-of-selection. Она находит его в строке 7 и выполняет переход к строке 8 программы ztx1702. Выполняются строки 8 и 9, и затем управление возвращается к драйверу

  • Затем программа драйвера ищет событие end-of-selection. Найдя его в строке 4, она передает управление строке 5 программы ztx1702. Событию end-of-selection принадлежит только строка 5, поэтому она выполняется, и затем управление возвращается к драйверу

  • Затем драйвер выводит пользователю список вывода

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]