本ページでは、SAPにおける各種のビュー(view)について初心者向けに1から分かりやすく解説します。ビューとは、もととなるテーブルから見たいデータだけを取得して作られたもので、利用方法は無限大に広がります。
更新ビューって何?射影ビューって何?というような疑問をお持ちの方も必見です!
- ビュー(view)とは?
- 4つのビューの基礎知識
- データベースビュー
- 更新ビュー
- 射影ビュー
- ヘルプビュー
SAPエンジニアを目指す方・ABAPerを目指す方であれば、知らないと恥ずかしい超・基本知識です。是非最後までご覧ください。
ビュー(view)とは?
初心者向けに分かりやすく説明すると、ビュー(View)とは1つ以上のデータベースから任意のデータを選択して、 見たいデータだけ、欲しいデータだけを表示する仕組みです。
本来テーブルにはキー項目を含め、他にも登録日付や更新日付など様々な情報を保持しています。しかし、実際に見たいのはその中の1つの項目だけだったり、2~3個見れればOKみたいなこともしばしば。
そのようなときに、必要な項目を必要な分だけ参照できるようにしたのがビューです。
よりイメージが深まるように、実際の例を踏まえてご説明します。
以下は、架空の「学生テーブル」です。
このテーブルは生徒の名前や住所、連絡先から家族構成まで生徒に関する情報をすべて持っているテーブルですが、出席番号と電話番号だけを表示させたい!とします。
ざっくり言うと、これがビュー(View)です。
また、ビューには2つ以上のテーブルから情報を取得して表示するようにすることもできます。
項目数が膨大なデータベースから必要な情報だけを抜き出して表示させたり、逆に二つ以上のデータベースをくっつけて一緒に表示させたりするものがビュー(view)です。
ここからはSAPにおける4種類のビューをご説明します。
SAP:ビュー(view)には4種類ある
SAPにおけるビューは大きく分けて4種類あります。
- 【重要!】データベースビュー
- 【重要!】更新ビュー
- 射影ビュー
- ヘルプビュー
それぞれ、ビューの実装方法と処理の仕方が異なります。ここからは、一つひとつのビューの性質を解説していきながら、覚えておきたい4種類のビューについて解説していきます。
データベースビュー
もっともよくつかわれるビューの代表例です。
2つ以上のデータベースから任意の項目だけを表示させたものです。この最も基本的なビューを「データベースビュー」と呼びます。
例えば、以下の2つのデータベースから、見たい項目だけを抜粋してきます。
完成イメージがこちら。
これが、データベースビューです。
データベースビューは複数のテーブルの内部結合によって作成されているようなイメージです。
内部結合(INNER JOIN)とは、結合条件が両方のテーブルに存在するデータ同士を結合させることを指し示します。
内部結合について更に詳しく知りたいという方は以下の記事をご覧ください。
更新ビュー
更新ビューは、基本的な考え方はデータベースビューと同じです。データベースビューの考え方に加えてデータの更新も可能なものを、更新ビューと覚えておけばOK。
複雑なアドオンテーブルをそのままユーザに直接更新させるのは酷ですが、例えば更新してほしい項目だけをビューとして設定していれば、ユーザビリティが向上し複雑なマニュアルなしで更新が可能になります。
上級者向けの知識としては、データベースビューでは内部結合で結びついていたのに対して、更新ビューの場合は外部結合で結びつくという点。以下の表をしっかり頭に入れておきましょう。
データベースビュー ⇒ 内部結合
更新ビュー ⇒ 外部結合
射影ビュー
射影ビューは、本ページの冒頭で説明した1つのテーブルから必要な部分だけを見れるようにしたビューです。
先ほどの例をもう1度。
以下の学生テーブルをもとにして・・
電話番号ビューを作成するイメージです。
これが、射影ビューです。
射影ビューは読み取りだけでなく、更新もできます。例えば、項目が膨大にあるデータベースの必要な項目だけを必要とする場合に利用するビューで、取得する項目を必要最小限にすることで、データ読み込みのパフォーマンスを向上させるときに役立ちます。
ヘルプビュー
最後にヘルプビューです。
最後のヘルプビューですが、これまでとテイストが異なります。
ヘルプビューは、F4ヘルプの参照先として利用するために作られるビューです。F4ヘルプ・検索ヘルプについて以下の記事で詳しく解説しておりますので、是非ご覧ください
ビュー(View)のメリット
この章では、ビュー(View)を利用することのメリットについて整理しておきます。
SAP的にどのようなメリットがあるのかを知ることで、適切なビューの作成・利用が可能になります。
複数のプログラムから再利用可能
ビューは複数のプログラムから参照することができます。
つまり、一度ビュー(View)を定義しておけば、他のプログラムでも再利用することが可能。1つのビュー(View)を作っておけば、都度テーブルの結合をABAPでコーディングする必要がなくなるということです。
コーディングミスの防止や、開発効率化・プログラム構造化の観点からビューを作成することには大きなメリットがあります。
バッファリングの設定が可能
ビューでは、標準テーブル / アドオンテーブルと同様バッファリングの設定が可能です。
つまり、メモリの節約につながりパフォーマンスの向上に大きく寄与します。プログラムの中で、複数のテーブルを結合しすぎて処理が遅くなっている場合などに、ビューの作成&テーブルバッファリングのセットチューニングが生きてきます。
毎回プログラムの中でテーブル結合をする場合、データベースを直接読み込みにいく必要がありますが、バッファリングしていればデータベースを読み込みません。
データベースの中身をアプリケーションサーバ上に同期して保持する方法です。
SAP / ABAPを1から学習したい方は
初めてABAPを勉強するのは結構難しいですよね。
でもその悩みを抱えているのは一人じゃありません。全てのABAP使いが同じ道を進んできました。
ABAPをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?
読者料典 【完全無料】ABAP:学習カリキュラム ←こちらから!