5

まず、ABAPの経験はありません。ここでは、当て推量を行っています。

既存のレポートのSELECTに条件を追加したい。既存のコードは次のようになります。

SELECT SINGLE *
  FROM EKPO
  WHERE EBELN = GT_MSEG-EBELN
  AND   EBELP = GT_MSEG-EBELP.

フィールドF1が特定の値で、フィールドF2が0の場合に、レコードを除外する条件を追加したいと思います(レコードを除外するには、両方の条件が真である必要があります)。私はこれを試しました:

SELECT SINGLE *
  FROM EKPO
  WHERE EBELN = GT_MSEG-EBELN
  AND   EBELP = GT_MSEG-EBELP
  AND NOT (F1 = 'value' AND F2 = '0').

構文エラーが発生します:フィールド "F1 ='value' AND F2='0'"は不明です。これは、指定されたテーブルの1つに含まれておらず、「DATA」ステートメントによって定義されていません。

フィールドF1とF2は間違いなくEKPOテーブルに存在します、私はチェックしました。角かっこはコンパイラに内容をフィールド名として見させているようですが、理由はわかりません。

構文が間違っていますか、どこかに定義がありませんか、またはその両方ですか?

4

1 に答える 1

10
SELECT SINGLE *
  FROM EKPO
  WHERE EBELN = GT_MSEG-EBELN
  AND   EBELP = GT_MSEG-EBELP
  AND NOT ( F1 = 'value' AND F2 = '0' ).

これはうまくいきました。基本的に、ブラケットに隣接するスペースが必要でした。

于 2012-07-24T04:03:25.737 に答える