Sap-web-dynpro-service-call-in-an-application
アプリケーションでのサービスコール
サービスコールを使用して、Web Dynproコンポーネントの既存の機能モジュールを呼び出すことができます。 サービスコールを作成するには、Web Dynproツールの使いやすいウィザードを使用できます。
ABAPワークベンチでウィザードを起動して、サービスコールを作成できます。
*Tコードの実行-SE80*
- ステップ1 *-Web Dynproコンポーネントを選択→右クリックして、コンテキストメニューを開きます。 作成→サービスコールに移動します。
Web Dynproウィザード-開始画面が開きます。
- ステップ2 *-サービスコールを既存のコントローラーに埋め込むか、新しいコントローラーを作成するかを選択できます。
注-サービスコールはグローバルコントローラーに埋め込む必要があり、Web Dynproのビューコントローラーでは使用できません。
- ステップ3 *-次のウィンドウで、サービスタイプを選択します。 [続行]ボタンをクリックします。
- ステップ4 *-次のウィンドウで、サービスとして汎用モジュールを選択します。 これには入力ヘルプを使用できます。
リモート対応の汎用モジュールを選択する場合、オプションで、汎用モジュールの呼び出し時に使用されるRFC宛先を指定できます。 宛先を指定しない場合、汎用モジュールはローカルで呼び出されます。
注意-汎用モジュールは現在のシステムに存在する必要があります! ウィザードは、現在のシステムに存在しないリモート対応機能モジュールの呼び出しをサポートしていません。
- ステップ5 *-[続行]をクリックします。
- ステップ6 *-次のウィンドウで、Web Dynproコントローラーのサービス機能パラメーターを表すために使用するオブジェクトタイプを選択できます-
- コントローラーメソッドのパラメーターとして
- コントローラー属性として
- コンテキストノードまたはコンテキスト属性として
これを行うには、関連する行のリストボックスから必要なオブジェクトタイプを選択します。
注-UIに関連するデータのみをコンテキストに保存する必要があります。
作成するコントローラー属性とコンテキストノードに個別に名前を付けることもできます。
次の提案が生成されます-
- ルートノードはサービスの名前を受け取ります。
- 宣言タイプに従ってパラメーターをグループ化するノードは、IMPORTING、EXPORTING、…などの適切な名前を受け取ります。
- パラメーター自体のノード名と属性名は、パラメーター名と同じです。
- ノードと属性名の長さは20文字に制限されているため、必要に応じて適宜省略されます。
次のウィンドウで、選択したサービスは、パラメータタイプとしてタイプグループのタイプを使用し、暗黙的なテーブルパラメータを定義します。
以下にリストされているすべてのタイプについて、データ辞書で同じ等しい構造を持つ(テーブル)タイプを定義します。 これらは、ウィザードによって作成されたコントローラー属性またはメソッドパラメーターの入力に使用されます。
- ステップ7 *-属性タイプ-テストを入力して、続行をクリックします。
- ステップ8 *-次のウィンドウで、サービスを実行するメソッドの名前を指定します。 ウィザードは、サービスの呼び出しとコンテキストバインディングのコーディングを生成します。
メソッドはまだコントローラーに存在していてはなりません。
これで、モデル指向コントローラーの作成に必要なすべての情報を入力しました。
- ステップ9 *-[完了]をクリックしてコントローラーを作成するか、それぞれを強化して、サービスコールを生成します。
この位置でウィザードをキャンセルすることもできます。 ただし、前に入力したデータは失われます。