0

zrswheel という名前のデータベース テーブルがあります。3 つのデータを入力し、それらを画面に表示したいと思います。コードは次のとおりです。

 REPORT  ZRS_WHEEL.

    TYPES:
      BEGIN OF ty_zrswheel,
          lv_brand TYPE c,
          lv_dimension TYPE i,
          lv_pressure TYPE i,
        END OF ty_zrswheel.
    DATA:
      wa_zrswheel TYPE ty_zrswheel,
      it_zrswheel TYPE TABLE of ty_zrswheel.

    SELECT dimension pressure brand 
        FROM zrswheel 
        INTO TABLE it_zrswheel.

    *WHERE ID=''.

    IF sy-subrc NE 0.
      write: 'There is an Error in retrieving data.'.
    ELSE.
      LOOP AT it_zrswheel INTO wa_zrswheel.
        WRITE: wa_zrswheel-lv_dimension,wa_zrswheel-lv_brand,wa_zrswheel-lv_pressure.
        NEW-LINE.
      ENDLOOP.
    ENDIF.

実行すると、次のエラーが発生します。

実行時エラー: DBIF_RSQL_INVALID_RSQL を
除く。CX_SY_OPEN_SQL_DB

4

2 に答える 2

1

あなたの構造は何zrswheelですか?それはあなたの内部構造に合っていますty_zrswheelか?

の構造を知らなければzrswheel、誰もあなたを助けることはできません。以下は私の勝手な推測です。

のような構造体でフィールドを呼び出すことは非常にまれlv_です。だから私はあなたzrswheelが次のように定義されていると思います:

dimension type c,
brand     type i
pressure  type i

レポートは次のようになるはずです。

  REPORT  ZRS_WHEEL.

    DATA:
      wa_zrswheel TYPE zrswheel,
      it_zrswheel TYPE TABLE of zrswheel.

    SELECT * FROM zrswheel INTO TABLE it_zrswheel.
    LOOP AT it_zrswheel INTO wa_zrswheel.
      WRITE: / wa_zrswheel-dimension,wa_zrswheel-brand,wa_zrswheel-pressure.
    ENDLOOP.
    IF sy-subrc NE 0.
      write: 'Nothing found'.
    ENDIF.

zrswheel の抽出のみを選択する場合は、次を試してください。

  REPORT  ZRS_WHEEL.

    TYPES:
      BEGIN OF ty_zrswheel,
          brand     LIKE zrswheel-brand,     "or lv_brand?
          dimension LIKE zrswheel-dimension, "or lv_dimension?,
          pressure  LIKE zrswheel-pressure,  "or lv_pressure?,
        END OF ty_zrswheel.
    DATA:
      wa_zrswheel TYPE ty_zrswheel,
      it_zrswheel TYPE TABLE of ty_zrswheel.

    SELECT *FROM zrswheel 
        INTO corresponding fields of TABLE it_zrswheel.

    LOOP AT it_zrswheel INTO wa_zrswheel.
      WRITE: / wa_zrswheel-dimension,wa_zrswheel-brand,wa_zrswheel-pressure.
    ENDLOOP.
    IF sy-subrc NE 0.
      write: 'There is an Error in retrieving data.'.
    ENDIF.

備考: の正しい構文がわかりませんINTO CORRESPONDING FIELDS- オンライン ヘルプを確認するか、構文を確認する SAP システムがある場合は更新をお待ちください)

于 2014-05-23T18:46:32.020 に答える
0

構造内および select ステートメント内のフィールドの順序を確認してください。フィールドのデータ型と長さが一致していることを確認してください。

于 2014-05-23T16:16:48.367 に答える