简述
ABAP 提供了各种类型的格式化选项来格式化程序的输出。例如,您可以创建一个包含不同颜色或格式样式的各种项目的列表。
WRITE 语句是用于在屏幕上显示数据的格式化语句。WRITE 语句有不同的格式选项。WRITE 语句的语法是 -
WRITE <format> <f> <options>.
在此语法中,<format> 表示输出格式规范,可以是正斜杠 (/),表示从新行开始显示输出。除了正斜杠之外,格式规范还包括列号和列长度。例如,WRITE/04 (6) 语句显示新行从第 4 列开始,列长度为 6,而 WRITE 20 语句显示当前行的第 20 列。参数 <f> 表示数据变量或带编号的文本。
下表描述了用于格式化的各种子句 -
序号 |
条款及说明 |
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
如果字段仅包含零,则它们将被替换为空格。
|
以下是数字类型字段的格式选项 -
序号 |
条款及说明 |
1 |
NO-SIGN
指定屏幕上不显示前导符号。
|
2 |
EXPONENT <e>
指定在类型 F(浮点字段)中,指数在 <e> 中定义。
|
3 |
ROUND <r>
P 类型字段(压缩数值数据类型)首先乘以 10**(-r),然后四舍五入为整数值。
|
4 |
CURRENCY <c>
表示格式化是根据 TCURX 数据库表中存储的货币 <c> 值完成的。
|
5 |
UNIT <u>
指定小数位数根据类型 P 的 T006 数据库表中指定的 <u> 单位固定。
|
6 |
DECIMALS <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 '__:__:__'.
上面的代码产生以下输出 -
JC2182
Tutorials
Point
TutorialsPoint
112538
11:25:38