データオブジェクトとデータ型

7.3 データオブジェクトとデータ型

データオブジェクトとデータ型について

「データオブジェクトとは?データ型とは?」と自分で調べると、初心者には理解し難い複雑な説明が出てきます。
ここではシンプルに以下のように定義します
・データオブジェクトは「箱 」
・データ型は「箱の大きさや 、箱に入れることができる物の情報 」。

データオブジェクトとは

 ・データオブジェクトは「箱」。
  プログラムでは様々なデータのやり取りを行いますが、
  データには置き場所が必要となります。

このデータを入れる箱をデータオブジェクトと呼びます。

データ型とは

 ・データ型は「箱の大きさや、箱に入れることができる物の情報」。
  データオブジェクトに格納できるデータの大きさ(長さ)や、数字だけや文字だけしか格納できない等の属性情報は
  データ型と呼びます。

データオブジェクトの種類

単一項目:単一項目は、仕切りも段数も何もないシンプルな1つの箱のようなイメージです。表計算ソフトで例えると、セルに当たります。

構造:構造は、箱を横に複数個つなげた、または細長い箱に仕切りをつけたイメージです。表計算ソフトでは、1行の表に当たります。

テーブル:テーブルは、構造を何段にも重ねた棚のようなイメージです。表計算ソフトでは、複数行の表に当たります。

ABAP ディクショナリの各要素の関係性

ABAPディクショナリでは、データ型、ドメイン、テーブル、ビュー、検索ヘルプおよびロックオブジェクトの登録と管理を行います。
ABAPディクショナリの中で、
①ドメイン / ②データ型(データエレメント、構造、テーブルデータ型)  /  ③テーブル 
には依存関係があります。

ドメイン

ドメインは、データ型や桁数などの組み合わせを定義するオブジェクトです。
データエレメントの参照先として利用されます。
※ドメインでは、許容値を設定することも可能です。入力できる値を直接指定するか、間隔で指定することができます。

ドメインの作成

①「ドメイン」を選択
②名称「Z_DOMAIN_1_xxxx」を入力
 ※xxxxの部分は 英語表記で名前を入力
 例:Z_DOMAIN_1_KANDA
③「登録」ボタンをクリック

 ④内容を入力
  内容説明:顧客コード
  書式(データ型):NUMC
  書式(文字数):5
   出力特性(出力長):5
  ※その他はデフォルトのまま

⑤「チェック」ボタンをクリック
⑥「保存」ボタンをクリック
⑦「有効化」ボタンをクリック

ドメイン作成完了

データ型 データエレメント

データエレメントは、ドメインや事前定義のデータ型を参照して項目の「意味属性」を定義します。
「意味属性」というのは、ドメインで定義した「技術属性」と対をなす概念で、どのような項目であるか?を定義するものです。

データエレメントの作成

①「データ型」を選択
②名称「Z_DE_CUSTOMER_xxxx」を入力
 ※xxxxの部分は 英語表記で名前を入力
 例:Z_DE_CUSTOMER_KANDA
③「登録」ボタンをクリック

④「データエレメント」を選択
⑤「決定」を選択

⑥ 内容を入力
内容説明:顧客コード
基本データ型
ドメイン:Z_DOMAIN_1_xxxx
 ※xxxxの部分は 英語表記で名前を入力
 例:Z_DOMAIN_1_KANDA

⑦「項目ラベル」をクリック
⑧内容を入力
 (長さ) / 項目ラベル
 短:10  / 顧客コード
 中:15 / 顧客コード
 長:20  / 顧客コード
 ヘッダ:5 / 顧客コード

⑨「チェック」をクリック

⑩「保存」をクリック

⑪「有効化」をクリック

作成完了

データ型 構造

構造は、データベースの1つの行(レコード)にあたります
図の顧客コード、顧客名、業種、所在地、電話番号のような構成要素を持ちます
この構成要素を項目と言い、構造は、いくつかの項目から作成されている。
(よって、前述のドメイン、データエレメントが “未登録” の場合は構造を作成できない)

※ABAPディクショナリで登録することで、コーディング時にTYPES命令で定義せずに利
用することが可能になります。

構造の作成

①「データ型」を選択
②名称「Z_STR_CUSTOMER_xxxx」を入力
 ※xxxxの部分は 英語表記で名前を入力
 例:Z_DE_CUSTOMER_KANDA
③「登録」ボタンをクリック

④「構造」を選択
⑤「決定」ボタンをクリック

⑥内容を入力
 内容説明:顧客情報
 Component: ZCUTOMER
 Componentタイプ:
 Z_DE_CUSTOMER_xxxx
 ※xxxxの部分は 英語表記で名前を入力
 例:Z_DE_CUSTOMER_KANDA

⑦「チェック」をクリック

⑧「保存」をクリック

⑨「有効化」をクリック

作成完了


NEXT>> 第8章 REPORT命令