6

ABAP は、ループ内で整数をインクリメントするなどの非常に単純なタスクで私を夢中にさせることがあります...

これが私の試みです:

METHOD test.

  DATA lv_id TYPE integer.

  lv_id = 1.

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

ENDMETHOD.

これにより、フィールド タイプ "I" はサブフィールド アクセスを許可しないというエラー メッセージが表示されます。

4

5 に答える 5

23

あなたはすでに質問に自分で答えましたが、物事を少し明確にするために:

variable + 1 

算術式 - 変数の値に 1 を追加します。

variable+1

文字変数に対するオフセット操作です。たとえば、変数に が含まれている場合ABCvariable+1BCです。

これは、NUMC を扱う場合に特に混乱を招く可能性があります。たとえば、 withvariable = '4711'variable + 1に評価されますが4712variable+1is '711'(文字シーケンス) は評価されます。

文字に似ていない変数に対してインデックス操作を実行できないため、表示されたエラーが発生しました。

于 2010-06-02T18:29:02.400 に答える
15

あなたは次のように意味します:

ADD 1 to lv_id.

ところで、内部テーブルをループする場合、SY-TABIX にはループ カウンタがあります。

于 2010-06-02T14:46:15.050 に答える
7

ええと、私はそれを手に入れました。それはf *****スペースです...

lv_id = lv_id + 1

作品...

于 2010-06-02T13:11:58.733 に答える
0

テーブルサイズを直接取得できるよりも、ループサイクルごとにインクリメントする場合。

describe table x lines data(lv_id). "Out side of the loop.
于 2017-07-17T16:25:04.200 に答える