Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие авар.doc
Скачиваний:
62
Добавлен:
02.09.2019
Размер:
2.34 Mб
Скачать

Записи и внутренние таблицы

Помимо полей ABAP/4 поддерживает специальную конструкцию - запись, которая позволяет содержать фиксированное число объектов данных.

Предположим, нужно скомпоновать информацию о клиенте в одну запись:

data: begin of customer,

id(8) type n,

name(25),

phone(12),

end of customer.

Так же есть возможность создавать неизменяемые структуры (константы):

constants: begin of our_company,

name(25) value 'ERP Group',

phone(12) value '+79031111111',

end of our_company.

Помимо полей и записей ABAP/4 поддерживает специальную конструкцию - внутренняя таблица, которая позволяет содержать произвольное число объектов данных.

Внутренние таблицы существуют только во время выполнения программы.

Предположим, что необходимо создать таблицу той структуры, которая была определена выше - customer.

data: all_customer like customer occurs 100.

Здесь ключевое слово occurs указывает на создание внутренней таблицы с предполагаемым числом записей = 100 (используется только для оптимизации).

Объявление составных неэлементарных типов и объектов

ABAP/4 позволять определять неэлементарные типы данных на основе других неэлементарных типов:

types: begin of address,

city(25),

street(30),

end of address,

begin of customer,

id(8) type n,

name(25),

phone(12),

address type address,

end of customer.

data: receiver type customer.

В дальнейшем можно использовать отдельные компоненты структуры:

customer-name = 'IBS'.

customer-address-city = 'Moscow'.

Область определения данных

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

  1. Локальные переменные подпрограммы.

  2. Глобальные переменные программы.

  3. Глобальные переменные словаря Dictionary.

Глобальные таблицы словаря Dictionary

При разработке крупных проектов нередко возникает необходимость многократного использования всеми приложениями некого набора структур данных. Для этих целей в ABAP/4 имеется активный интегрированный словарь Dictionary, основной принцип которого следующий: при изменении какой либо структуры в словаре Dictionary - все приложения, использующие эту структуру, сразу же будут работать с новой версией.

Оптимизировать многократное использование объектов Dictionary позволяет их разделение на три уровня.

  • Таблицы и структуры

  • Элементы данных

  • Домены

Таблицы и структуры

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

Отображение определения

В дереве инструментов выберите пункт меню "SAP menu -> Tools -> ABAP Workbench -> Development -> ABAP Dictionary" (код транзакции SE11).

Рисунок 4

В появившемся окне введите имя необходимой таблицы, например ABAPTREE и нажмите кнопку Display.

Рисунок 5

На экране появится форма, описывающая определение таблицы и ее полей.

Рисунок 6