[IDMC]IDMCのレプリケーション機能”CDIR”でSAPからデータを取得する勘所メモ

## はじめに
Informatica Intelligent Data Management Cloud(IDMC/旧称IICS)でのちょっとしたTipsを纏めていきます。日々の活動の中で検証した結果記録であり、忘れやすい自分のためのメモですが、少しでも皆様のお役に立てればと思い公開していきます。記述方法など試行錯誤しており随時更新するかもしれません。

## CDIRでSAPからデータを取得する(ソース)際の設定例
CDIR Cloud Data Ingestion and Replication でSAPからデータを取得する際の設定例を纏めます。SAP ODP Extractorコネクタを設定したあと、CDIR向けに更に必要な作業がありますのでこちらに纏めてみます。

### 参照情報
マニュアル：
Application Ingestion and Replication:[Guidelines for SAP ECC and SAP S4/HANA sources using the SAP ODP Extractor connector](https://docs.informatica.com/integration-cloud/data-ingestion-and-replication/current-version/application-ingestion-and-replication/application-ingestion-and-replication/supported-sources/guidelines-for-sap-ecc-and-sap-s4-hana-sources-using-the-sap-odp.html)

:::note info
SAP ODP Extractorコネクタの設定はこちらの記事に纏めておりますので事前に確認ください。
[[IDMC]SAPからデータを取得する(SAP ODP Extractorコネクタ)](https://qiita.com/asekine-infajp/items/30648e492661b0d45ca1)
:::

### SAP ODP Extractor をCDIRで利用するための事前準備！
”SAP ODP Extractor”コネクタを設定した後に、CDIRでデータを取得するためには以下の作業を行う必要があります。

#### 事前準備 前編：SecureAgentへファイル配置

##### 1)[SAP側での作業] 以下のSAPライブラリファイルを[SAPサポートポータル](https://support.sap.com/en/index.html)からダウンロードします。
SecureAgentが稼働するOSに応じて64ビットのSAP JCoライブラリの最新のバージョンをダウンロード下さい。尚、既にSAP ODP Extractorコネクタの設定時にDownloadしてSecureAgentに配置済みのファイルをコピーして利用する事でも問題ありません。

|オペレーティングシステム |SAP JCoライブラリ |
|---|---|
|Windows | sapjco3.jar および sapjco3.dll |
|Linux | sapjco3.jar および libsapjco3.so |

##### 2)[IDMC側での作業]SecureAgentの以下のディレクトリにダウンロードしたファイル2種を配置します。

```
<Secure_Agent>\ext\connectors\thirdparty\infa.odp\
```
”infa.odp” が存在しない場合は作成ください。

その後、ダウンロードした2つのファイルを配置します。

##### 3)[IDMC側での作業]SecureAgentの以下のディレクトリから”sap-adapter-common.jar”ファイルをコピーして配置

SecureAgentの以下のディレクトリから”sap-adapter-common.jar”ファイルをコピーし、上記2）の”infa.odp”ディレクトリに配置(コピー)します。
```
<Secure_Agent>\downloads\package-ICSAgent_<バージョン>\package\ICS\main\bin\rdtm\javalib\sap
```
結果として"infa.odp"配下に以下のように3つのSAP関連のファイルが配置されます。自分の環境では以下のようになりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2985453/92a409f3-c7f0-5195-8452-8dc20f37e8fd.png)

ここまでファイルを配置作業を実施したらSecureAgentを再起動しておきます。
コネクタの設定は以上までとなります。

他、SAP側で抽出するための設定などを実施する事も必要となります。

:::note info
SAP ソースに対してアプリケーション取り込みとレプリケーションタスクを設定する前に、データの転送元のデータソースを必ず解放してください。次の関数を使用して、必要なデータソースを解放することができます。
-BS_ANLY_DS_RELEASE_ODP
-RODPS_OS_EXPOSE
:::


#### 事前準備 後編：SAPシステムへトランスポートファイルのインストール
:::note warn
階層をサポートするSAP ODPオブジェクトから読み取る場合にのみ、トランスポートをインストールする必要があります。
※階層をサポートしないオブジェクトについては、SAP ODP ExtractorトランスポートファイルをインストールせずにSAP ODP Extractorコネクタを使用できますので、以下の作業は不要です。
:::

##### 4)[IDMC側での作業]SecureAgentの以下のディレクトリからトランスポートファイルを取得
Secure Agentマシンの次のディレクトリに、トランスポートファイルがありますので、これをコピー取得します。
```
<Informatica Secure Agent installation directory>\downloads\package-SAPODP.<Latest version>\package\sapodp\sap-transport
```
手元のSecureAgentにはこのような2つのファイルが存在しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2985453/dd8e6e95-b2a5-31ee-2e11-1a77f409ea8a.png)
これをSAPサーバにインストールします。

##### 5)[SAP側での作業]SAPマシンにトランスポートファイルをコピー配置

- ここからはSAP側に設定する作業となります。尚、自由に触れるSAPのマシンがなく、以下はスクリーンショットが取れない為文字/マニュアルの記載だけの説明となります。。

###### 5-1)
アクセスする各SAPマシンのSAPトランスポート管理ディレクトリにあるCofileディレクトリに、cofileトランスポートファイルをコピーします。
cofileトランスポートファイルでは、次の命名規則を使用します。
```
<number>.<sap system>
```
###### 5-2)
アクセスする各SAPマシンのSAPトランスポート管理ディレクトリにあるDataディレクトリにデータトランスポートファイルをコピーします。
データトランスポートファイルでは、次の命名規則を使用します。
```
<number>.<sap-system>
```
##### 6)[SAP側での作業]SAPマシンにトランスポートファイルをインポート
STMSでトランスポートをSAPにインポートするには、［補足］ > ［その他の依頼］ > ［追加］をクリックし、トランスポート要求をシステムキューに追加します。
［インポートキューに移送依頼追加］ダイアログボックスに、cofileトランスポートの要求番号を入力します。
要求番号は、名前を変更したcofileを次のような順序に置き替えたものです。
```
<sap-system><number>
```
インポートキューの要求領域で、追加したトランスポート要求番号を選択して、［インポート］をクリックします。
Informatica Transportsの以前のバージョンからアップグレードする場合、［オリジナルを上書き］オプションを選択します。

ここまで設定しておけばCDIRでSAPからデータの抽出が可能です。
例：
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2985453/9fcb10b5-2e27-d2df-3438-7470e01d3085.png)


以上、何かのお役に立てば幸いです。