3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OutSystemsからSAPのODataを更新する方法

Last updated at Posted at 2022-12-16

本記事でやりたいこと

SAP S/4HANA のデータを更新できるアプリをOutsystemsで作成する

アジェンダ

・ODataの公開
・OutSystemsのAPIとして登録
・更新処理の実装

ODataの公開

方法1 API Managementの利用

こちらの過去記事を参考にODataをAPI化します
Integration Builderは使用してもいいですが、今回は使わずRestApiとして実装しようと思います

方法2 CAPアプリの作成

こちらの2つのチュートリアルを参考にS/4HANAのデータをOData化として公開するCAPアプリをBTP上で開発します
この2つのチュートリアルだけでは足りない部分もあると思いますが、気が向いたら更新します

2つの方法の比較

コスト サービス利用料

CAPアプリのほうが安くなります
API Management(IntegrationSuite)はBTPサービスの中でも高額な利用料が発生します
CAPアプリはCF環境やBASの利用くらいでIntegrationSuiteに比べると少額です(月々数千円と数十万くらいの差額)

コスト 開発コスト(工数)

API Managementのほうが安くなります
CAPはフレームワークですべての処理をコーディングする訳では無いとは言えIT知識も必要になります
基幹システムのデータをAPI化として公開する以上それなりのセキュリティ設定も必要になります

管理

API Managementのほうがよいです
資産としての管理はもちろん、APIの利用状況もモニター画面で確認できます

OutSystemsのAPIとして登録

GET METHODの追加

OutSystemsのServiceStudioの画面から
Logic>Integration>RESTと辿っていきSingleAPIを追加します

こんな感じでGET METHODを追加

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3133373938372f61653636616563362d303538342d663132312d663264652d3139323835356338626461652e706e67.png

On Response処理の追加

On ResponseからAPIが実行後に動く処理を実装

image.png

自動でResponseの当てはめ処理が実装されますが、今回はこれだけでOK
更新処理でGETでResponse Headerで返ってくるSet-Cookieが明示的にこの処理をいれないと出てこない場合があるための対応です

image.png

POST METHODの追加

POST処理はこんな項目をRequest Headerに設定
if-matchはODataの種別的に要らなければ不要

image.png

更新処理の実装

更新処理はこんな感じでPOSTの前のGET処理を実行する
GET処理は特に特別なことはなく認証情報など必要に応じて処理を実行
image.png

image.png

x-csrf-tokenとCookie

前のGET処理でResponseHeaderで帰ってきた値を設定
この2つはS/4HANAのセキュリティの問題で必要な設定です
S/4HANAの設定を変更することでなしにすることも可能ですがセキュリティの問題が発生するため非推奨です

If-match

こちらのブログを参考に設定
PoCなどであれば画像みたいに*でも可

参考

API Managementで更新処理を実装する場合

以下のブログを参考にAPI Managementを設定することでOutsystemsで実装したx-csrf-tokenとCookieの部分を解除することができます
しかし認証機能そのものが無くなってしまうため別途OAuth2.0認証などを追加してそれをOutsystems側で解除するなどセキュリティを担保することが必要です

HANA Cloud DBをOData化してAPI Managementに登録する

過去の類似記事

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?