概要
データ型とはどの様な値を格納するのか箱の形を示します。
箱の形を示すのであって値の格納までは行いません。
値を格納する場合はDATA命令を用いります。DATA命令については以下記事を確認してください。
事前定義のABAPデータ型は名前の通り標準で予め用意されたデータ型です。
文字や数字、日付と種類があるため表にまとめて説明します。
種類
種類は以下の通り、文字データ型C,N,D,T、数字データ型I,F,P,X、文字列STRING,XSTRINGとなっています。
文字データ型と数字データ型は固定長となっており、固定の長さを持ちます。
文字列については可変長となっており、長さが変わるため固定の長さを持ちません。
固定長の型の中でも完全ABAPデータ型と不完全データ型があります。
簡単に説明すると予めデータの長さが決まっている決まっていないという違いがあります。
こちらについては別途説明いたします。
データ型 | 意味 | 有効項目長 | 初期値 |
---|---|---|---|
C | 文字 | 1~65535 | 空白 |
N | 数値文字 | 1~65535 | 0埋め |
D | 日付 | 8 | 00000000 |
T | 時刻 | 6 | 000000 |
I | 整数 | 4byte | 0 |
F | 浮動小数点数 | 8byte | 0 |
P | パック数値 | 1~16byte | 0 |
X | 16進数項目 | 1~65535byte | X’00 |
STRING | 文字列 | 可変長(文字列) | 空白 |
XSTRING | X文字列 | 可変長(byte文字列) | 空白 |
完全ABAPデータ型
データ型の長さが事前に決まっているため、以下の型を使用する場合は長さを指定する必要はありません。(指定する事はできます。)
データ型 | 意味 |
---|---|
D | 日付 |
T | 時刻 |
I | 整数 |
F | 浮動小数点数 |
不完全ABAPデータ型
データ型の長さが決まっていないため、長さを指定する必要があります。
指定しない場合は最小の長さとなります。
データ型 | 意味 |
---|---|
C | 文字 |
N | 数値文字 |
P | パック数値 |
X | 16進数項目 |
コーディング
以下のサンプルコーディングでは紹介した型を出力結果として確認できるようにしています。
ただし、XSTRING型の初期値に関してはPARAMETERSでX型の値を渡しているため空白の確認ができない内容となっています。
選択画面と出力結果は以下のとなります。
DATA: LCGATA(10) TYPE C, "C型 LNGATA(10) TYPE N, "N型 LDGATA TYPE D, "D型 LTGATA TYPE T, "T型 LIGATA TYPE I, "I型 LFGATA TYPE F, "F型 LPGATA(5) TYPE P DECIMALS 3, "P型 LXGATA(10) TYPE X, "X型 LSTRING TYPE STRING, "STRING型 LXSTRING TYPE XSTRING. "XSTRING型 PARAMETERS: PCHAR(20) TYPE C, "文字 PINTEG TYPE I, "整数 PFLOAT TYPE P DECIMALS 3, "小数 PDATE TYPE D, "日付 PTIME TYPE T, "時刻 PHEXAD(10) TYPE X. "Byte *値の代入 LCGATA = PCHAR. "C型 LNGATA = PINTEG. "N型 LDGATA = PDATE. "D型 LTGATA = PTIME. "T型 LIGATA = PINTEG. "I型 LFGATA = PFLOAT. "F型 LPGATA = PFLOAT. "P型 LXGATA = PHEXAD. "X型 LSTRING = PCHAR. "STRING型 LXSTRING = PHEXAD. "XSTRING型 *出力結果 WRITE: 'LCGATA(C型) :', LCGATA, / 'LNGATA(N型) :', LNGATA, / 'LDGATA(D型) :', LDGATA, / 'LTGATA(T型) :', LTGATA, / 'LIGATA(I型) :', LIGATA, / 'LFGATA(F型) :', LFGATA, / 'LPGATA(P型) :', LPGATA, / 'LXGATA(X型) :', LXGATA, / 'LSTRING(STRING型) :', LSTRING, / 'LXSTRING(XSTRING型):', LXSTRING.