Учебники

SAP ABAP — форматирование данных

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

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

WRITE <format> <f> <options>.

В этом синтаксисе <формат> представляет спецификацию выходного формата, которая может быть косой чертой (/), которая указывает на отображение вывода, начинающегося с новой строки. Помимо прямой косой черты, спецификация формата включает номер столбца и длину столбца. Например, оператор WRITE / 04 (6) показывает, что новая строка начинается со столбца 4, а длина столбца равна 6, тогда как оператор WRITE 20 показывает текущую строку со столбцом 20. Параметр <f> представляет переменную данных или пронумерованный текст

В следующей таблице описаны различные пункты, используемые для форматирования:

S.No. Статья и описание
1

Выровнен по левому краю

Указывает, что вывод выровнен по левому краю.

2

ЦЕНТРУ

Обозначает, что вывод центрирован.

3

Выравниваются по правому краю

Указывает, что вывод выровнен по правому краю.

4

ПОД <g>

Вывод начинается прямо под полем <g>.

5

НЕТ-GAP

Указывает, что пробел после поля <f> отклоняется.

6

ИСПОЛЬЗОВАТЬ РЕДАКТИРОВАТЬ МАСКУ <m>

Обозначает спецификацию шаблона формата <m>. Использование маски без правки: указывает, что шаблон формата, указанный в словаре ABAP, деактивирован.

7

НЕТ-НОЛЬ

Если поле содержит только нули, то они заменяются пробелами.

Выровнен по левому краю

Указывает, что вывод выровнен по левому краю.

ЦЕНТРУ

Обозначает, что вывод центрирован.

Выравниваются по правому краю

Указывает, что вывод выровнен по правому краю.

ПОД <g>

Вывод начинается прямо под полем <g>.

НЕТ-GAP

Указывает, что пробел после поля <f> отклоняется.

ИСПОЛЬЗОВАТЬ РЕДАКТИРОВАТЬ МАСКУ <m>

Обозначает спецификацию шаблона формата <m>. Использование маски без правки: указывает, что шаблон формата, указанный в словаре ABAP, деактивирован.

НЕТ-НОЛЬ

Если поле содержит только нули, то они заменяются пробелами.

Ниже приведены параметры форматирования полей числового типа.

S.No. Статья и описание
1

НЕТ-ЗНАК

Указывает, что на экране не отображается ведущий знак.

2

EXPONENT <e>

Указывает, что в типе F (поля с плавающей запятой) показатель степени определяется в <e>.

3

КРУГЛЫЙ

Поля типа P (упакованные числовые типы данных) сначала умножаются на 10 ** (- r), а затем округляются до целочисленного значения.

4

ВАЛЮТА <c>

Обозначает, что форматирование выполняется в соответствии со значением валюты <c>, которое хранится в таблице базы данных TCURX.

5

UNIT <u>

Указывает, что число десятичных разрядов фиксировано в соответствии с единицей <u>, как указано в таблице базы данных T006 для типа P.

6

ДЕСЯТИЧНЫЕ <d>

Указывает, что число цифр <d> должно отображаться после десятичной точки.

НЕТ-ЗНАК

Указывает, что на экране не отображается ведущий знак.

EXPONENT <e>

Указывает, что в типе F (поля с плавающей запятой) показатель степени определяется в <e>.

КРУГЛЫЙ

Поля типа P (упакованные числовые типы данных) сначала умножаются на 10 ** (- r), а затем округляются до целочисленного значения.

ВАЛЮТА <c>

Обозначает, что форматирование выполняется в соответствии со значением валюты <c>, которое хранится в таблице базы данных TCURX.

UNIT <u>

Указывает, что число десятичных разрядов фиксировано в соответствии с единицей <u>, как указано в таблице базы данных T006 для типа P.

ДЕСЯТИЧНЫЕ <d>

Указывает, что число цифр <d> должно отображаться после десятичной точки.

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

Вариант форматирования пример
DD / MM / YY 13/01/15
MM / DD / YY 01/13/15
DD / MM / YYYY 13/01/2015
MM / DD / YYYY 01/13/2015
DDMMYY 130115
MMDDYY 011315
YYMMDD 150113

Здесь DD обозначает дату в двух цифрах, MM обозначает месяц двумя цифрами, YY обозначает год двумя цифрами, а YYYY обозначает год четырьмя цифрами.

Давайте рассмотрим пример кода ABAP, который реализует некоторые из приведенных выше параметров форматирования:

REPORT ZTest123_01.
 
DATA: n(9) TYPE C VALUE 'Tutorials', 
m(5) TYPE C VALUE 'Point'. 

WRITE: n, m. 
WRITE: / n, 
/ m UNDER n. 

WRITE: / n NO-GAP, m. 
DATA time TYPE T VALUE '112538'. 

WRITE: / time, 
/(8) time Using EDIT MASK '__:__:__'.

Приведенный выше код производит следующий вывод —