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

Внешняя подпрограмма — та, которая находится в другой программе, а не в той, в которой находится вызывающий подпрограмму оператор perform:

Когда perform обращается к внешней подпрограмме:

  • загружается внешняя программа, содержащая подпрограмму

  • внешняя программа проверяется на синтаксис

  • управление переходит к form во внешней программе

  • выполняются операторы во внешней подпрограмме

  • endform возвращает управление оператору после perform

Проверка синтаксиса происходит во время выполнения по следующим двум причинам:

  • для проверки соответствия типов передаваемых параметров

  • для проверки наличия синтаксических ошибок

Внешние подпрограммы очень похожи на внутренние подпрограммы:

  • обе позволяют передачу параметров

  • обе позволяют типизованные формальные параметры

  • обе позволяют передачу параметров по значению, по значению и результату и по ссылке

  • обе позволяют локальные определения переменных

Различия между внутренними и внешними подпрограммами:

  • Глобальная переменная, определенная с использованием data, известна только в программе, в которой она определена. Например, в иллюстрации оператор data f1 есть в обеих программах. Он определяет две области памяти с именем f1. f1, определенная в ztx1811, доступна только изнутри ztx1811. f1, определенная в ztx1812, доступна только изнутри ztx1812

  • Глобальные переменные с одинаковыми именами, определенные в обеих программах с использованием оператора tables, доступны в обеих программах. Изменение в этой переменной в одной программе затрагивает переменную другой. Область памяти с именем ztxlfa1 разделена между обеими программами. Любое изменение в этой рабочей области немедленно отражается в обеих программах.

  1. Оператор include.

Включаемая программа (include program) — программа, которая спроектирована для использования другой программой. Другие программы используют код, который содержит включаемая программа, копируя в себя строки включаемой программы. Копирование происходит во время выполнения с помощью оператора include.

Программу, включающую другую программу, называют как включающей программой (including program).

Синтаксис оператора include

include ipgm.

где:

ipgm — программа типа i

Особенности оператора:

  • включаемая программа должна быть типа i (тип программы определяется в поле Type на экране Program Attributes при создании программы)

  • включаемая программа может быть включена в одну или более включающих программ

  • программа типа i не может содержать частичных или неполных операторов

Оператор include копирует код включаемой программы во включающую программу. Код из включаемой программы копируется один к одному и заменяет оператор include во время генерации включающей программы:

  • Во время генерации строки 5 программы ztx1901 из программы ztx1902 копируется код в ztx1901; вставляемый код заменяет строку 5

  • Во время генерации строки 6 программы ztx1901 из программы ztx1903 копируется код в ztx1901; вставляемый код заменяет строку 6

  • При выполнении программа ztx1901 ведет себя как единая программа, как будто строки из включаемых программ были набраны непосредственно в ztx1901

SAP использует include для уменьшения избыточности кода и разделения очень больших программ на меньшие модули.

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