プロジェクト作成

11.2 プロジェクト作成

SAP Gateway Service Builderでプロジェクトを作る

SAP Netweaver Gatewayの導入パターン
SAPでは、ODataサービスを作るときに次の2つの方法があります。

❏Hub方式

・ODataサービスを専用のGatewayサーバーで作成する方式
・UIと処理を分離でき、複数システムを接続する場合に向いている

❏バックエンド方式

・ODataサービスをS/4HANAなどの同じサーバー内で作成する方式
・シンプルで、一体型の構成になる

ODataサービスを作成する際は、まず「どの方式で作成するか」を選択します。
本手順では、よりシンプルなバックエンド方式を使用してODataサービスを作成します。

ODataサービスを作成するときは、最初にSAPのどこで作成するかを決めます。
当手順ではバックエンドでODataを作成します。

プロジェクト登録

①トランザクションコード:「SEGW」でSAP Gateway Service Builderを実行し、プロジェクトを登録します。
プロジェクト=ODataサービスの単位となります。

②登録ボタンを押下します。

③以下内容を入力します。

  • プロジェクト :ZODATA_YYMMnnn(nnnは受講生番号)
  • Beschreibung :CUSTOMER DATA
  • パッケージ :$TMP

※そのほかの項目はデフォルトのままでOK

④続行ボタンを押下します。(EnterでもOK)

EntityType定義

ODataサービスの中で利用するデータモデルを作成します。
最終的にデータのやり取りを行う上での項目などを定義します。
構造を一から定義することもできますが、当手順では既存の構造を参照して登録します。

①データモデルを選択した状態で、右クリックします。
インポート>DDIC Structureを押下します。

②以下内容を入力します。

  • 名称 :CUSTO
  • ABAP-Struktur:KNA1
    ※そのほかの項目はデフォルトのままでOK

③Weiterボタンを押下します。

④以下項目にチェックを入れます。

  • MANDT(クライアント)
  • KUNNR(得意先コード)
  • LAND1(国/地域)
  • NAME1(名称)

⑤Weiterボタンを押下します。

⑥キー項目にチェックを入れます。
当手順ではKUNNR(得意先コード)をキー項目として登録します。

⑦終了ボタンを押下します。

⑧データモデル>Entity Types>CUSTOを押下します。
プロパティをダブルクリックすると登録したODataが確認できます。

EntityType定義手順の補足

KNA1について

KNA1はSAP標準テーブルの一つで、得意先の基本情報を管理するためのテーブルです。

SAPの得意先マスタは、以下の通り複数のテーブルから構成されています。

KNA1 … 得意先の「基本情報」
KNB1 … 得意先の「会社別の情報」
KNVV … 得意先の「販売組織別の情報」

当手順では、SAPが用意している標準のテーブル(構造)
KNA1を参照してODataを登録しています。

また、インポートした構造の全項目をOData化するのではなく、必要な項目を選ぶことができます。
このように、必要最低限のデータをやり取りします。

キー項目について

ODataサービスにおける「Key(キー)」は、
ODataサービス上で個別のデータ(=エンティティ)を特定するための目印です。

例)ODataエンティティに得意先番号(KUNNR)をKeyに設定する
⇒ URLにアクセスすると、得意先番号「10010001」のデータだけをピンポイントで取得できる
URL:https://〇〇/sap/opu/odata/sap/ZCUSTOMER_SRV/CustomerSet(‘10010001’)

ただし、 ODataのKeyはあくまで「ODataの識別用」であり、
データベース上の重複を防ぐための制約(=PRIMARY KEY)ではありません。

つまり、ODataでは一意性の保証は開発者の責任です。
開発者は、一意になるような項目(または組み合わせ)をKeyに設定する必要があります。

OData生成

データモデル作成後、オブジェクトを生成します。
オブジェクト生成しない場合、ODataを利用することはできないので注意しましょう。

①プロジェクトを選択して、実行時オブジェクト作成ボタンを押下します。

②続行ボタンを押下します。(EnterでもOK)
※全項目デフォルトのままでOK

③ローカルオブジェクトボタンを押下します。

④オブジェクトが生成できたことを確認します。
(画面下部に以下のようなオブジェクト生成メッセージが表示できればOK)

OData生成手順の補足

クラス・サービス名について

オブジェクト生成ボタンを押下すると、ODataサービスの構成要素を確認する画面が表示されます。
 この画面では、ODataサービスを構成する次の3つの要素を設定します。

モデルプロバイダクラス(Model Provider Class/MPC)

ODataサービスで扱うデータ構造(エンティティ、プロパティ、関連(Association)など)を定義します。
どんなデータ構造を持つサービスにするかを決める、言わばODataの設計書を作るクラスです。

データプロバイダクラス(Data Provider Class/DPC)

データの取得・登録・更新・削除といった処理ロジックを実装します。
テーブルやCDSビューから実際にデータを読み書きする役割を担当します。

サービス登録(Service Registration)

作成したODataサービスを外部から利用できるように登録します。
ここで公開設定を行うことで、Fioriアプリや外部システムからアクセス可能になります。


つまり、 MPCは「データの形」を決める。
DPCは「データの動き」を決める。
この2つを設定し、最後にサービスとして公開します。

全体的な構成は下記のようになります。
・モデルプロバイダクラス(MPC):データの設計図を作る場所
・データプロバイダクラス(DPC):データの処理ロジックを書く場所
・サービス登録:サービスをSAPに公開して使えるようにする作業(公開・有効化)

データプロバイダクラスは一言でいうと「データに対する処理を決めるクラス」です。
たとえば「注文一覧を確認する」「新しい得意先を登録する」といったデータの取得や更新の処理を書きます。

サービス登録は一言でいうと「ODataサービスに名前をつける作業」です。
ODataを利用する場合、SAPシステムに「この名前のODataサービスを使えるようにします」と
登録(=有効化)する必要があります。
サービス登録でつけた名前を使って、ODataを利用できるようにしていきます。


NEXT>> 11.3 ODataサービスの有効化

研修の詳細はこちら