Р. Кречмер, В. Вейс - Разработка приложений SAP R3 на языке АВАР4. Р. Кречмер, В. Вейс - Разработка приложений SAP R3 на языке АВАР. Разработкаприложений sap r3Рюдигер Кречмерна языкеВольфганг Вейс
Скачать 28.36 Mb.
|
Глава 18 Выполнение программы-отчета • Запуск программы-отчета • Использование критериев выборки в качестве интерфейса • Работа с вариантами • Выполнение отчета в фоновом режиме 204 Глава 18 П р и разработке программы очень важным этапом является ее тестирование на самых ранних ста- диях создания. Разработчик должен продемонстрировать пользовательский интерфейс и усовершенст- вовать его, согласно пожеланиям будущих пользователей. Простые и удобные средства тестирования АВАР/4 позволяют выяснить, будет ли создаваемая программа функционировать так, как предполагал разработчик. В предыдущих главах рассмотрены способы создания отчета, использующие стандартный экран выбора и интерактивную работу со списком. В данной главе обсуждаются тестирование программ- отчетов с помощью средств Development Workbench и вызов отчетов из других программ. В вызываю- щей программе отчет выполняется с помощью команды submit. Каждый критерий выборки запускаемого отчета можно устанавливать на уровне вызывающей программы. Кроме того, допускается задание набора критериев выборки с помощью вариантов (Variant), при этом поля ввода критерия вы- борки автоматически заполняются значениями указанного варианта непосредственно при выполнении отчета. Это дает возможность избавить пользователя от многократного ввода полей критериев на эк- ране выбора. В реально работающих приложениях системы R/3 отчеты всегда создаются с помощью вариантов. Основной каталог Reporting Tree (дерево отчетов) содержит более 1000 стандартных отчетов и вариан- тов, поставляемых с системой R/3. Пользователь может найти среди них необходимые готовые отчеты для ежедневной деятельности, например для составления инвентарного списка отделения компании. Содержимое Reporting Tree уточняется в процессе адаптации системы, и все необходимые пользовате- лям отчеты и варианты постепенно включаются в дерево отчетов. Каждое приложение (Logistics — Логистика, Accounting — Бухгалтерия, Human Resource — Управление персоналом и др.) имеет также собственное дерево с вариантами, настроенными на функции конкретного приложения. Если для отчета необходимо считывать большое количество информации из таблиц базы данных, то он исполняется достаточно долго и мешает работе других заданий пользователя, выполняемых одно- временно. К тому же системных ресурсов может оказаться недостаточно для одновременной работы нескольких пользователей. Поэтому следует оптимизировать использование системных ресурсов, напри- мер, с помощью фонового выполнения некоторых заданий (см. ниже). Тестирование отчетов из Development Workbench Для запуска программы-отчета из среды редактора Editor укажите на экране элементы меню Program Execute (выполнить). Редактор всегда использует текущую программу, и ее сохранение перед запуском не требуется. После завершения выполнения отчета нажмите на функциональную клавишу Back (F3) для возврата в Editor. Для тестирования в режиме Object Browser следует указать имя отчета в списке объектов и нажать на клавишу Test/Execute (тестировать/выполнить). При тестировании отчета можно не беспокоиться о его компиляции или зависимости от других программных объектов. АВАР/4 автоматически создает новую выполняемую версию программы при любом изменении исходного текста или объектов Dictionary. Обычно в больших ИС одно приложение создает несколько отчетов, которые могут запускаться на выполнение с помощью функций меню, экранных кнопок или непосредственно из дерева отчетов. Од- нако часто требуется выполнить отчет, который еще не интегрирован в пользовательский интерфейс. Запуск отчета с любого экрана системы R/3 обеспечивается выбором элементов меню System Serv- ices Reporting, как показано на рис. 18.1. На следующем экране введите имя отчета (например, abapl801) и нажмите на кнопку Execute (см. рис. 18.2). По завершении выполнения отчета нажмите на клавишу Back (F3) для возврата к экрану, с которого был осуществлен запуск. Использование команды submit для выполнения отчетов В языке АВАР/4 допускается вызов программы-отчета из любой другой программы, что позволяет интегрировать отчет в пользовательский интерфейс приложения. Так же, как и при вызове подпро- Выполнение программы-отчета 205 Рис. 18.1 Запуск отчета при выборе элементов меню System Services Reporting Рис. 18.2 Выполнение отчета на экране Execute Program грамм или функций, разрешается передача данных из вызывающей программы в вызываемую програм- му-отчет. В этом разделе рассматриваются два способа передачи данных: • Использование в качестве интерфейса параметров и составных критериев выборки стандартного экрана выбора • Использование системой области памяти АВАР/4 Использование критериев выборки для передачи данных Запуск программы-отчета из любой другой программы выполняется командой submit. При этом каж- дый критерий выборки вызываемого отчета можно задать в вызывающей программе с помощью допол- нения with команды submit. Например, отчет abaplSOl имеет параметр выбора p_date и составной критерий s_name: report parameters p_date type s_name where name in write / bookings where 206 Глава 18 В данном примере содержимое таблиц базы данных customers и bookings и выводится на экран согласно составному критерию выборки s_name. Дополнительно в выборе даты заказа в книге регистрации используется параметр p_date. Если отчет abapl801 запускается на выполнение не автономно, а из другой программы, то критерии выборки следует задать в вызывающей программе. В приведенной ниже программе отчет abapl802 вы- полняет отчет abapl801 и заполняет критерии выборки: Заметим, что критерии выборки вызываемого отчета всегда указываются в правой части отношения, связывающего их с вызывающей программой при помощи дополнения with команды submit. В примере параметр p_date устанавливается равным текущей дате (системное поле sy-datum), а составной критерий выборки s_name отчета abapl802 целиком передается в составной критерий s_name вызываемого отчета Вместо TWO чтобы задавать каждый параметр или составной критерий выборки отдельно, можно определить все критерии сразу, добавив дополнение using selection-set, которое использует средства Variant. Принцип работы с вариантами рассматривается в разделе отчетов, использующих варианты". Если пользователь должен иметь возможность задавать критерий выборки для вызываемого отчета самостоятельно, то программист может вывести экран выбора с помощью следующей команды: В процессе выполнения команда submit останавливает вызывающую программу и выполняет вызы- ваемый Поэтому, если на экране присутствует список вызванных отчетов, а пользователь нажи- мает на клавишу Back (возврат), то система "не возвращает его" в вызывающую программу, содержащую команду submit. Однако иногда необходимо продолжить выполнение вызывающей программы после вы- зова отчета. Для этого в команде submit следует использовать дополнение and return: В этом примере после завершения отчета abapl801 вызывающая программа продолжает работу. Допускается комбинирование дополнений команды submit произвольным образом. Например, можно передать управление на экран выбора и вернуться в него после выполнения отчета. Использование системной области памяти АВАР/4 в качестве интерфейса ЕСЛИ ДЛЯ выполнения вызываемого отчета необходимы не только параметры и составные критерии выборки, но и другие данные, то разработчик может использовать в вызывающей программе команду export to memory (см. главу 14), которая позволяет экспортировать в память составные объекты данных. В вызываемом отчете такие временные данные можно считать с помощью оператора import from memory. Например, вызывающая программа экспортирует внутреннюю таблицу customers: Выполнение программы-отчета 207 submit В примере данные о клиентах из базы данных и помещаются во внутреннюю таблицу которая затем экспортируется в системную область памяти АВАР/4 . Аналогичным спо- собом вызываемый отчет может импортировать эту таблицу: r e p o r t d a t a customers o c c u r s 100 w i t h h e a d e r i m p o r t from memory id 'CUSTOMERS' . l o o p a t w r i t e / В этом внутренняя таблица импортируется из памяти, все ее строки выво- дятся на экран. Содержимое системной области памяти АВАР/4 можно использовать через несколько уровней вызовов. Выполнение отчетов, использующих варианты Вариант (Variant) представляет собой набор всех параметров и составных критериев выборки отчета. При выполнении отчета с использованием этого набора поля экрана выбора сразу заполняются ниями, указанными как один из вариантов набора. можно использовать вариант, который задает значение параметра p_date как использует для составного критерия выборки s_name выбор по буквам А и М. Это значительно облетает рг.боту, избавляя от заполнения всех полей экрана выбора, а также обеспечивает многократное использование критериев выборки и защиту данных. Создание вариантов Д л я с о з д а н и я в а р и а н т а н е о б х о д и м о после ввода к р и т е р и е в в ы б о р к и на э к р а н е в ы б о р а указать эле- м е н т ы л и н е й к и м е н ю G o t o Variants Save As На п о я в и в ш е м с я э к р а н е следует задать имя и краткое описание варианта, а затем сохранить его (см. рис. 18.5). На этом экране можно также задать атрибуты поля критериев выборки (см. раздел атри- бутов варианта"). Рис. 18.3 Определение варианта, в котором в качестве критериев выборки используются Date (дата) и Customer name (фамилия клиента) 208 Глава 18 В варианте разрешается хранить составные критерии выборки (например, все фамилии клиентов, расположенные между Аи М или начинающиеся с S). Однако в этом случае пользователь должен указать, что критерий может иметь несколько значений (см. главу Задание атрибутов варианта Для варианта и его полей и критериев выборки) можно задать несколько атрибутов (см. рис. 18.3). Например, если атрибут Protected (защищенное поле) указать в части экрана Environment (среда), то изменять данный вариант сможет только его создатель. Если этот атрибут за- дать в части экрана Field Attributes, то защищенным будет только единственное поле, которое выводит- ся на экран в режиме отображения и не доступно для изменения при выполнении отчета. Если указать атрибут Invisible (невидимое поле), то поля не отобразятся на экране. При выполнении оставшиеся видимыми критерии выборки будут упорядочиваться образом, что на месте невидимых полей появятся пустые строки. Использование атрибута Variable (переменное поле) рассматривается в разделе "Использование выборки". Задание, использующее варианты, часто запускается в фоновом режиме (см. раздел "Фоновое выпол- нение задания"). Для этого следует "включить" переключатель Background Only (только фоновый режим) на экране сопровождения варианта (см. рис. 18.3). Данный атрибут очень важен в том случае, когда отчет выполняется долго из-за того, что вариант включает большой набор данных. Использование переменных выборки ДЛЯ повышения гибкости при задании критериев выборки можно использовать в вариантах пере- менные. Например, если для составного критерия выборки Customer name создать переменную и определить ее содержимое как Smith или то отчет сможет выполняться для любого из этих значений. Любое поле варианта можно связывать с переменной, и тогда в процессе выполнения ее значение будет передаваться в соответствующее экрана выбора. При этом на одну переменную разрешается ссылаться в нескольких вариантах. Для создания такой ссылки на экране со- провождения варианта переключатель (переменное поле) для любого поля варианта и нажмите на кнопку Selection Variables (переменные выборки). На следующем экране задайте имя переменной (например, значение которой будет использоваться для заполнения поля (например, Cus- tomer name) на экране выбора (см. рис. 18.4). Рис. 18.4 Задание переменной выборки для варианта Если переменная еще не существует, то ее можно создать дважды щелкнув мышью на имени пере- менной и определив ее значения, как показано на рис. 18.5. В примере переменная выборки определяет фамилии всех находящиеся между А и М или начинающиеся с буквы S. Выполнение программы-отчета 209 Рис. 18.5 Задание значений переменной выборки Вычисление даты в варианте Критерий выборки, относящийся к ПОЛЮ типа date, должен либо иметь ссылку на переменную, либо вычисляться в процессе выполнения. Вычисляемые значения параметров и составных критериев вы- борки лучше применять, если отчет использует стандартные временные периоды (например, все заказы за текущий месяц или день) Для вычисления временного критерия выборки нажмите на кнопку Selec- Рис. 18.6 Задание текущей даты для вычисления временных значений На этом экране разрешается задавать различные способы вычисления даты: например, использовать для этого текущую дату или вычислять дату до и после текущей (date+10). Для составных критериев 210 Глава 18 выборки разрешается выполнять сложные вычисления. Например, кнопка "стрелка вниз" в правом верх- нем углу части экрана Period позволяет выбрать из ниспадающего списка такие возможности: • month start to today начала месяца до текущего дня) • First quarter of a year (первый квартал года) • Preceding month (предыдущий месяц) Запуск отчета, использующего варианты Однажды созданный и сохраненный вариант можно использовать для выполнения отчета, щелкнув на кнопке Get вариант) на экране выбора отчета и указав нужный вариант в появив- шемся диалоговом окне. Система заполнит поля ввода экрана выбора значениями указанного варианта. Если запуск отчета осуществляется с помощью последовательности элементов меню System Services Reporting, то щелкнуть на кнопке Execute With Variant (выполнить с использованием варианта) и нужный вариант в появившемся диалоговом окне. В ИС варианты включены в дерево отчетов, что позволяет вызвать отчет, дважды щелкнув мышью на имени варианта. Подробнее работа с отчетами в такой систе- ме рассматривается в разделе "Отчеты ИС производства". В программах вариант определяется после дополнения using команды submit: u s i n g ' Приведенная программа вызывает отчет в котором будет использован вариант с именем Данное дополнение разрешается использовать совместно с другими дополнениями ко- манды submit (via selection-screen, and return). Отчеты ИС производства Отчеты можно вызывать с помощью последовательности элементов меню System Services > Reporting (см. рис. 18.1), В этом случае пользователь должен задать программное имя отчета. Если же пользователь работает с каталогом стандартных отчетов и вариантов, предлагаемых ИС на начальном экране R/3 (см. рис. 18.7), то ему не требуется знать это имя. Приведенный на рис. 18.7 каталог, который называется Reporting Tree (дерево отчетов), содержит названия всех отчетов. Главное дерево отчетов включает более 1000 стандартных отчетов, структурированных в соответствии с функциональ- Рис. 18.7 Главное дерево отчетов, применяемых во всех приложениях Выполнение программы-отчета 211 ными приложениями R/3. Каждое приложение R/3 (Логистика, Бухгалтерия, Управление персоналом и др.) тоже имеет свое дерево отчетов. На рисунке показана часть дерева отчетов. Пользователь может просмотреть все дерево и запустить любой отчет, дважды щелкнув мышью на его названии. При адаптации системы R/3 можно изменить структуру дерева отчетов (например, заменить отчеты приложения Логистика на отчеты приложения Бухгалтерия), а позже включить в него дополнительные отчеты и варианты. Для обеспечения защиты данных предусмотрена проверка прав доступа для каждого поддерева дерева отчетов. Кроме того, допускается задание индивидуального набора отчетов для каждой должности в компании. Пользователь системы может получить доступ к своей записи в дереве отчетов, выбрать поддерево или убрать с экрана отчеты в любом узле дерева. Применение отдельных деревьев отчетов позволяет задавать разные права доступа пользователям в соответствии с производственной необходимостью. Выполнение отчета в фоновом режиме Отчеты, в которых считывается большое количество данных, обычно выполняются очень долго. Однако пользователь может захотеть в это же время поработать с другой задачей. Кроме того, если несколько пользователей одновременно запустят на выполнение отчеты, применяющие большие табли- цы, то системных ресурсов может не хватить. Применение фонового режима выполнения отчета по- зволяет выбрать определенное время старта для каждого отчета, оптимизируя таким образом использование системных ресурсов. Фоновый режим обычно применяется для следующих заданий: • Архивирование больших наборов данных • Передача данных системы другим приложениям • Выполнение программ периодически или в определенное время Если отчет вызывается с помощью последовательности элементов меню System >• Services Report- ing, то на следующем экране следует не только задать вариант, но и указать режим Background (фоно- вый). В этом случае можно определить начало выполнения как немедленное или запланировать фоновую обработку данных (т.е. указать системе, что программа АВАР/4 должна выполняться в фоно- вом режиме). Разрешается планирование запуска отчета как отдельного задания или как дополнитель- ного (тогда он будет выполняться совместно с другим заданием несколько позднее). Планирование выполнения программы — это лишь первая часть двухэтапного процесса. Прежде чем задание будет направлено на выполнение, оно должно быть разблокировано. Это произойдет автома- тически, если пользователь имеет право разблокировать задание и установить дату старта или если ему разрешено использовать кнопку Execute Immediately (выполнить немедленно). Дисциплина прав на сня- тие блокировки с задания особенно важна в крупных компаниях, в то же время в небольших органи- зациях администратор может предоставить такое право всем пользователям. Обработка задания в фоновом режиме обладает множеством достоинств. Например, при планирова- нии запуска задания на определенный день и время можно связаться со специальным календарем R/3, который позволит ограничить время выполнения задания рабочими днями и даст возможность опреде- лить исключения. Таким образом можно каждый понедельник утром в 8:00 запускать отчет, определяю- щий количество рейсов, запланированных на текущую неделю. Фоновая обработка задания автоматически распределяется между различными серверами системы, оптимизируя ее загрузку. На всех экранах системы доступ к фоновому заданию можно получить, используя последовательность элементов меню System Services Jobs (задания) Job Definition (определение задания), а также System Services Jobs Job Overview (просмотр задания). Средства Development Workbench включают набор функций программного интерфейса для задания фонового режима. Эти функции обеспечивают планирование и управление фоновым заданием из про- граммы пользователя. Кроме того, поддерживается программный интерфейс для запуска не только про- грамм, написанных на языке АВАР/4, но и задач, не принадлежащих R/3. Этот интерфейс содержит следующие функциональные модули: • Управления заданиями (вывод на экран, копирование и удаление) • Контроля и переключения событий, используемых для запуска другой фоновой программы • Вывода на экран log-файла фонового задания (содержащего обработку всех событий выполнения) 212 Глава 18 Резюме • С помощью функции Execute экрана Editor можно запустить отчет на выполнение, используя те- кущий исходный текст программы-отчета. При этом предварительное сохранение программы не требуется. • Отчет можно выполнять с помощью команды submit. Следующие дополнения команды обеспечи- вают: via selection-screen — вывод экрана выбора, and return — продолжение выполнения вызы- вающей программы после завершения отчета. • Варианты представляют собой набор критериев выборки для создания отчета и используются для того, чтобы задавать значения по умолчанию или скрывать поля ввода на экране выбора. • Критерии выборки могут устанавливаться после определения команды submit путем указания ва- рианта или передачи выбранных значений отдельно для каждого параметра или составного кри- терия выборки. • В процессе выполнения разрешено устанавливать значения полей варианта с помощью перемен- ной выборки, связанной с параметрами или составными критериями варианта. Возможно дина- мическое вычисление временного критерия выборки. • В ИС предприятия запуск отчетов и задание вариантов осуществляется с помощью деревьев от- четов, которые представляют собой каталоги отчетов и вариантов. Каждый пользователь может сформировать собственное отображение деревьев отчетов. • Фоновые задания могут использоваться для периодического вызова программ или для вызова, при- вязанного к конкретному времени. • Используя программный интерфейс системы фоновой обработки заданий, можно сформировать (спланировать) график выполнения фоновых заданий и управлять ими из любой программы. В этой главе обсуждены вопросы работы с отчетами, которые считывают данные и выводят их на экран. В следующей главе рассматривается создание программы, использующей маски ввода при внесе- нии изменений в таблицы базы данных. |