条件分岐(CASE)

4. 条件分岐(CASE)

4. 条件分岐(CASE)

CASEを利用する事により、CDSビューにおいて条件分岐が可能になります。

解説

例えば、データの区分により、ある項目値を別々のテーブルから取得して表示する事が可能になります。

プログラムの作成

では、実際に条件分岐(CASE)を利用したCDSビューを作成してみましょう。

CDSビューの仕様

演習内容
ビューID ZIYYMMnnn_samp3_3 (sqlViewName:ZIYYMMnnn_s3_3)
ビュー説明 全生徒情報ビュー
要件概要 全生徒の年次と生徒情報がわかる一覧を作成しなさい。
結合条件 全生徒テーブル(zstudents_all)と生徒テーブル(zstudents) 生徒アーカイブテーブル(zstudents_bk)を結合。
その他条件 ・全生徒テーブル(zstudents_all)の区分 (bk_kbn)の値により、 表示する生徒情報を以下から取得すること。
・区分が’X’の生徒の場合:生徒アーカイブテーブル(zstudents_bk)から取得。
※生徒情報がすでにアーカイブされている為
・区分がブランクの生徒の場合:生徒テーブル(zstudents)から取得。
出力項目 生徒の情報(ID、年次、姓、名、誕生日、登録日(=入学日))
※姓、名はテーブルによりIDが異なる(zstudentsとzstudents_bk)ので注意。
その他 $TMP ローカルオブジェクトで作成

CDSビューのソース

プログラムの実行

では、作成したプログラムを実行してみましょう。

(参考)テーブルデータ

・全生徒テーブル(zstudents_all)を確認しましょう。(トランザクションコード : SE11)

・全生徒テーブル(zstudents_all)を確認しましょう。(トランザクションコード : SE16)


NEXT>> 5. その他のCDSビュー