その他のCDSビュー
5. その他のCDSビュー
5. その他のCDSビュー
残りについて、順番に確認していきましょう。
計算処理(演算処理、属性変更)
四則演算は、SELECT句の中で直接演算子を使うだけで計算可能です。
また、割り算では浮動小数点数を使う必要があるため、必要に応じてCAST(型変換)を行います。(右辺、左辺ともに浮動小数点数でなければエラーになります。)
実際に計算処理(演算処理、属性変更)を利用したCDSビューを作成してみましょう。
CDSビューの仕様
| 演習内容 | |
|---|---|
| ビューID | ZIYYMMnnn_samp_calc1 (sqlViewName:ZIYYMMnnn_sc_1) |
| ビュー名 | 計算処理 |
| 要件概要 | 生徒別テスト得点を計算して表示するビューを作成しなさい。 |
| その他条件 |
|
| 出力項目 |
|
| その他 | $TMP ローカルオブジェクトで作成 |
CDSビューのソース
作成したプログラムを実行してみましょう。
(参考)テーブルデータ
生徒別テスト得点情報テーブル(z0120_tbl_003)を確認しましょう。(トランザクションコード : SE11)
生徒別テスト得点情報テーブル(z0120_tbl_003)を確認しましょう。(トランザクションコード : SE16)
計算処理(小数点以下を含む数値処理)
数字の端数処理は、SELECT句の中で直接処理可能です。四捨五入する場合は桁数を指定する必要があります。
実際に計算処理(小数点以下を含む数値処理)を利用したCDSビューを作成してみましょう。
CDSビューの仕様
| 演習内容 | |
|---|---|
| ビューID | ZIYYMMnnn_samp_calc2 (sqlViewName:ZIYYMMnnn_sc_2) |
| ビュー名 | 計算処理 |
| 要件概要 | 生徒別テスト得点の距離を計算して表示するビューを作成しなさい。 |
| その他条件 |
|
| 出力項目 |
|
| その他 | $TMP ローカルオブジェクトで作成 |
CDSビューのソース
作成したプログラムを実行してみましょう。
(参考)テーブルデータ
生徒別テスト得点情報テーブル(z0120_tbl_003)を確認しましょう。(トランザクションコード : SE11)
生徒別テスト得点情報テーブル(z0120_tbl_003)を確認しましょう。(トランザクションコード : SE16)
書式変更(文字列操作)
文字列操作は、SELECT句の中で直接操作可能です。結合、切り出し、文字数の取得、置換について確認しましょう。
実際に書式変更(文字列操作)を利用したCDSビューを作成してみましょう。
CDSビューの仕様
| 演習内容 | |
|---|---|
| ビューID | ZIYYMMnnn_samp_format1 (sqlViewName:ZIYYMMnnn_sf_1) |
| ビュー名 | 書式変更 |
| 要件概要 | 生徒テーブルを書式変更して表示するビューを作成しなさい。 |
| その他条件 |
|
| 出力項目 |
|
| その他 | $TMP ローカルオブジェクトで作成 |
CDSビューのソース
作成したプログラムを実行してみましょう。
(参考)テーブルデータ
生徒テーブル(zstudents)を確認しましょう。(トランザクションコード : SE11)
生徒テーブル(zstudents)を確認しましょう。(トランザクションコード : SE16)
書式変更(通貨書式変更)
通貨書式変更は、SELECT句の中で直接変更可能です。書式変換では通貨コードを使用します。
実際に書式変更(通貨書式変更)を利用したCDSビューを作成してみましょう。
CDSビューの仕様
| 演習内容 | |
|---|---|
| ビューID | ZIYYMMnnn_samp_format2 (sqlViewName:ZIYYMMnnn_sf_2) |
| ビュー名 | 書式変更 |
| 要件概要 | 支払テーブル(国内)を書式変更して表示するビューを作成しなさい。 |
| その他条件 |
|
| 出力項目 |
|
| その他 | $TMP ローカルオブジェクトで作成 |
CDSビューのソース
解説
金額(amount)を換算前通貨(source_currency)から換算後通貨(target_currency)にします。
サンプルコードでは、換算後通貨(target_currency) にCAST(型変換)をして通貨コード「USD」を指定しています。
指定した日付(exchange_rate_date)を基準とした換算レートを使って換算します。
通貨毎のレートはテーブル:TCURRに登録されています。
指定された日付に最も近い日付のレートが使用されます。
作成したプログラムを実行してみましょう。
(参考)テーブルデータ
支払テーブル(国内)(zpayment)を確認しましょう。(トランザクションコード : SE11)
支払テーブル(国内)(zpayment)を確認しましょう。(トランザクションコード : SE16)