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.