Assinging Values Using Write to

语法: WRITE <f1> TO <f2> [<option>].

对于<option>,可以使用 WRITE 语句的所有格式化选项(UNDER 和 NO-GAP 除外)。
    [LEFT-JUSTIFIED|CENTERED|RIGHT-JUSTIFIED]
    { { [EXPONENT exp]
        [NO-GROUPING]
        [NO-SIGN]
        [NO-ZERO]
        [CURRENCY cur]
        { { [DECIMALS dec]
            [ROUND scale] }
          | [UNIT unit] } }
      | [TIME ZONE tz] }
    [USING { {NO EDIT MASK}|{EDIT MASK mask} }]
    [ DD/MM/YY   | MM/DD/YY
    | DD/MM/YYYY | MM/DD/YYYY
    | DDMMYY     | MMDDYY
    | YYMMDD ]

WRITE TO 语句总是检查用户主记录中的设置。例如,这些设置指定是将小数点显示为句号(.),还是逗号(,)。

WRITE TO 语句并不遵循类型转换中所述的转换规则。 系统总是将源字段内容转换为类型C,它不将结果字符串转换为目标字段的数据类型,而直接写入目标字段。因此,不应使用数值数据类型的目标字段。

WRITE (<f>) TO <g>.  
系统将赋给 <f> 的数据对象值放到 <g> 中。

WRITE <f1>[+<o1>][(<l1>)] TO <f2>[+<o2>][(<l2>)].

将字段<f1>中从<o1>+1位置开始且长度为<l1>的内容赋给字段<f2>,覆盖从<o2>+1位置开始且长度为<l2>的段。


REPORT demo_data_write .
* WRITE <f1> TO <f2> [<option>].

DATAnumber TYPE f VALUE '4.3',
      text(10TYPE c,
      float TYPE f,
      pack  TYPE p DECIMALS 1.

WRITE number.

WRITE number TO text EXPONENT 2.
WRITE / text.

* WRITE NUMBER TO FLOAT.     " <- not possible anymore!
* WRITE / FLOAT.

* WRITE NUMBER TO PACK.      " <- not possible anymore!
* WRITE / PACK.

MOVE number TO pack.
WRITE / pack.

* WRITE (<f>) TO <g>.

ULINE.

DATA: name(10)   TYPE c VALUE 'SOURCE',
      source(10TYPE c VALUE 'Antony',
      target(10TYPE c.
...

WRITE name TO target.
WRITE'name = ', target.

WRITE (name) TO target.
WRITE: / '(name) = ', target.


DATA: string(20),
      number2(8TYPE c VALUE '123456',
      offset TYPE i VALUE 8,
      length TYPE i VALUE 12.

WRITE number2+(6TO string+offset(length) LEFT-JUSTIFIED.
WRITE: / string.

CLEAR string.
WRITE number2+(6TO string+offset(length) CENTERED.
WRITE: / string.

CLEAR string.
WRITE number2 TO string+offset(length) RIGHT-JUSTIFIED.
WRITE: / string.


输出结果:
  4.2999999999999998E+00
 0.043E+02
             4.3

——————————————————————————————————————————————————————————————————————————————
name =  SOURCE
(name) =  Antony
        123456
           123456
              123456

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值