ABAP③ 型・構文

・型

・基本型

  DATA 変数名   TYPE 型
  DATA myC(20)  TYPE C.    *文字列型(20文字≠20byte)
  DATA myC    TYPE C LENGTH 20. *文字列型(20文字≠20byte)
  DATA myString TYPE STRING.    *文字列型可変長
  DATA myI    TYPE I.    *数値型
  DATA myD    TYPE D.    *数値型(YYYYMMDD)
  DATA myT    TYPE T.    *時刻型(HHMMSS)
  DATA myF    TYPE F.    *小数点型

・初期値付き宣言

  DATA MyString TYPE STRING VALUE ‘aaa’.

・定数

  CONSTANTS CONST_MyString TYPE STRING VALUE ‘aaa’
  CONST_MyString = ‘bbb’ ←エラー

・構造体

  TYPES:
    BEGIN OF TypeId,
      Name TYPE String,
      Old TYPE I,
      Tel TYPE String,
    END OF TypeId.
  TYPES:
    BEGIN OF TypeCompany,
      Id  TYPE TypeId,
      Cd  TYPE I,
    END OF TypeCompany.
  DATA Man TYPE TypeCompany.

  Man-Id-Name = ‘Mr.Cobol’.
  Man-Id-Old = 40.
  Man-Id-Tel = ‘050-0000-0000’.
  Man-Cd = 100.

 *型のインクルード
 TYPES:
  BEGIN OF TypeId,
   Name TYPE String,
   Old TYPE I,
  END OF TypeId,
  BEGIN OF TypeCompany,
   Id  TYPE I.   ←ピリオド
   INCLUDE TypeId. ←ピリオド
  TYPES: ←「TYPES」やり直し
  END OF TypeCompany.
 DATA: Man TYPE TypeCompany.
  Man-Id = 100.
  Man-TypeId-Name = ‘Mr.COBOL’.

・FIELD-SYMBOLS

  *メモリを確保しない変数
  DATA MyChar C VALUE ‘X’.
  FIELD-SYMBOLS: <FS>.
  *<FS>はMyCharと同じメモリ領域を参照する。
  ASSIGN MyChar TO <FS>.

・構文

・IF文

  IF ~.
  ELSEIF ~.
  ELSE.
  ENDIF.

・CASE文

  CASE ~.
    WHEN ~.
    WHEN OTHERS.
  ENDCASE.

・DO文(条件無しLOOP)

  DO ~.
    CONTINUE.
    EXIT.
  ENDDO.

  *3週LOOP
  DO 3 TIMES.
   ~
  ENDDO

・LOOP文

  LOOP AT ~
    EXIT.
  ENDLOOP.

  ※LOOP ~ ENDLOOP中
  *最初の行のみ行われる処理
  AT FIRST.
   ~
  ENDAT.
  *最後の行のみ行われる処理
  AT LAST.
   ~
  ENDAT.

・WHILE文

  WHILE ~.
  ENDWHILE.

SAP(COBOL)

次の記事

ABAP④ SQL