次のチュートリアルは、HDIオブジェクトの開発と消費のエンドツーエンドのプロセスを示しています。
以下のチュートリアルは、インタラクティブビデオとしても利用できます。クリックして、新しいウィンドウでインタラクティブビデオを開きます。
コンテクスト
チュートリアルでは、ABAP管理のHDIコンテナの作成、名前空間の作成、開発のシナリオについて説明します。.hdbcalculationviewそしてABAPでのその消費。それは2つの可能な消費の選択肢を提示します。チュートリアルでは、非常に単純なものを作成します.hdbcalculationviewABAPテーブルの予測としてSPFLI。通常、テーブルにアクセスできる(そしてアクセスする必要がある)ため、このような単純なオブジェクトを作成して使用することはありません。SPFLIABAPで直接。ただし、チュートリアルはエンドツーエンドの開発プロセスに焦点を当てており、での複雑な使用法には焦点を当てていません。.hdbcalculationviewファイル。
HDIでは、ABAPスキーマまたは別のHDIコンテナのオブジェクトは、同義語を使用して、コンテナがこの参照用に準備されている場合にのみ参照できます。したがって、最初にABAPスキーマへの参照を使用してコンテナを登録します。また、SAP Web IDEでは、最初にシノニムを作成し、次に計算ビューを作成します。両方のファイルは、以前に作成したHDIコンテナーにデプロイされるようにビルドされます。
最後に、hdbcalculationview以下の方法でABAPクラスで消費されます。
- ABAP管理データベースプロシージャ(AMDP)の使用
- AMDPを使用するテーブル関数の使用
手順
-
前提条件として、デモ目的ですべてのABAPシステムで利用可能なフライトデータモデルのデータを生成します。これにより、データがSPFLIテーブル。これを行うには、トランザクションを実行しますBC_DATA_GENデフォルトの選択は変更しないでください。
-
トランザクション中SCTS_AMHC、ABAP管理のHDIコンテナを作成しますZ_HTA_HDI_DEMO_CONTタイプR(ランタイムコンテナ)のABAPデータベーススキーマへの参照SAP_ABAP。コンテナを保存してアクティブ化します。
詳細については、ABAP管理のHDIコンテナの登録を参照してください。
-
ABAP開発ツール(ADT)で、HDI名前空間を登録しますcom.mycompany.demo。これを行うには、次の手順に従います。
- プロジェクトのローカルオブジェクト($ TMP)ノードのコンテキストメニューから、 を選択します。
- 検索フィールドに「。」と入力しHDIます。
- [ HDI名前空間]を選択し、 [次へ> ]を選択します。
- [名前]フィールドに次のように入力しますcom.mycompany.demo[コンテナ名]フィールドに次のように入力しますZ_HTA_HDI_DEMO_CONT。
- [完了]を選択します。
詳細については、HDI名前空間の作成を参照してください。
-
HDI同義語ファイルを作成するsrc / com.mycompany.demo / SY_SPFLI.hdbsynonym。これを行うには、次の手順に従います。
- ADTのHDIネームスペースエディタで、[WebIDEで開く]を選択してSAPWebIDEに移動します。
-
SAP Web IDEで、プロジェクトを見つけますcom.mycompany.demo__Z_HTA_HDI_DEMO_CONT、ノードのコンテキストメニューから[
]を選択しますdb / src / com.mycompany.demo。 - [新しいファイル]に名前を入力しますSY_SPFLI.hdbsynonym。
シノニムエディタが開きます。
-
[シノニム名]列で、[クリックして追加]を選択し、シノニム名を追加して[ OKcom.mycompany.demo::SY_SPFLI ]を選択します。
-
[オブジェクト名]列で、3つのドット(…)をクリックします。
-
[データソースの検索]ダイアログボックスで、次の手順に従います。
-
[外部サービス]ドロップダウンボックスから[ <SID> _SAP_ABAP ]を選択します。
これは、選択されたすべてのサービスの背後に隠されているため、スクリーンショットには反映されていないことに注意してください。
- SPFLI検索ボックスに入力します。
- 名前としてSPFLIを示す行を選択します。
- [完了]を選択します。
-
- 同義語ファイルを保存します。
-
シノニムエディタを閉じます。同義語ファイルのコンテキストメニューから[
]を選択して、コードエディタで同義語を開きます。内容が以下とまったく同じかどうかを確認してください。内容が同じでない場合は、不要な行を削除し、同義語ファイルを保存してください。
-
のコンテキストメニューから[選択したファイルの作成]を選択して、保存した同義語ファイルを作成します。SY_SPFLI.hdbsynonymファイル。
-
HDI計算ビューを作成するsrc / com.mycompany.demo / CA_SPFLI.hdbcalculationview。
これを行うには、次の手順に従います。
-
SAP Web IDEで、ノードのコンテキストメニューから[
db / src / com.mycompany.demo。 -
名前として入力CA_SPFLIし、データカテゴリとしてDIMENSIONを選択します。他のフィールドは変更しないでおくことができます。[作成]を選択します。
計算ビューエディタが開きます。
- プロジェクションを選択し、+(データソースの追加)を選択して、前に作成したシノニムをデータソースとして追加します。
- ダイアログウィンドウで、<SID> _SAP_ABAP外部サービスとして。SY_SPFLI検索ボックスに入力して、SPFLI行、およびFINISHを選択します。
-
ルートノードを選択しますcom.mycompany.demo :: SY_SPFLI、 [出力に追加]を選択します。
その結果、SAPWebIDEには次のマッピングが表示されます。
-
計算ビューを保存し、のコンテキストメニューから[選択したファイルの作成]を選択して計算ビューを作成します。CA_SPFLI.hdbcalculationview。
ビルド後、計算ビューのコンテキストメニューから[
]を選択して、コードエディターを開くことができます。コードは次のようになります:(コードサンプルを展開してコンテンツを表示します)。
-
-
ABAPで計算ビューを使用するには、AMDPまたはテーブル機能のいずれかを使用することができます。このチュートリアルでは、両方の方法を示します。
-
ABAPテーブル機能を登録しますZ_TF_SPFLI。
これを行うには、次の手順に従います。
-
ADTのプロジェクトエクスプローラで、ローカルオブジェクト($ TMP)のコンテキストメニューから[ ]を選択します。
-
パッケージ、名前、説明などを入力し$TMP、[次へ]を選択します。Z_TF_SPFLITable function todemo access to HDI View for SPFLI
- 使用しなかった場合$ TMPパッケージで、移送依頼を選択し、次へを選択します。
-
「パラメーターを使用したテーブル機能の定義」テンプレートを選択し、「終了」を選択します。
- テーブルを定義するにはZ_TF_SPFLI、次のコードをADTで開くエディターにコピーします。
- オブジェクトを保存してアクティブにします。
-
-
ABAPクラスを作成しますZ_CL_HTA_HDI_DEMOこれは、AMDPを使用し、前に作成したテーブル関数を使用して、計算ビューのデータへのアクセスを提供します。
これを行うには、次の手順に従います。
-
ローカルオブジェクト($ TMP)のコンテキストメニューから を選択します。
- 名前と説明を入力Z_CL_HTA_HDI_DEMOし、[完了]を選択します。
- クラスを実装するにはZ_CL_HTA_HDI_DEMO、次のコードをADTで開くエディターにコピーします。
- クラスを保存してアクティブにします。
-
-
-
ABAPプログラムを作成しますZ_RE_HTA_HDI_DEMOから読み取ったデータを表示するにはSPFLI計算ビューを使用します。
これを行うには、次の手順に従います。
-
ローカルオブジェクト($ TMP)のコンテキストメニューから を選択します。
- Z_RE_HTA_HDI_DEMO名前と説明を入力し、[完了]を選択します。
- ABAPプログラムを登録するにはZ_RE_HTA_HDI_DEMO、次のコードをADTで開くエディターにコピーします。
- プログラムを保存してアクティブにします。
-
-
プログラムを実行して、データが読み取れることを確認します。
これを行うには、プログラムのコンテキストメニューから[
-
すべてが正常に機能する場合は、HDI名前空間エディターを使用してチェックインします。SY_SPFLI.hdbsynonymとCA_SPFLI.hdbcalculationviewABAPのHTAリポジトリへのファイル。チェックイン時に、ファイルの最新バージョンがSAP Web IDEから読み取られ、HTAリポジトリに保存されます。[ Hide’In Sync] HDI Artifactsオプションを削除して、すべてのオブジェクトがInSyncになっていることを確認します。
コンテナとオブジェクトを移送可能なABAPパッケージに割り当てた場合は、それらを移送することができます。
詳しくは
AMDP、テーブル関数、またはADBCの詳細については、ABAPキーワード文書を参照してください。