SAP ABAP - Форматирование данных

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

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

WRITE <format> <f> <options>.

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

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

S.No. Пункт и описание
1

LEFT-JUSTIFIED

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

2

CENTERED

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

3

RIGHT-JUSTIFIED

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

4

UNDER <g>

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

5

NO-GAP

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

6

USING EDIT MASK <m>

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

7

NO-ZERO

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

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

S.No. Пункт и описание
1

NO-SIGN

Указывает, что на экране не отображается начальный знак.

2

EXPONENT <e>

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

3

ROUND <r>

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

4

CURRENCY <c>

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

5

UNIT <u>

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

6

DECIMALS <d>

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

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

Вариант форматирования пример
ДД / ММ / ГГ 13.01.15
ММ / ДД / ГГ 13.01.15
ДД / ММ / ГГГГ 13.01.2015
ММ / ДД / ГГГГ 13.01.2015
ДДММГГ 130115
ММДДГГ 011315
ГГММДД 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 '__:__:__'.

Приведенный выше код дает следующий вывод -

Tutorials Point 
Tutorials  
Point 
TutorialsPoint 
112538 
11:25:38