ABAP语法基础篇(2)——WRITE输出
2.1 在屏幕上定位Write输出
通过制定字段名称前面的格式规范,可以在屏幕上定位 WRITE
语句的输出:
WRITE AT [/][<pos>][(<len>)] <f>.
此处:
斜线/
表示新的一行
<pos>
是最长为三位数字的数字或变量,表示在屏幕上的位置
<len>
是最长为三位数字的数字或变量,表示输出长度
如果格式规范只包含直接值(即不是变量),可以忽略关键字 AT
。
2.2 格式化选项
对 WRITE
语句,可以使用不同的格式化选项。
WRITE ....<f><选项>.
- 所有数据类型的格式化选项 :
选项 | 用途 |
---|---|
LEFT-JUSTIFIED | 输出左对齐 |
CENTERED | 输出居中 |
RIGHT-JUSTIFIED | 输出右对齐 |
UNDER <g> | 输出直接开始于字段 <g> 下 |
NO-GAP | 忽略字段 <f> 后的空格 |
USING EDIT MASK <m> | 指定格式模板 <m> |
USING NO EDIT MASK | 撤消对 ABAP/4 词典中指定的格式模板的激活。 |
NO-ZERO | 如果字段仅包含零,则用空格代替它 们 对类型 C 和 N 字段,将自动代替前导零 |
- 数字字段的格式化选项 :
选项 | 用途 |
---|---|
NO-SIGN | 不输出前导符号 |
DECIMALS <d> | <d> 定义小数点后的数字位数。 |
EXPONENT <e> | 在类型 F 字段中,在 <e> 中定义幂数 |
ROUND <r> | 用 10**(-r) 乘类型 P 字段,然后取整 |
CURRENCY <c> | 按表格 TCURX 中的货币 <c> 格式化。 |
UNIT <u> | 按表格 T006 中为类型 P 字段所指定的单位 <u> 固定小数位数 |
- 日期字段的格式化选项 :
选项 | 用途 |
---|---|
DD/MM/YY | 用户主记录中定义的分隔符 |
MM/DD/YY | 用户主记录中定义的分隔符 |
DD/MM/YYYY | 用户主记录中定义的分隔符 |
MM/DD/YYYY | 用户主记录中定义的分隔符 |
DDMMYY | 无分隔符 |
MMDDYY | 无分隔符 |
YYMMDD | 无分隔符 |
2.3 输出符号和图标
使用下列语法,可以在屏幕上输出符号和 R/3 图标:
WRITE <symbol-name> AS SYMBOL.
WRITE <icon-name> AS ICON.
符号和图标的名称( < 符号名 > 和 < 图标名 >)是定义系统的常量,这些常量在包含程序 <SYMBOL>
和 <ICON>
(尖括号是名称的一部分)中指定。
这些包含程序也包含符号和图标的简短说明。输出符号和图标最简单的方法是使用语句结构。要使符号和图标对程序可用,必须在程序中输入恰当的包含程序<LIST>
。
2.4 输出线和空行
2.4.1 水平线
用下列语法,可以在输出屏幕上生成水平线:
ULINE [AT [/][<pos>][(<len>)]].
它等同于 WRITE [AT [/][<pos>][(<len>)]] SY-ULINE.
AT
后的格式规范,与在屏幕上定位 WRITE
输出语句说明的格式规范完全一样。如果没有格式规范,系统则开始新的一行,并用水平线填充该行,否则,只按指定输出水平线。
生成水平线的另一种方法,是在 WRITE
语句中键入恰当数量的连字符,如下所示:
WRITE [AT [/][<pos>][(<len>)]] '-----...'.
2.4.2 垂直线
用下列语法,可以在输出屏幕上生成垂直线:
WRITE [AT [/][<pos>]] SY-VLINE.
或
WRITE [AT [/][<pos>]] '|'.
2.4.3 空行
用下列语法,可以在输出屏幕上生成空行:
SKIP [<n>].
该语句从当前行开始,在输出屏幕上生成 <n>
个空行。如果没有指定 <n>
的值,就输出一个空行。
要将输出定位在屏幕的指定行上,使用:
SKIP TO LINE <n>.
该语句允许将输出位置向上或向下移动。
2.5 将字段内容作为复选框输出
使用下列语法,可以将字段的第一个字符,作为复选框输出到输出屏幕上:
WRITE <f> AS CHECKBOX.
如果字段 <f>
的第一个字符是一个X
,就显示复选框已填充。
如果字段 <f>
的第一个字符是 SPACE
,就显示复选框为空。
该语句创建的复选框,默认状态是可输入的。就是说,用户可以通过单击鼠标来填充它们或使其为空。