SAP ABAP - 数据格式化



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

下划线 <g> (UNDER <g>)

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

5

无间隙 (NO-GAP)

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

6

使用编辑掩码 <m> (USING EDIT MASK <m>)

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

7

非零 (NO-ZERO)

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

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

序号 子句和描述
1

无符号 (NO-SIGN)

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

2

指数 <e> (EXPONENT <e>)

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

3

舍入 <r> (ROUND <r>)

类型 P 字段(打包数字数据类型)首先乘以 10**(-r),然后舍入到整数值。

4

货币 <c> (CURRENCY <c>)

表示根据存储在 TCURX 数据库表中的货币 <c> 值进行格式化。

5

单位 <u> (UNIT <u>)

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

6

小数位数 <d> (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 '__:__:__'.

以上代码产生以下输出:

Tutorials Point 
Tutorials  
Point 
TutorialsPoint 
112538 
11:25:38
广告