1. = 赋值
语法格式
f2 = f1.
表示将变量f1的值赋值给变量f2
输出结果如下:
扩展补充(带偏移量的赋值)
输出结果如下:
将lv_a从偏移2位开始的位置,取长度为3的内容'345'赋值给 lv_b,赋值覆盖lv_b从偏移4位开始的位置且长度为3的内容'efg'中,最终输出结果从原来的'abcdefg'赋值变换为'abcd345'
2. MOVE TO 赋值
语法格式
MOVE <f1> TO <f2>.
表示将变量f1的值赋值给变量f2
输出结果如下:
扩展补充(带偏移量的赋值)
输出结果如下:
将lv_a从偏移2位开始的位置,取长度为3的内容'345'赋值给 lv_b,赋值覆盖lv_b从偏移4位开始的位置且长度为3的内容'efg'中,最终输出结果从原来的'abcdefg'赋值变换为'abcd345'
3. WRITE TO 赋值
语法格式
WRITE f1 TO f2.
表示将变量f1的值赋值给变量f2
输出结果如下:
扩展补充(带偏移量的赋值)
输出结果如下:
将lv_a从偏移2位开始的位置,取长度为3的内容'345'赋值给 lv_b,赋值覆盖lv_b从偏移4位开始的位置且长度为3的内容'efg'中,最终输出结果从原来的'abcdefg'赋值变换为'abcd345'
= 赋值,MOVE TO 赋值 和 WRITE TO 赋值的区别
= 赋值 与 MOVE TO 赋值只是将变量中的值赋给目标变量,格式依旧保持目标变量的格式,而WRITE TO 赋值会将变量的值和类型一起赋给目标变量,这样目标变量的格式将会被强制转换
输出结果如下:
4. MOVE-CORRESPONDING TO 赋值
语法格式
MOVE-CORRESPONDING string1 TO string2.
结构体变量之间的赋值,一般使用MOVE-CORRESPONDING TO进行赋值
赋值的规则:只会对不同结构体中的相同字段进行赋值
输出结果如下:
5. ASSIGN TO 赋值
通过FIELD-SYMBOLS定义一个指针对象(存放变量地址的对象),我们可以ASSIGN TO变量地址的方式对指针对象进行赋值操作
输出结果如下:
从上述代码我们可以了解,首先我们定义了一个初始值为"ABC"的变量lv_a1,再用FIELD-SYMBOL定义一个指针<fs1>,然后使用ASSIGN TO将变量lv_a1的地址赋给指针<fs1>,这个时候我们输出<fs1>时,<fs1>的输出结果将是lv_a1的初始值"ABC"
如果我们给将<fs1>中的地址,赋新的值"123",那么此时输出<fs1>将显示"123",而且输出变量lv_a1时,变量的值将从初始值"ABC"变成新值"123"