Content Modifierを使ってノーコードでSAP iFlowのデータ変換とテストを簡単に実行する方法

# はじめに
こんにちは。今日は、SAP Cloud Platform Integration (CPI) を使って iFlow で Content Modifier を利用した定数や関数の作成、シミュレーション実行について初心者向けにわかりやすく解説します。これを学べば、iFlowでのメッセージ操作の基本が理解できるようになります。ノーコードでメッセージ操作ができるので、複雑なロジックを手軽に組み込むことができ、エラーのリスクも減ります。

# SAP Integration Suiteとは
>SAP Integration Suite は、オンプレミスおよびクラウドベースのアプリケーションやプロセスを、SAP が管理するツールや事前構築済みコンテンツと、シームレスに統合するための iPaaS (Integration Platform as a Service) です。
引用元：https://www.sap.com/japan/products/integration-suite.html


# Content Modifierとは
iFlowの「[Content Modifier](https://help.sap.com/docs/cloud-integration/sap-cloud-integration/define-content-modifier)」は、メッセージのヘッダーやボディ、プロパティを編集するためのコンポーネントです。これを使うことで、メッセージ内のデータを加工したり、定数や変数を設定して後続の処理に渡すことができます。
例えば、次のようなシナリオでContent Modifierを活用できます：
1. 変数の設定: メッセージのヘッダーやプロパティに変数を設定し、後続の処理にその情報を渡す
1. 定数の設定: API呼び出し時に特定の定数情報をメッセージに埋め込む
1. メッセージボディの加工: 受け取ったデータを変換し、異なるシステムに渡す前にその内容を加工

## ステップ 1: 変数をContent Modifierで作成する
1. 「Edit」ボタンを押下し、左のメニューから「Content Modifier」を選択します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932251/a7a64890-6aba-de50-2ead-0575cd5bb550.png)
2. 作成したContent ModifierをiFlowの設計エリアにドラッグ＆ドロップします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932251/9edbdf02-d263-f056-7604-4e66b8fa90e5.png)

## ステップ 2: 変数を設定する
1. Content Modifierの「Exchange Property（交換プロパティ）」を選択し、画像のように変数を設定する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932251/2ad6aea5-69ac-b35c-2a54-2b8f2dc0fdd0.png)


## ステップ 3: シミュレーション実行
1. 実行したいアクティビティの前の矢印を選択し、Simulation Start Pointを選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932251/2882c9c7-a4ec-fe34-f7d0-2b474cfc77fd.png)
2. 実行したいアクティビティの後の矢印を選択し、Simulation End Pointを選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932251/a56f2dca-d457-28fc-7f29-74178296cdf7.png)
3. メニューのRun Simulationを押下します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932251/59635fea-21f1-7dfd-a1bf-878016146b04.png)
4. 画面にシミュレーション結果が出力されていることを確認する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932251/34fb5583-d127-7a2f-c627-507793af7419.png)

## ステップ 4: 結果確認
1. アクティビティの前の封筒のアイコンを選択すると、Propertiesには何もないことが確認できる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932251/6e40e4c5-d010-33a4-5f6d-c0ebf7825518.png)
2. 次にアクティビティの後の封筒のアイコンを選択すると、Propertiesに先ほど作成した変数が表示されることが分かります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932251/11c17e69-22a0-8923-7178-28dc64ad63a9.png)


## ステップ 5: 新しい関数を作成してBodyに表示する
1. ステップ 1と同様にContent Modifierを作成し、初めに作ったContent Modifierの後ろに配置する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932251/27de18bd-1398-cd7e-640f-c3939a8df6af.png)

2. Exchange Propertyに新しい変数を作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932251/6edb9009-3938-0cd6-5dc0-3fb0279bf20a.png)
3. Message Bodyに以下の画像のように作成した変数を出力するためのメッセージを追加する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932251/06c8ac6a-0867-20ad-a289-d6fa096f150b.png)

4. ステップ 3と同様にシミュレーション実行し、Propertiesには変数が2つ作成されていることが確認できる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932251/64f992e8-f51c-82a4-a846-69f394c82109.png)
5. また、Bodyを選択するとPropertiesで作成した変数が確認できます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932251/e1d23f6f-754e-78e7-7913-14c260e34ebb.png)

# おわりに
今回は、iFlowを使ってContent Modifierコンポーネントで変数を作成し、その後シミュレーションを実行して変数を表示させる手順を紹介しました。iFlowを使うことで、データの流れをフローとして簡単に管理できます。
iFlowを上手に活用すれば、複雑なシステム間連携もスムーズに実現できます。まずは基本的な使い方を覚え、さらに複雑なシナリオにも挑戦してみましょう！

iFlowの移送などに困った際は、以下を参考にしてみてください！
https://qiita.com/again_qt/items/19cfd4e67a009cb8d443