有时 ABAP 会通过非常简单的任务让我发疯,例如在循环中增加整数......
这是我的尝试:
METHOD test.
DATA lv_id TYPE integer.
lv_id = 1.
LOOP AT x ASSIGNING <y>.
lv_id = lv_id+1.
ENDLOOP.
ENDMETHOD.
这会导致错误消息 字段类型“I”不允许子字段访问。
请您参考如下方法:
你已经自己回答了这个问题,但为了让事情更清楚一点:
variable + 1
是一个算术表达式 - 将变量的值加 1。
variable+1
是对字符变量的偏移操作。例如,如果变量包含
ABC ,
variable+1是
BC .
这在处理 NUMC 时尤其令人困惑。例如,使用
variable = '4711' ,
variable + 1评估为
4712 , 而
variable+1是
'711' (一个字符序列)。
您看到的错误是因为无法对非字符类变量执行索引操作而发生的。




