本ページでは、SAPのデータエレメントを初心者の方向けに分かりやすく解説します。
データエレメントとはテーブル項目の意味属性を決定するもの。ドメインが技術属性―"10桁の数値型" などを決めるものであるのに対して、データエレメントは、その4文字の数値型が、例えば「勘定コード」のためにある、というような情報を定義します。
このページでは、データエレメントの作成方法を1から解説しつつ、そもそもデータエレメントが何のためにあるのか?結論、データエレメントとは何か?を初心者向けに解説します。
SAPエンジニアを目指す方であれば知らないと恥ずかしい超重要知識ですので、是非最後までご覧ください。
それでは、早速解説を始めます。
SAP:データエレメントとは?
データエレメントとは、テーブル項目の意味属性を決めるものです。
ドメインが、テーブル項目の技術属性―。すなわち、"数値型/10桁" という情報を定義するのに対し、データエレメントは、その "数値型/10桁" の項目がどのような意味を持つのか?というものを定義します。勘定コードなのか、品目コードなのか。はたまた、仕入先コードなのか。
ドメイン
⇒技術属性(データ型 / 項目長 / 値範囲)を決定
"文字列/15桁"・"日付型/8桁" など
データエレメント
⇒意味属性を決定
"住所"・"支払期日" など
ページ後半でも説明しますが、データエレメントを作成する際には基本的にドメインを参照するように設定します。
データエレメントとして「支払日付」という意味を持たせ、"日付型/8桁" という技術属性をドメインから受け継ぐようなイメージでOK。
その意味で、ドメインとデータエレメントの関係性を正しく理解しておくことが重要です。初心者の方ほど混乱してしまいがちな概念ですので、この機会にドメインも合わせて理解しておきましょう。
ドメインの作成方法・利用方法はこちらの記事をご覧ください。
データエレメントの定義方法
実際の画面を見ながら、データエレメントの作成方法を解説します。
言葉だけではイメージがついていなくても、実際の画面を見ることで理解が深まります。すぐに必要でなくても、是非1つ1つ丁寧にご覧ください。
1:ABAPディクショナリ(SE11)を実行
SAPメニュー > ツール > ABAPワークベンチ > 開発 > ABAPディクショナリ(SE11)
トランザクションコード:SE11を実行すると「ABAPディクショナリ」の画面が開きます。「データ型」の項目に、登録したいデーエレメント名を入力して登録ボタンをクリックします。
ポップアップ画面が表示されるので「データエレメント」を選択。
下記のような画面が表示されます。
データ型・構造定義など、SAPで利用されるデータ定義の全てを管理する機能のこと。
詳しくはこちらの記事をご覧下さい。
2:データ型定義
まずは、データエレメントのデータ型を定義します。
データ型の登録方法は3つ。
1つ1つ説明します。
ドメインを指定する
最も基本となる方法がこれ。事前に定義したドメインを参照する方法です。
ドメインが既にデータ型や項目長などの技術属性を持ち合わせていますので、ドメインを指定してあげれば、対象のデータエレメントもその技術属性を保持することになります。
既に他のデータエレメントから参照されているドメインを指定することもできます。
もちろん、ドメインの技術属性を変更すれば、そのドメインを参照している全てのデータエレメントの技術属性も変わります。後から、桁数の変更を行うような場合に便利です。(逆にいうとドメインとデータエレメントを適切に紐づけて置かないとアウト)
組込型を指定する
事前定義されたABAPのディクショナリデータ型を指定します。
ディクショナリデータ型とは、ABAPディクショナリの中でのみ利用できるデータ型です。
ディクショナリデータ型 | 意味 |
---|---|
ACCP | 会計期間 YYYYMM |
CHAR | 文字列 |
CLNT | クライアント |
CUKY | 通貨コード(CURR項目による参照) |
CURR | 通貨項目 |
DATS | 日付 |
DEC | 計算/金額項目 |
FLTP | 浮動小数点数 |
INT1 | 1 バイト整数 |
INT2 | 2 バイト整数 |
INT4 | 4 バイト整数 |
LANG | 言語 |
LCHR | 文字 (長) |
LRAW | バイト順序 (長) |
NUMC | 数値テキスト |
PREC | 精度 |
QUAN | 数量 |
RAW | バイト順序 |
RAWSTRING | 可変長のバイト順序 |
STRING | 可変長の文字列 |
TIMS | 時刻 HHMMSS |
UNIT | 単位 |
他のデータエレメントを指定する(参照データ型)
最後はあまり見かけない方法。他のデータエレメントを指定するだけ。
指定したデータエレメントと同じデータ型のデータエレメントが出来上がります。
ですが、本来のデータエレメント定義の意味・目的から考えると、他のデータエレメントを参照するのであれば、最初からそのデータエレメントを作る意味がなくなってしまうので、このオプションの存在意義は把握しかねているのが実態です。
(事実、実際に稼働しているSAP上でこのような他のデータエレメントを参照するデータエレメントをみたことはありません。)
3:他の属性定義
続いては「他の属性」タブの項目を入力します。
この項目では、事前定義した検索ヘルプなどを指定します。
検索ヘルプ以外については、設定するタイミングが多くはありません。
4:項目ラベル
項目ラベルを定義します。
ALV表示した場合などに表示されるテキストです。ALV上の項目幅に伴って表示される名称が短~長で変わるため、それぞれ指定します。
これで、データエレメントの定義はOK。
ABAPを1から勉強したい方は
初めてABAPを勉強するのは結構難しいですよね。
でもその悩みを抱えているのは一人じゃありません。全てのABAP使いが同じ道を進んできました。
ABAPをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?
読者料典 【完全無料】ABAP:学習カリキュラム ←こちらから!