Field+offset(len)
MOVE<F1>[+<o1>][(<l1>)] TO<F2>[+<o2>][(<l2>)].
等价于:
<F2>[+<o2>][(<l2>)] = <F1>[+<o1>][(<l1>)].
注:这里的位置参数<o1>与<o2>是从零开始的,如果位置为0,则取的是第一个元素,以此类推。
所有偏移量和长度指定都可为变量。
SAP 建议只在非数值字段之间才采用指定偏移量和长度赋值,对于数值字段,结果毫无意义。
DATA: f1(8) VALUE 'ABCDEFGH',
f2(20) VALUE '12345678901234567890'.
f2+6(5) = f1+3(5).
WRITE : f2.
输出:
123456DEFGH234567890
针对非数字类型字段或扁平结构类型,可以在任何语句中使用下面语句来操作指定区域的字符串:
<f>[+<o>][(<l>)]
如果未指定长度<l>,则对该字段<o>和结尾之间的所有位置进行处理。
The data type and length of the string section are as follows:
必须将偏移量<o>和长度<l>指定为无符号数值。
DATA time TYPE t VALUE '172545'.
WRITE time.
WRITE / time+2(2).
CLEAR time+2(4).
WRITE / time.
172545
25
170000
原文出自 江正军 技术博客,博客链接:www.cnblogs.com/jiangzhengjun