広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2020年02月06日

【ABAP】TYPES命令—データ型定義


TYPES命令は、データ型(基本データ型/構造化型データ型)を定義する命令です。
初心者にとっては、DATA命令との区別が難しく、とっつきにくい印象を受けてしまうかもしれませんが、 TYPES命令をマスターせずにABAPをマスターすることは不可能です

このページで学べる内容

・TYPES命令とは?
・TYPES命令の使い方・書き方
・基本データ型と構造化型データ型とは?
・TYPEオプション/LIKEオプションの使い分け


ABAPを学習中の人であれば、 絶対に知っておきたい内容ばかり ですので是非最後までご覧ください。

最初に構文ルール(TYPES命令の基本形)を解説し、その後深堀していく形でTYPES命令を学習していきます


目次

1 構文ルール:TYPES命令

2 TYPES命令とは?
 2.1 「基本データ型」とは?
 2.2 「構造化型データ型」とは?
 2.3 TYPES命令とDATA命令の違い?

3 LIKEオプション



1 構文ルール:TYPES命令

?@基本データ型の場合

TYPES (データ型名) TYPE (データ型) .

?A構造化型データ型の場合

TYPES:
BEGIN OF (構造化型データ型名) ,
    (項目名) TYPE (データ型) ,
    (項目名) TYPE (データ型) ,
    ・・・・・・・・・・・・・・
END OF (構造化型データ型名) .


2 TYPES命令とは?


TYPES命令は「基本データ型」と「構造化型データ型」を定義する命令です。
まず、最初に「基本データ型」について解説します。


2.1 「基本データ型」とは?


基本データ型を簡単に説明すると「変数」の元となるデータ型です。

DATA命令を用いて 変数を定義する際に、TYPEオプションで指定するデータ型は、「基本データ型」に分類されます。

SAP標準で事前に定義されているデータ型(ABAPデータ型)には、限りがあります。
例えば、「C(テキスト項目)」や「D(日付)」といった基本的なものしか用意されていません。

CやDといったデータ型だけでコーディングしていくことも不可能ではありませんが、例えばデータ型自体に意味を持たせたい場面などが出てきます。
こんな時に、TYPES命令を用いるのです。

D(日付) →  Birth_D(生年月日)

ただの「日付」ではなく、「生年月日」を格納する「データ型」を作成する場面が出てきます。

こんな時に

TYPES Birth_D TYPE D.

とコーディングすることで、新しいデータ型を生み出すわけです。


2.2 「構造化型データ型」とは?


では、「構造化型データ型」とは何でしょう。
答えは、その名前から推測できる通り「構造」を定義する際の基となるデータ型です。

構造は1行に並んだ変数の集合です。
構造 
変数 変数 変数 変数 ・・・・・

この構造のデータ型を定義する際にも用いることができるのがTYPES命令なのです。
TYPES:
BEGIN OF TYPE_FT001 ,
  RBUKRS TYPE ACDOCA-RBUKRS ,
  GJAHR TYPE ACDOCA-GJAHR ,
  BELNR TYPE ACDOCA-BELNR ,
  DOCLN TYPE ACDOCA-DOCLN ,
  BLART TYPE ACDOCA-BLART ,
END OF TYPE_FT001 .


このようにコーディングすることで、構造化型データ型を定義することができるのです。

もし、上記サンプルコードで定義した「TYPE_FI001」型の構造を宣言したい場合は、
DATA HENSU1 TYPE TYPE_FT001 .

というようにコーディングしてあげればOKです。


2.3 TYPES命令とDATA命令の違い?


ここまでの内容を理解できていれば、TYPES命令とDATA命令の違いは明確です。

・DATA命令  ⇒ 変数/構造/内部テーブルを宣言
・TYPES命令 ⇒ 変数/構造/内部テーブルの基となる「型」を定義

となります。

したがって、基本的な流れは、
?@「TYPES命令で型を定義」を行ったあと、
?A「?@で定義したデータ型に基づいてDATA命令で変数/構造を宣言」するという流れになります。

ABAPを学習して間もない方は、この点で混乱してしまう方が多いのですが、一つ一つ丁寧に考えれば決して難しくはありません。


3 LIKEオプション


TYPES命令では、LIKEオプションが利用できます。

TYPES A TYPE D. → TYPES B LIKE A.

TYPES命令のオプションTYPEとLIKEの使い分けについても、この機会に学んでみましょう。
タグ: ABAP
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: