Loading

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 ,就显示复选框为空。

该语句创建的复选框,默认状态是可输入的。就是说,用户可以通过单击鼠标来填充它们或使其为空。

posted @ 2021-12-06 16:27  Gjboy666  阅读(2209)  评论(0编辑  收藏  举报