Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Неизменяемые объекты данных.
Объекты данных ( Data objects ) — местоположения памяти, которые используются для содержания данных во время работы программы. Типы неизменяемых объектов данных — литералы и константы. Изменяемые объекты данных. Объекты данных ( Data objects ) — местоположения памяти, которые используются для содержания данных во время работы программы. Изменяемые объекты данных — переменные (variables), строки полей (field strings) и внутренние таблицы (internal tables). Field string в ABAP/4 эквивалентна структуре. Внутренняя таблица ABAP/4 — эквивалент массива. Определение литералов и их виды. Литерал ( literal ) — неизменяемый объект данных. Literals могут использоваться в любом месте программы. Есть четыре типа литералов: § литерал строки символов character string literal § числовой литерал numeric literal § литерал с плавающей точкой floating-point literal § шестнадцатеричный литерал hexadecimal literal Определение переменных с помощью оператора data, формат оператора. Оператор data используется для определения переменных. Переменным, определенным в операторе data , задается тип данных и, может быть, значения по умолчанию. Синтаксис оператора data: data v1[(l)] [type t] [decimals d] [value 'xxx']. или data v1 like v2 [value 'xxx']. где: v1 — имя переменной v2 — имя переменной, ранее определенной в программе, или имя поля таблицы или структуры в словаре данных (Data Dictionary) (l) — внутренняя спецификация длины t — тип данных d — число позиций десятичной точки (используется только с типом p ) 'xxx' — литерал, который определяет значение по умолчанию Символьные типы данных. Обратите внимание на то, что они включают тип n. Внутренние длины даны в байтах. Черточка в столбце максимальной длины присутствует для типов данных фиксированной длины.
Числовые текстовые переменные (Numeric text variables) называют цифровыми, т.е. символьными, переменными (numeric character variables). Они содержат положительные целые числа без знака. Каждая цифра занимает один байт, и внутренне каждая из них сохранена как символ. Это — символьный тип данных. Он может содержать только символы 0-9. Используйте числовой текст (numeric text) для содержания чисел, которые используются как уникальные идентификаторы: номер документа, номер счета и порядковые номера. Кроме того, используйте его для переменных, которые считывают числовое значение из символьного типа данных. Дата и время являются предопределенными типами данных. Для них не нужно определять длину в операторе data. Значения для переменных даты и времени всегда сохраняются внутренне как YYYYMMDD и HHMMSS соответственно. Текущая дата доступна в системной переменной sy-datum, а текущее время — в системной переменной sy-uzeit. Значения sy-datum и sy-uzeit устанавливаются в начале выполнения программы и не изменяются до конца ее выполнения. Если нужно обратиться к текущим дате и времени во время выполнения долго работающей программы, используют оператор get time. Он обновляет значения sy-datum и sy-uzeit, чтобы отразить текущие дату и время. Значения абсолютного времени с точностью до миллисекунды не используются в R/3. Однако значения относительного (relative) времени доступны с точностью до миллисекунды. Чтобы получить их, используют оператор get run time и сохраняют в переменной типа i. Числовые типы данных. Звездочка указывает, что атрибут машинно-ориентирован.
Целые числа (integers) используются в таких переменных, как счетчики, индексы, позиции или смещения. Упакованная десятичная переменная (packed decimal) сохраняет (L*2)-1 цифру, где L — длина переменной в байтах. Десятичные значения сохраняются по две цифры в байте, кроме конечного байта, который содержит одну цифру и знак. Десятичная точка не сохраняется; это — атрибут определения. Переменные с плавающей точкой всегда приблизительны. Они могут использоваться для вычислений, требующих очень больших значений или многих десятичных разрядов. Возможна точность до 15 десятичных разрядов, но это аппаратно-зависимо. Определение переменных с использованием parameters, формат оператора. Параметр (parameter) — специальный тип переменной, которая определяется с использованием оператора parameters. Оператор parameters похож на оператор data, но используется для определения переменных во время выполнения программы. Система отобразит параметры как входные поля на экране выбора (selection screen) до того, как программа фактически начнет выполняться. Пользователь может ввести или изменить их значения и затем нажать кнопку Execute, чтобы начать выполнение программы. Можно использовать оба оператора parameters и data в одной программе. Правила задания имен для параметра те же, что и для имен переменных, за исключением следующих: § максимальная длина — 8 символов вместо 30 § в дополнение к литералам и константам (literals and constants), можно использовать также переменную для задания значений по умолчанию с помощью default (значение по умолчанию) Синтаксис оператора parameters: parameters p1[(l)] [type t] [decimals d]... или parameters p1 like v1... ... [default 'xxx'] [obligatory] [lower case] [as checkbox] [radiobutton group g]. где: p1 — имя параметра v1 — имя ранее определенной переменной или параметра или имя поля из таблицы или структуры в словаре данных (Data Dictionary) (l) — внутренняя спецификация длины t — тип данных d — число десятичных разрядов (используемое только с типом p ) 'xxx' — литерал или ранее определенная переменная, которые поставляет значение по умолчанию Есть два вида оператора parameters: parameter и parameters . Вообще говоря, между ними нет никакого различия — они являются полностью взаимозаменяемыми. Однако в случае использования оператора parameter невозможно получить справку F1. Поэтому рекомендуется использовать только оператор parameters . 20. Формат определения констант. Константа почти идентична переменной за исключением того, что ее значение нельзя изменять. Для определения констант используется оператор constants. Константы используются для многократного включения литералов в программу. У ABAP/4 есть одна предопределенная константа: SPACE (пробел). Она эквивалентна литералу ' '. Формат задания констант оператором constants аналогичен формату задания переменных оператором data за исключением того, что атрибут value является для констант обязательным: constants c1[(l)] [type t] [decimals d] value 'xxx'. или constants c1 like cv value 'xxx'. где: c1 — имя константы cv — имя ранее определенной константы или переменной или имя поля таблицы или структуры словаря данных (Data Dictionary) (l) — внутренняя спецификация длины t — тип данных d — число десятичных разрядов (используется только для типа p ) 'xxx' — литерал, который определяет значение константы 21. Формат определения Field String с помощью begin of. Field String, определенную в операторе data, можно изменять. Этот объект может быть глобальным или локальным. Синтаксис определения: data: begin of fs1, f1[(l)] [type t] [decimals d] [value 'xxx'], f2[(l)] [type t] [decimals d] [value 'xxx'], ... end of fs1. или data begin of fs1. data f1[(l)] [type t] [decimals d] [value 'xxx']. data f2[(l)] [type t] [decimals d] [value 'xxx']. ... [include structure st1.] data end of fs1. или data fs1 like fs2. где: fs1 — имя определяемой Field String f1, f2 — поля (или компоненты) Field String fs2 — имя ранее определенной Field String или имя таблицы или структуры в словаре данных (Data Dictionary) (l) — внутренняя спецификация длины t — тип данных d — число десятичных разрядов (используется только для типа p ) 'xxx' — литерал, определяющий значение по умолчанию st1 — имя структуры или таблицы в словаре данных (Data Dictionary) Популярное:
|
Последнее изменение этой страницы: 2016-08-31; Просмотров: 527; Нарушение авторского права страницы