aki.Saitoのブログ

SAP、IT関連が中心のブログ(Twitter @AkiSai14)

SAP AppGyverとES5を連携しようとして苦戦した話

この記事は SAP Advent Calendar 2021 の12月11日分の記事として執筆しています。

adventar.org

今回のSAPアドベントカレンダーや最近のSNSの投稿を見ていると
SAPが今年買収した " AppGyver " 含め、ノーコードツールネタが多いですね。

私も12月2日にmonstconciergeさんが投稿した
AppSheetで爆速SAPアプリ開発」をやってみました。
AppSheetでのアプリ開発は本当に簡単で10分弱で出来上がりました!

すごいなーと思いつつ、そこで気になったのが
「AppGyverだとどのくらいかかるのか?? 」
画面作成をしないといけないことは分かるけど、
リストを使えばそんなにかからない?
いろいろ分からないことが多かったので試してみました。

そしてうまくいきませんでした・・・
同じように迷う人がいるかもと思ったのと自身の備忘のために記事にしてみました。

また、前提として、私はODataやAPIについては初心者であまり分かっていないです。
ですので、解決方法などあればぜひアドバイスいただければと思います。


やりたいこと

  • AppGyverで製品一覧のリスト表示するアプリを作成する
  • 製品一覧はSAP Gateway Demo System(ES5) からODataで取得する
    f:id:akisai14:20211211220600p:plain

※SAP Gateway Demo System(ES5)についてはこちらを参照ください。

developers.sap.com

やってみたこと

  1. AppGyverでNewAppを作成します f:id:akisai14:20211211181703p:plain

  2. OData連携するためにDATAをクリック f:id:akisai14:20211211181831p:plain

  3. [ ADD DATA RESOURCE ] > [ OData Integration ] をクリック f:id:akisai14:20211211182115p:plain

  4. [ Base API URL ] に以下を入力して [ VERIFY URL ] をクリック

https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC

f:id:akisai14:20211211182550p:plain

その結果、以下のメッセージが出て先に進めませんでした・・・

The entered URL is not recognized as a valid OData service metadata.

調べたこと

エラーの原因調査として以下のことを調べました。

  • ODataのURLの確認 https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC
    が正しいか確認するためブラウザで直接開いてURLが正しいことを確認しました。
    ※URLに「$metadata」を付けることで中身のデータを確認できることを知りました。
    f:id:akisai14:20211211211705p:plain

  • SAP以外(ES5以外)のODataのURLを試してみる
     TripPin ServiceというサンプルサービスのURLを試したところ、成功しました!
     " OData version:4.0 "と表示されており、バージョンの問題?と思いました。
    f:id:akisai14:20211211212316p:plain

  • ES5のOData versionを確認する
     OData versionの確認方法をググり、
     ES5にログインしてこちらのトランザクションコードを実行しました。
      - /IWFND/V4_ADMIN (V4向け)
      - /IWFND/MAINT_SERVICE (V2向け)
     こちらのトランザクションコードでは、権限がなくてアクセスできず・・・
    f:id:akisai14:20211211213445p:plain

  - /n/iwfnd/gw_client
 こちらのトランザクションコードを開き、
 [ Request URI ] にURLと[ $metadata ]を加えて実行することで
 バージョンを確認することができました。 f:id:akisai14:20211211214342p:plain

  • AppGyverがサポートしているOData versionを確認する
     公式サイトではサポートしているOData versionを確認できなかったのでコミュニティを確認しました。
     AppGyverは買収したばかりだからかSAP Communityには情報が少なく、AppGyverのコミュニティを確認しました。
     f:id:akisai14:20211211214640p:plain

 コミュニティ内のQAのやりとりで発見したコメントがこちら。

For oData v2 by default service returns atompub XML which AppGyver cannot decode.
The real issue is that AppGyver couldn’t recognize $format=json parameter as well.
For oData v4 though it’s working fine as it returns JSON by default.

AppGyverはOData V2 は対応しておらず、 [ OData Integration ] の機能はES5で使えなそうだということが分かりました。

※一旦、調べたものはここまでです

おわりに

問題解決していないですが、自身の備忘と情報共有を兼ねてやったことと調べた内容を記事にしました。
別のやり方が何かしらあるのではと思いますので、いろいろ調べてみたいと思います。

また、AppGyverをはじめとするノーコード・ローコードツールは簡単にアプリケーションを作れますが、S/4HANAや他のAPIサービスと連携させたいと思ったらODataやAPIなどの知識が必要となってくることを改めて実感しました。
2022年の目標に「OData・APIを理解して使えるようにする」を入れたいと思います。