関連する物理ABAPデータベーススキーマの名称がシステムランドスケープ内で異なる場合は、論理データベーススキーマにマップします。
- トランザクションDB_SCHEMA_MAPを実行して、論理データベーススキーマの物理データベーススキーマへのすべての割り当てをABAP開発ツール(ADT)で表示するには、権限S_DEVELOPが必要です。
- システム管理者または開発者は、論理データベーススキーマから物理データベーススキーマへのマッピングを設定するために、フィールドAMSMを持つ権限S_ADMI_FCDが必要です。
- SAPシステムはASABAPで実行する必要があり、 SAPHANAデータベースに接続されています。
- この機能は、SAP NetWeaver AS forABAP7.51イノベーションパッケージSP00以降で提供されています。
コンテクスト
論理データベーススキーマをリポジトリオブジェクトとして作成できます。これにより、問題のデータベーススキーマの名前がシステムランドスケープ内で異なる場合はいつでも、デフォルトのABAPデータベーススキーマ外のデータにアクセスすることができます。
手順
- プロジェクトエクスプローラーで、関連するパッケージノードを選択します。
- コンテキストメニューを開き、[]を選択して、作成ウィザードを起動します。
- 作成する論理データベーススキーマのProjectプロパティとPackageプロパティを指定します。
- 作成するオブジェクトの名前と説明を入力し、[次へ]を選択します。
- 移送依頼を割り当てます。
- Finishで作成を開始します。
バックエンドシステムは、リポジトリに格納されている選択したパッケージに非アクティブなバージョンの論理データベーススキーマを作成します。プロジェクトエクスプローラーで、新しいオブジェクトが、対応するパッケージノードのエディターで、対応するオブジェクトが開きます。
- ソースコードで新しいオブジェクトを使用するには、論理データベーススキーマをアクティブ化します。
「データベーススキーマ名」フィールドの「マッピングが定義されていません」というテキストがアクティブなリンクになります。
AMDPメソッドのソースコードでこのオブジェクトを使用すると、マッピングが欠落していることに関する警告が表示されます。
- マッピングが定義されていないリンクを選択します。
SAP GUIが開かれ、トランザクションDB_SCHEMA_MAPが実行されます。デフォルトでは、論理データベーススキーマが自動的に選択されます。
- 編集モードに切り替えます。
これで、[データベーススキーマ]列の対応するフィールドを構成できます。
- システムで使用可能な物理データベーススキーマを一覧表示するダイアログを開くことを選択F4します。
- 選択を確認するには、関連するエントリをダブルクリックします。
エントリが[データベーススキーマ]列に追加されます。
- エントリを保存します。
- ADTでF5、論理データベーススキーマオブジェクトの更新を選択します。
[データベーススキーマ名]フィールドのリンクテキストに、構成された物理データベーススキーマの名前が表示されるようになりました。
結果
ソースコードで論理データベーススキーマの名前が使用されている場合は常に、構成されている物理データベーススキーマが考慮され、対応するデータが使用されます。たとえば、この論理データベースを使用するAMDPメソッドをデータベース上に作成して実行できるようになりました。
それ以上構文エラーが存在しない場合、警告は消えます。たとえば、存在しない物理スキーマを使用したり、エンティティが欠落している場合は、構文エラーが表示されます。