【IT168 技术文章】
将数据输出到屏幕
1、WRITE语句
语法:WRITE <f>. <f>可以是任何数据对象、字段符号或公式参数、文本符号
予定义数据类型的输出格式:
数据类型 输出长度 定位
C 字段长度 左对齐
D 8 左对齐
F 22 右对齐
I 11 右对齐
N 字段长度 左对齐
P 2 * 字段长度(+1) 右对齐
T 6 左对齐
X 2 * 字段长度 左对齐
2、在屏幕上定位WRITE输出
语法:WRITE AT [/] [<pos>] [(<len>)] <f>.
其中:斜线‘/’表示新的一行
<pos>是最长为三位数字的数字或变量,表示在屏幕上的位置
<len>是最长为三位数字的数字或变量,表示输出长度
如果指定某一位置<pos>,则无论在该位置是否有可用的空间,或写有其它字段,总是在该位置输出字段;如果输出长度<len>太短,则显示几个字符,左边截断数字字段,并用星号*作前缀,右边截断所有其它字段,但是没有给出该字段较短的指示。
3、格式化选项
语法: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 无分隔符。
4、在屏幕上输出符号和图标
语法:WRITE <symbol-name> AS SYMBOL.
WRITE <icon-name> AS ICON.
符号和图标的名称(<符号名> 和 <图标名>)是定义系统的常量,这些常量在包含程序 <SYMBOL> 和 <ICON>(尖括号是名称的一部分 )中指定。
5、输出屏幕上的线和空行
(1)水平线
ULINE [AT [/][<pos>][(<len>)]].
或
WRITE [AT [/][<pos>][(<len>)]] SY-ULINE.
(2)垂直线
WRITE [AT [/][<pos>]] SY-VLINE.
或
WRITE [AT [/][<pos>]] '|'.
(3)空行
SKIP [<n>].从当前行开始,在输出屏幕上生成<n>个空行。
SKIP TO LINE <n>.允许将输出位置向上或向下移动。
6、将字段内容作为复选框输出
语法:WRITE <f> AS CHECKBOX.
将字段的第一个字符,作为复选框输出到输出屏幕上。如果字段<f>的第一个字符是一个“X”,就显示复选框已填充;如果字段<f>的第一个字符是SPACE,就显示复选框为空。默认状态是可输入的。