SAP ABAP - 格式化数据


ABAP 提供了各种类型的格式化选项来格式化程序的输出。例如,您可以创建一个包含不同颜色或格式样式的各种项目的列表。

WRITE 语句是用于在屏幕上显示数据的格式化语句。WRITE 语句有不同的格式选项。WRITE 语句的语法是 -

WRITE <format> <f> <options>.

在此语法中,<format> 表示输出格式规范,可以是正斜杠 (/),表示从新行开始显示输出。除了正斜杠之外,格式规范还包括列号和列长度。例如,WRITE/04 (6) 语句显示新行从第 4 列开始,列长度为 6,而 WRITE 20 语句显示当前行的第 20 列。参数 <f> 表示数据变量或带编号的文本。

下表描述了用于格式化的各种子句 -

编号 条款及说明
1

左对齐

指定输出左对齐。

2

居中

表示输出居中。

3

右对齐

指定输出右对齐。

4

在 <g> 下

输出直接从字段 <g> 下开始。

5

无间隙

指定拒绝字段 <f> 后的空白。

6

使用编辑蒙版<m>

表示格式模板<m>的规范。使用无编辑掩码:这指定 ABAP 字典中指定的格式模板已停用。

7

无零

如果字段仅包含零,则它们将被替换为空格。

以下是数字类型字段的格式选项 -

编号 条款及说明
1

没有征兆

指定屏幕上不显示前导符号。

2

指数<e>

指定在类型 F(浮点字段)中,指数在 <e> 中定义。

3

圆形 <r>

P 类型字段(压缩数值数据类型)首先乘以 10**(-r),然后四舍五入为整数值。

4

货币 <c>

表示格式化是根据 TCURX 数据库表中存储的货币 <c> 值完成的。

5

单位<u>

指定小数位数根据类型 P 的 T006 数据库表中指定的 <u> 单位固定。

6

小数 <d>

指定小数点后必须显示的位数<d>。

例如,下表显示了日期字段的不同格式选项 -

格式选项 例子
日/月/年 2015年1月13日
月/日/年 2015年1月13日
日/月/年 13/01/2015
月/日/年 2015年1月13日
日日日日月日 130115
MMDDYY 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