Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

BC400_RU_ECC_2005

.pdf
Скачиваний:
1456
Добавлен:
21.05.2015
Размер:
40.8 Mб
Скачать

BC400

Урок: Работа с элементарными объектами данных

Рисунок 47: Использование типов данных

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

Тип интерфейсного параметра определяет тип значения текущих параметров, передаваемых при вызове единицы модуляризации.

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

На этом уроке описывается главным образом использование типов для определения внутренних переменных для программы.

Рассмотрим стандартные типы ABAP, предварительно определенные SAP (внедренные типы). Они подразделяются на две группы: полные и неполные.

Перечисленные ниже внедренные стандартные типы ABAP являются полными. Это означает, что они уже содержат информацию о фиксированной длине, связанную с тем или иным типом.

Полные стандартные типы ABAP

D

Тип даты (Date), формат – ГГГГММДД, длина – 8 (фиксированная).

T

Тип времени (Time), формат – ЧЧММСС, длина – 6 (фиксированная).

 

© 2006 г. SAP AG All rights reserved. Авторские

81

06-04-2006

права защищены.

Глава 4: Основные языковые элементы ABAP

BC400

I

Тип целого числа (Integer), длина – 4 (фиксированная).

F

Тип числа с плавающей запятой (Floating), длина – 8 (фиксированная).

STRING

Тип символьной строки динамической длины.

XSTRING

Тип байтовой последовательности динамической длины (HeXadecimal string).

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

Неполные стандартные типы ABAP

C

Тип символьной строки (Character), для которой необходимо определить фиксированную длину.

N

Тип числовой символьной строки (Numerical character), для которой необходимо указать фиксированную длину.

X

Тип для байтовой последовательности (HeXadecimal string), для которой необходимо указать фиксированную длину

P

Тип упакованного числа (Packed number), для которого необходимо указать фиксированную длину.

(В определении упакованного числа также может быть указано количество десятичных знаков.)

Для получения дополнительной информации о предварительно определенных типах ABAP см. документацию по ключевым словам оператора TYPES или DATA.

82

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

BC400

Урок: Работа с элементарными объектами данных

Стандартные типы можно использовать для описания более полных или более сложных локальных типов данных. Эти типы существуют только в рассматриваемой программе и, следовательно, могут использоваться только в ней. Описание выполняется посредством оператора TYPES.

Рисунок 48: Описание локальных типов

Тип данных, определенный в ABAP-словаре, называется глобальным, поскольку может использоваться во всей системе (т.е. во всей рассматриваемой SAP-системе).

 

© 2006 г. SAP AG All rights reserved. Авторские

83

06-04-2006

права защищены.

Глава 4: Основные языковые элементы ABAP

BC400

Рисунок 49: Глобальные типы данных в словаре

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

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

84

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

BC400

Урок: Работа с элементарными объектами данных

Рисунок 50: Определение объектов данных

Объекты данных всегда определяются с помощью ключевого слова DATA. Для ввода объекта данных можно использовать стандартный, локальный или глобальный тип ABAP.

При определении дополнительных переменных можно использовать ссылку на уже определенный объект данных (дополнение LIKE).

 

© 2006 г. SAP AG All rights reserved. Авторские

85

06-04-2006

права защищены.

Глава 4: Основные языковые элементы ABAP

BC400

Рисунок 51: Примеры определения элементарных объектов данных

Для предварительного определения значения элементарного объекта данных можно добавить ключевое слово VALUE.

Если в определении переменной отсутствует информация о типе, то предполагается, что это переменная стандартного типа C.

Напротив, при отсутствии заданной длины используется соответствующая длина по умолчанию для стандартного типа (неполного).

Таким образом, оператор "DATA myvar." без информации о типе или длине определяет символьную переменную с длиной 1, что соответствует длине типа C по умолчанию.

Длина по умолчанию для неполных стандартных типов, а также другая информация, приведена в документации по ключевым словам оператора

TYPES или DATA.

86

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

BC400

Урок: Работа с элементарными объектами данных

Рисунок 52: Литералы и константы (фиксированные объекты данных)

Фиксированные объекты данных имеют некоторое постоянное значение, которое фиксируется при написании исходного текста и не изменяется во время выполнения. Литералы и константы относятся к фиксированным объектам данных.

Литералы можно использовать для указания постоянных значений в программах. Существуют числовые литералы (указываются без верхних кавычек) и текстовые литералы (указываются с верхними кавычками). На представленном выше рисунке показаны некоторые примеры литералов.

Константы определяются с помощью оператора CONSTANTS. Тип константы определяется аналогично элементарным объектам данных. Для констант дополнение VALUE является обязательным. Таким образом определяются значения констант.

Следует по возможности полностью избегать литералов при выполнении операторов. Вместо этого следует использовать константы. Это значительно упрощает написание программы.

 

© 2006 г. SAP AG All rights reserved. Авторские

87

06-04-2006

права защищены.

Глава 4: Основные языковые элементы ABAP

BC400

Рисунок 53: Локальные и глобальные типы данных

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

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

В ABAP-словаре имеется опция создания ведомости использования для глобального типа данных. В ведомостях использования перечислены объекты репозитария, в которых используется этот тип данных.

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

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

88

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

BC400

Урок: Работа с элементарными объектами данных

Базовые ABAP-операторы

Рисунок 54: Присвоение значений

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

Оператор MOVE используется для переноса содержимого объекта данных в другой объект данных. Следующие два варианта синтаксиса дают один и тот же результат:

MOVE var1 TO var2..

var2 = var1..

Если оба объекта данных var1 и var2 относятся к различным типам, возникает конфликт типов. В этом случае при наличии правила преобразования автоматически выполняется преобразование типа. Для получения подробной информации о копировании и правилах преобразования см. документацию по ключевым словам для оператора

MOVE.

 

© 2006 г. SAP AG All rights reserved. Авторские

89

06-04-2006

права защищены.

Глава 4: Основные языковые элементы ABAP

BC400

Оператор CLEAR используется для перезаписи содержимого объекта данных специфичным для типа начальным значением. Для получения подробной информации о начальных значениях для определенного типа данных см. документацию по ключевым словам оператора CLEAR.

Рисунок 55: Вычисления

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

+ Сложение

- Вычитание

* Умножение

/ Деление

** Возведение в степень

DIV Деление на целое число без остатка

MOD Деление на целое число с остатком

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

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

length = STRLEN( cityfrom ) .

90

© 2006 г. SAP AG All rights reserved. Авторские

 

права защищены.

06-04-2006

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