コードの分析およびテスト
データ型およびデータ型変換の正しい使用
文字項目の処理
ABAP SQL でのコードプッシュダウンの使用
内部テーブルのパフォーマンスの改善
権限チェックの実装
効果的なオブジェクト指向コードの設計
例外クラスの定義と処理
ABAP コードへの文書の追加

CDS アクセス制御の使用

Objective

After completing this lesson, you will be able to cDS アクセス制御を使用する。

CDS アクセス制御

このセクションの前提条件

このシナリオでは、空港詳細を含むデータベーステーブルからデータを選択する CDS ビューエンティティが使用されます。このビューにリンクされている権限チェックはありません。その結果、ユーザは権限のない情報を含むすべてのデータを参照することができます。

アクセス制御を CDS ビューエンティティに配置するには、アクセス制御タイプのオブジェクトを登録します。この例のアクセス制御では、オブジェクト /DMO/TRVL の権限がチェックされます。項目 /DMO/CNTRY がデータベースの項目の値と比較され、アクティビティが '03' (読込) に設定されます。

特定の CDS ビューエンティティに対応するアクセス制御を見つけるには、エディタ内のビューエンティティの名称にカーソルを合わせ、Ctrl + Shift + G を押します。これにより、ビューエンティティの使用先一覧 (つまり、ビューエンティティの定義が行われるすべてのオブジェクト) がロードされます。ビューエンティティにアクセス制御がある場合は、一覧に表示されます。一覧が非常に長い場合は、ファネルアイコンを選択し、オブジェクトタイプ項目を DCLS/DL に設定することで、一覧をフィルタリングすることができます。

ユーザが CDS ビューを使用してデータを選択すると、そのデータがユーザに割り当てられている権限値と比較されます。次に、ユーザーの権限に対応するデータ (この例では、国 DE にある空港) のみが読み込まれるようにフィルタが設定されます。このチェックは回避手段なしで自動的に実行されるため、どちらも安全です。また、冗長なデータがデータベースから読み込まれないことが保証されるため、パフォーマンスも効率的です。

CDS アクセス制御の使用方法

このデモでは、CDS アクセス制御の使用方法を確認します。