最初の非常に単純なOData SAPゲートウェイサービスの作成

SAP内のモバイルおよび応答性の高いアプリケーションの開発については、現時点では非常に多くの情報と一見新しい技術が利用可能です。 だからFioriはsapui5と一緒に未来であり、SAP GatewayとOData、あるいはHANA、Ariba(またはそれが呼ばれるもの)、そして無限の他の名前と技術についてはどうですか。…. これらはすべて、SAP開発者の全体像にどのように適合しますか?
さて、Fioriアプリの構築の一環として、従来のSAP ABAPスキルが必要とされるnetweaver Gatewayという地上レベルから始めましょう。SAPゲートウェイは、実際には長年にわたって周りされているが、フィオーリ/モバイル/応答アプリへの移行で、それはますます使用されており、今、あなたのSAPゲートウェイは、ODataサービスを介して外部からSAPシステム内のデータにアクセスすることを可能にします。
…この新しいFioriワールドでは、web IDE
を使用してsapui5を使用してフロントエンドが作成されます。..これにより、SAPゲートウェイ
を介してSAPシステム上に作成されたODataサービスが呼び出されます。..ODataサービスはABAPを使用してSAPデータを取得し、ODataサービス
を介してデータを返します。
ステップ1-SAP Netweaver Gateway Service Builder
まず、サービスを構築できるトランザクションSEGWに移動します

ステップ2-プロジェクトの作成
次に、作成ボタンを使用して、すべてのデータモデル、実装、エンティティタイプ、エンティティセットなどを格納するプロジェクトを作成する必要があります。 この段階で用語についてあまり心配しないでください、すべてが明らかになります。

ステップ3-プロジェクトの詳細を入力
名前、説明、パッケージを入力します。 特定のものが必要であることがわかっていない限り、他のすべてをデフォルトのままにしておきます。

ステップ4-DDIC構造のインポート
この例は、標準SAPテーブルEKKOのサブセットに基づいています。 新しく作成されたプロジェクト内で、”データモデル”ノードを右クリックし、インポート->DDIC構造

ステップ5-構造の詳細を入力
ABAP構造項目内にEKKOを入力し、オブジ purchaseorder

ステップ6-プロパティの表示
新しく作成されたノード”Entity Type->purchaseorder”を展開し、プロパティノードをダブルクリックします

上のいくつかのフィールドを使用するので、Statu以下のすべてのフィールドを選択して削除します

このようになるまで

注:すべてのフィールドを使用しない理由は、データ型を変更せずにゲートウェイサービスと互換性がないためです。すべてのフィールドを使用した場合、エラーがさらに発生する場所を示します。 この情報は、将来実際にerrorquickerを作成するときにerrorquickerを理解するのに役立つかもしれません。
ステップ7-エンティティセットの作成
これまでのプロセスを保存し、エンティティセットノードを右クリックして作成

ステップ8-エンティティセットを作成する代替方法
またはエンティティセットノードをダブルクリックし、行の追加ボタンをクリックします

ステップ9-エンティティセットの詳細
エンティティセット名を指定します(通常はエンティティタイプの複数)

次に、選択入力ヘルプからエンティティタイプを選択します

選択したらok(緑色の目盛り)を押します)

エンティティセットが作成されました

ステップ10-生成 ゲートウェイサービス
最初にプロジェクトノードをダブルクリックし、”ランタイムオブジェクトの生成”ボタンを使用してプロジェクト全体を生成します

これで、サービス実装オブジェクトが作成されていることがわかります。作成、削除、GetEntity(読み取り)、GetEntitySet(クエリ)および更新

ステップ11-アクティブで保守サービス
今、あなたはトランザクション”/IWFND/MAINT_SERVICE”に行く必要があります。 /n/IWFND/MAINT_SERVICE

ステップ12-/n/IWFND/MAINT_SERVICE内でサービスを追加
サービスの追加ボタン

をクリックして、追加するサービスの情報を入力します(この時点でワイルドカードを使)

enterキーを押して、検索条件に一致するサービスを検索します。 追加したいサービスをクリックすると、次の画面に選択したサービスの詳細が表示され、パッケージの詳細(ローカルオブジェクト)を入力し、すべてをデフォル 次に、okボタン(緑色の目盛り)を押します)

これで、サービス”が作成され、メタデータが正常にロードされたというメッセージポップアップを受信する必要があります”

前のページに戻る

ステップ13-追加されたサービスの検索
システムで設定したサービスの数に応じて、フィルタ機能を使用して新しく追加されたサービスを検索する必要がある場合があります。

これで、サービス設定の詳細と、左下隅のODATA ICFノードの横に緑色の信号が表示されます。

ステップ14-SAP Netweaver Gateway Client
ここで、左下隅のODATAノードのすぐ上の”Gateway Client”ボタンを介してアクセスされるSAP Netweaver Gateway Clientを使用してテストする必要があります

次に、要求URIをデフォルト”/sap/opu/odata/sap/ZTEST_PROJECT_SRV/?$format=xml”単に”実行”ボタン

をクリックすると、緑色のstatus_codeでこれに似たHTTP resposeを取得する必要があります


ステップ15-SAP Netweaver Gateway Client
を使用したさらなるテストこれで、URLを変更して”metadata metadata?”で終わるようにすることができます。sap-ds-debug=true”を押してから、もう一度実行を押して、purchaseorderエンティティのメタデータプロパティを返すことができます

“/sap/opu/odata/sap/ZTEST_PROJECT_SRV/metadataメタデータ?sap-ds-debug=true”

URIを”/purchaseorders”に変更しますか?最後にsap-ds-debug=true”を指定して、entityセットpurchaseordersのデータをターゲットにすることができます

“/sap/opu/odata/sap/ZTEST_PROJECT3_SRV/purchaseorders?sap-ds-debug=true”


executeを押すと、このデータを生成するメソッドがまだ実装されていないため、次のエラーが表示されるはずです

ステップ16-GetEntitySetメソッドの実装
SEGWトラン GetEntitySet(Query)という名前のものを見つけて右クリックします。 次に、”ABAPワークベンチに移動”を選択します”

操作がまだ実装されていないことを示す次のメッセージが表示されます。 Ok

をクリックするだけで、tcode SE80が表示されます。 左側のオブジェクトリスト内で、Purchaseorders_GET_ENTITYSET methodwithin Methods->継承されたメソッドを見つけます。
これを見つけたら、それを右クリックして、次のABAP selectステートメント
SELECT*
最大10行
FROM ekko
をテーブルet_entitysetの対応するフィールドに追加するだけです。ステップ17-サービスの再テストURIを「/sap/opu/odata/sap/ZTEST_PROJECT_SRV/purchaseorders?」に再度変更します。sap-ds-debug=true”

今回は、いくつかのデータが返されるはずです

ステップ18-詳細情報
いくつかは互換性がないため、EKKOテーブルのすべてのフィールドを使用しないこURI”/sap/opu/odata/sap/ZTEST_PROJECT_SRV/purchaseorders”を実行するときにそれらをすべて含めていた場合はどうなりますか?sap-ds-debug=true”次のhttpエラーメッセージが表示されます:

<?xml version="1.0" encoding="utf-8" ?>- <error xmlns:xsi="http://www.w3.org/2001/XMLSchema-Instance"> <code>HTTP/500/E/Internal Server Error <message>Call of service /sap/opu/odata/sap/ZTEST_PROJECT_SRV/purchaseorders terminated because of an error. The following error text was processed in system TST : The current statement is only supported for character-type data objects.The error occurred on the application server erpukpltm. The termination type was: RABAX_STATE.If the termination type is RABAX_STATE, you will find more information on the cause of termination in system TST in transaction ST22. If the termination type is ABORT_MESSAGE_STATE, you will find more information on the cause of termination on the application server ????? in transaction SM21. If the termination type is ERROR_MESSAGE_STATE, you can search for further information in the trace file for the work process in transaction ST11 on the application server ______. You may also need to analyze the trace files of other work processes. If you do not yet have a user ID, contact your system adminmistrator.</message> </error>

ステップ19-さらなる開発
次のステップは、SAP Fioriアプリからこのゲートウェイサービスにアクセスすることです


SE80
SAP Netweaver Business Client
ITSを使用したSAP Webアプリケーション開発-ABAPコードと情報の例
Netweaver-SAP netweaver technologiesに関する情報
HTML用SAP GUI-SAPクライアントがインストールされていないPC -トランザクションSICFを使用してSAP webサービスをアクティブ化および保守する
SAP Webアプリケーション開発-Web開発のさまざまな分野に関するコード例と情報
HTML用SAP GUI-SAPクライアントがインストールされていないPC上でSAPを実行する
インターネットトランザクションサーバ(ITS)-長所と短所
ITSフローロジック-フローロジックを使用する利点と欠点
SAP Webトランザクションの開発-SE80を使用してITS

に公開する

コメントを残す

メールアドレスが公開されることはありません。