递增整数

时间:2010-06-02 13:01:36

标签: sap abap

有时候,ABAP会让我疯狂,只需要在循环中递增一个整数就可以了......

这是我的尝试:

METHOD test.

  DATA lv_id TYPE integer.

  lv_id = 1.

  LOOP AT x ASSIGNING <y>.
    lv_id = lv_id+1.
  ENDLOOP.

ENDMETHOD.

这会导致错误消息字段类型“I”不允许子字段访问。

5 个答案:

答案 0 :(得分:21)

你已经自己回答了这个问题,但为了让事情更清楚一点:

variable + 1 

是一个算术表达式 - 将1加到变量的值上。

variable+1

是字符变量的偏移操作。例如,如果变量包含ABC,则variable+1BC

在处理NUMCs时,这可能会特别令人困惑。例如,对于variable = '4711'variable + 1评估为4712,而variable+1'711'(字符序列)。

您看到的错误是因为无法对非类似字符的变量执行索引操作。

答案 1 :(得分:15)

你的意思是:

ADD 1 to lv_id.

顺便说一下,当你遍历内部表时,SY-TABIX有循环计数器。

答案 2 :(得分:6)

呃,我明白了。 这是f ******空间......

lv_id = lv_id + 1

工程...

答案 3 :(得分:1)

<强>简单

DATA:gv_inc type I。

将此声明放入循环

gv_inc = gv_inc + 1。

答案 4 :(得分:0)

如果要增加每个循环周期,则可以直接获取表格大小。

describe table x lines data(lv_id). "Out side of the loop.