Программирование диалогов

Программирование диалогов

Программирование диалогов имеет отношение к разработке интерактивных приложений в SAP. Программирование диалогов основывается на концепции динамической программы (dynpro), которая состоит из экрана ввода и соответствующего кода обработки. Диалоговая программа состоит из одной или нескольких динамических программ. Элементы диалоговой программы:

• Один или несколько интерфейсов представления

• Один или несколько экранов динамических программ

• Логика исполнения.

Динамическая программа управляет только элементами ввода и их поведением на экране. Как уже упоминалось в разделе «Редактор меню», такие средства управления, как меню и кнопки управляются интерфейсом представления.

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

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

Когда диалоговая программа активируется, вызываются не модули, а экраны динамических программ. Именно экраны динамических программ осуществляют необходимую функциональность посредством выполнения отдельных модулей из банка модулей.

Рис. 8.13. Банк модулей.

Динамические программы

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

• Экран с такими атрибутами полей, как форматы, характеристики вывода на монитор, подтверждения и т. д.

• Логика выполнения, указывающая модули для обработки.

Диалоговая программа начинает работу с той динамической программы, которая идентифицирована как начальная. Каждый экран динамической программы содержит номер следующей динамической программы, которая вызывается после окончания предыдущей. Эта цепочка прерывается после завершения работы динамической программы, в которой 0 (ноль) указан как номер следующей программы. Это стандартный, статичный способ вызова динамической программы. Вызов динамических программ также возможен посредством команд SET SCREEN и CALL SCREEN в логике выполнения.

Логика выполнения

Flow Logic вызывает модули из банка модулей при наступлении заданного события. Различные модули классифицируются согласно следующим событиям:

PROCESS BEFORE OUTPUT PBO

PROCESS AFTER INPUT PAI

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

PROCESS ON VALUE-REQUEST POV

PROCESS ON HELP-REQUEST POH