Cloud Integrationの概要
フローを作成することで連携を実現するプロセス連携サービス
データ連携やWorkflow連携は別サービスであるので使い分けが必要
ネットやSAPのコミュニティブログで検索する際は HCI(SAP HANA CLOUD INTEGRATION) や CPI(SAP CLOUD PLATFORM INTEGRATION) で検索すると古い情報が出てくる(旧名称)
HCIは古すぎてさすがに参考にならないかもしれないが知っておくと便利
チュートリアル
ベストプラクティス
命名規約などの開発ルールの参考
実装における参考資料
実装はODataでS/4HANAからデータ取得するフローを作ろう! とかやるとユースケースが多すぎるので参考にしたブログなどを紹介します
詰まりそうなポイントは文字でフォロー入れます
共通:Configured Valueの設定
設定によって変えたい値や何度も使う値をConfigured Valueとして設定する
例えば接続情報や起動タイミングなど
コネクタ・連携方式別
OData
認証がBasicの場合などはモニター画面から接続情報(IDとパスワード)を任意の名前つけて作ってそれを指定してください
SAP ODataの既知の制限など
V4とV2それぞれあります
IDoc
IDocは非同期通信のためOutbound(S/4HANA→BTP)とInbound(BTP→S/4HANA)の設定方法がそれぞれ異なります
上記のOutbound、Inbound逆じゃね?って感じる方もいるかも知れないですが、SAPの世界では主体はS/4HANAです
通信方式も異なり、OutboundはSOUP APIとしてBTPのエンドポイントを呼び出してもらいますが、InboundではCloudConnector経由でデータを送ります
Outbound
Inbound
IDocのデータのダウンロード方法
RFC
RFCの接続情報(IDとパスワード)はBTPのコクピット画面のCloudコネクターのところで指定
場所を統一してほしい(^o^)
SFTP・FTP
SFTPとFTPの設定の方法はほぼ一緒でSSH接続用のHOSTファイルの設定の有無のみの認識です
JDBC
HANA DBとPostgreSQL以外は外部サイトからJDBCドライバーをダウンロードしてモニター画面からアップロードする必要があります
BTP上のJavaのバージョンが8だからかOracleは8関連のJDBCが必要になります
DB2は最新で動きました
SQL Server
Oracle
JDBC その他
JDBCで実行するSQLは普通のSQLとSQLをXML形式に変換したものがサポートされています
詳しくは下記を参考ください
SQLで使えるものも違いあります
3047564 - What to check for in CPI JDBC connectivity with Oracle DB when an error occurs
3073748 - FAQ: JDBC adapter in SAP Cloud Integration
3140854 - Unable to upload ORACLE jdbc driver due 'jdbc driver null' error
Open Connector
SnowflakeをOpen Connectorに登録してCloudIntegrationから呼び出す
なぜかAdapterの認証欄に認証情報入れてもうまくいかずヘッダーに変数を作って登録したらうまくいった
変換処理・マッピング
XSLT
マッピング処理
マッピングファイル(.mmap)内で処理の作成方法
Simple expression
Cloud Integration内で使える関数みたいなもの
時間を現在日時を取得したり出来る
これよりも複雑な処理をしたい場合はGroovy、JSなどをサポートしてるのでそちらで対応
外部jarの活用など
Groovy(Javaのスクリプト言語みたいなもの)ではjarファイルをインポートすることが出来ます
あまり推奨された方法ではないと思いますが、Resourcesタブにファイルをアップロードすることで使用可能です
このブログ書いてる時点ではJavaのバージョンは8です
参考:XMLからスキーマーファイルの作成
マッピングなどで登録するにはXMLのスキーマーファイル(XMLの型情報みたいなもの)を登録する必要があります
下記のサイトにXMLデータを流すとスキーマーファイルを作成してくれます
参考:移送関連
Cloud Integrationで作成したフローを別のサブアカウントへ移動する方法はないかと思って探した結果出てきたブログ
試してないのでわからない