条件分岐(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)