サーチ…


インラインデータ宣言

特定の状況では、データ宣言をインラインで実行できます。

LOOP AT lt_sflight INTO DATA(ls_sflight).
    WRITE ls_sflight-carrid.
ENDLOOP.

単一変数宣言

DATA begda TYPE sy-datum.

複数の変数宣言

DATA: begda TYPE sy-datum,
      endda TYPE sy-datum.

SELECT文でのインライン・データ宣言

SELECT...ENDSELECTブロックまたはSELECT SINGLEステートメント内でインライン・データ宣言を使用する場合は、 @文字をDATA(lv_cityto)式のエスケープ文字として使用する必要があります。エスケープ文字が使用されると、それ以降のすべてのホスト変数もエスケープする必要があります(下記のlv_carridの場合のように)。

DATA lv_carrid TYPE s_carr_id VALUE 'LH'.
SELECT SINGLE cityto FROM spfli
       INTO @DATA(lv_cityto)
       WHERE carrid = @lv_carrid
       AND   connid = 2402.
WRITE: / lv_cityto.

BERLIN出力します。

変数宣言オプション

異なるタイプの変数は特別なオプションで宣言することができます。

DATA: lv_string   TYPE string, " standard declaration
      lv_char     TYPE c,      " declares a character variable of length 1
      lv_char5(5) TYPE c,      " declares a character variable of length 5
      l_packed TYPE p LENGTH 10 DECIMALS 5 VALUE '1234567890.123456789'. " evaluates to 1,234,567,890.12346 


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow