Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Цель и структура отчета, виды экранов.
Цель отчета состоит в чтении данных из базы данных и их отображении. Он состоит только из двух экранов: Первый экран называют экраном выбора( selection screen ). Он содержит входные поля, позволяющие пользователю ввести критерии для отчета. Второй экран — экран вывода ( output screen ). Он содержит список ( list ). Список — вывод из отчета, он обычно не имеет никаких входных полей. Экран выбора является дополнительным (опцией). Он есть не у всех отчетов. Однако все отчеты генерируют список. Соглашения об именах программ. Объекты разработки клиента должны удовлетворять соглашению об именах. Имена программ должны содержать от 2 до 8 символов и начинаться символом y или z (SAP резервирует символы от a до x для собственных программ). Транзакция, особенности вызова транзакции, мандант, учебный мандант. Транзакция — это программа в оболочке, которая отслеживает целостность данных. Мандант — уровень для разделения функций. Учебный мандант — 800. Если транзакция вызывается из другой транзакции, то она вводится следующим образом: /o имя_новой транзакции — вызов транзакции в новом окне /n имя_новой транзакции — вызов транзакции в текущем окне Учебный мандант =800. Синтаксис оператора select. Синтаксис оператора: select * from t1 [into wa] [where f1 op v1 and/or f2 op v2...] [order by f1]. (other abap/4 statements) Endselect. где: * — указывает, что все поля из таблицы должны быть получены t1 — имя таблицы, определенной в операторе tables wa — имя рабочей области, которая соответствует структуре таблицы f1 — имя поля в таблице t1 op — один из следующих логических операторов: = < > > > = < < = v1 — литерал или переменная Упрощенный оператор data. data wa like t1. где: wa — имя рабочей области таблицы, которая определяется t1 — имя таблицы, «структура» строки которой будет скопирована в рабочую область Системные переменные sy-datum, sy-uzeit, sy-dbcnt. Системные переменные всегда доступны в пределах программы, они автоматически обновляются системой. Все системные переменные начинаются с префикса sy-. Например, текущая системная дата доступна в системном поле sy-datum , текущее время — в поле sy-uzeit. Все системные переменные определены в структуре DDIC syst (её можно просмотреть как обычную таблицу БД с помощью se11, или дважды щелкнув на имени любого sy- поля в программе). Следующие две системные переменные часто используются с оператором select: sy-subrc — используется для определения, возвратил ли оператор select какие-нибудь строки. Если строки были найдены, значение sy-subrc будет 0. Если строки не были найдены, значение будет 4. sy-dbcnt — используется для определения числа строк, возвращенных оператором select (значение sy-dbcnt проверяется после endselect ). Можно его использовать также как счетчик цикла — sy-dbcnt между select и endselect содержит номер текущей итерации. После первого прохода цикла значением sy-dbcnt будет 1, после второго — 2 и так далее. После endselect она сохранит свое значение, и таким образом будет содержать число выбранных строк. Цепной оператор. Двоеточие (: ) называется цепным оператором. Он используется для объедининия строк программы, начинающихся с одинакового слова или последовательности слов. Например, строки: Tables ztxlfa1. Tables ztxlfb1. можно записать с использованием цепного оператора: Tables: ztxlfa1, ztxlfb1. Цепные операторы используются для улучшения читаемости программы. Синтаксис оператор select single. Оператор select single используется для получения единственной записи из базы данных. Упрощенный синтаксис для select single: select single * from t1 [into wa] [where f1 op v1 and/or f2 op v2...]. где: * — указывает, что все поля из таблицы должны быть получены t1 — имя таблицы, определенной в операторе tables wa — имя рабочей области, которая соответствует структуре таблицы f1 — имя поля в таблице t1 op — один из следующих логических операторов: = < > > > = < < = v1 — литерал или переменная Особенности оператора: § select single не начинает цикл, потому что возвращает только одну строку — поэтому endselect не используется § для гарантии, что будет возвращена одна уникальная строка, нужно определить все первичные поля ключа в выражение where Комментарии, их виды. Есть два вида комментариев: § * ( звездочка ) в первом столбце указывает, что вся строка — комментарий (при этом закомментированная строка станет синей) § " ( двойные кавычки ) в каком-нибудь месте в строке указывают, что остаток от строки — комментарий (комментарий не изменит цвет, поскольку выделяется только вся строка) Нет символа конца комментария. Комментарий заканчивается в конце текущей строки. 12. Буфер программы и roll area (область реестра) программы и их информационные наполнения. Программы буферизуются на сервере приложений в буфере программы( program buffer ). Когда пользователь делает запрос выполнить программу, программа ищется в буфере программы. Если не было изменений в базе данных, то используется буферизованная копия программы. В противном случае, если копия в базе данных обновлена, то программа перезагружается. Для каждого пользователя, который выполняет программу, не делается отдельной копии программы. Все пользователи выполняют одну и ту же копию программы. Дифференцирующий фактор — отдельное распределение памяти, называемое областью реестра( roll area ) . Для каждого пользователя при выполнении программы выделяется одна область реестра. Система использует область реестра для содержания всей информации о текущем выполнении программы и всех распределениях памяти. В области реестра хранится следующая информация: переменные и их значения, текущий указатель программы, список вывода и т.д. Пусть пользователь выполняет программу, и область реестра распределена. Если, не ожидая завершения работы программы, пользователь переключается на другой сеанс и запускает снова ту же программу, то для второго выполнения этой программы распределяется другая область реестра. У пользователя есть две области реестра — по одной для каждого выполнения программы. Если бы пользователь вместо этого выполнил другую программу, у него все равно было бы две области реестра — по одной для каждой программы. Популярное:
|
Последнее изменение этой страницы: 2016-08-31; Просмотров: 496; Нарушение авторского права страницы