数据的赋值
-
MOVE F1 TO F2.
例子:
*MOVE <F1> TO <F2>. data:m_gen(4) type c. move 'male' to m_gen. write:m_gen.
-
WRITE value TO filed.带有格式的赋值
*WRITE <value> TO <filed> data:name(20) value 'source', source(10) value 'lily', target(10). write (name) to target. write / target.
注意:这个的write (name) to target.用于赋值,而不是输出。
例子:
*------MOVE TO 数据赋值------*
DATA:m_gen(4) TYPE c.
MOVE 'male' TO m_gen. "将字符male赋给m_gen
WRITE:/ m_gen.
SKIP 1.
*------带有格式的赋值WRITE <value> TO <filed>------*
DATA:name(20) VALUE 'source',
source(10) VALUE 'lily',
target(10).
WRITE name TO target.
WRITE: / target.
SKIP 1.
*例子:
DATA:gv_char1(20) TYPE c,
gv_char2(20) TYPE c,
dec1(10) TYPE p DECIMALS 2 VALUE '123456.78'.
WRITE:/'date'.
WRITE sy-datum TO gv_char1.
WRITE: / 'write to',gv_char1.
MOVE sy-datum TO gv_char2.
WRITE: / 'move to',gv_char2.
SKIP 1.
WRITE:/'decimal'.
WRITE dec1 TO gv_char1.
WRITE:/'write to', gv_char1.
MOVE dec1 TO gv_char2.
WRITE:/ 'moveto', gv_char2.
扩展:指针对象,通过FIELE-SYMBOLS加上<>来定义。
FIELD-SYMBOLS<FS>.
ASSIGN <VALUE> TO <FIELD>.
- 并不是变量,存放的是变量的地址,而非变量本身
- 如果修改了field symbol的值,则相应的变量的值也随之更改。
例子:
data num type c value 12.
field-symbols:<f1>,
<f2> type i,
<f3> like num.
assign:num to <f1>,
num to <f2>,
num to <f3>.
write:/ num,<f1>,<f2>,<f3>.
<f2> = 25.
write: / num,<f1>,<f2>,<f3>.
例子:
field-symbols <fs1>.
data:lv_da1 type char10 value 'ABCDEF'.
data:lv_da2 type int2 value 10.
assign lv_da1 to <fs1>.
*assign lv_da2 to <fs1>. "测试lv_da2
write:/,'<fs1>:',<fs1>.
*测试:修改<fs1>的值
write: /,'lv_da2',lv_da2.
if <fs1> is assigned.
<fs1> = '8'.
endif.
write: /,'lv_da2',lv_da2.