S.B.S. Salesforce技術ブログ

教えて921さん!

CLIqでデータローダバッチを作成!②

※Cliqはdataloaderバージョン42以前でないと起動しないようなのでご参考までに。。。
→→暗号化の手順が変わったから?????
こんにちは!KMです。

今回は、↓の続きです。 sbs-sfdc.hatenablog.com

実際に、CLIqを使って取引先をインサートするデータローダバッチを作成したいと思います!

CLIqで必要なファイル群の作成

cliq.batというファイルを開くと次のようなウィンドウが表示されます。
Select Operationで行いたい処理を選択し、
Enter Process Nameに処理のファイル名を入力します。
今回は、処理をinsert、ファイル名をsample_Account_insertにします。

Nextボタンで次に進みましょう。
ここではユーザID、パスワードを入力してSalesforceにログインします。
ログインに成功するとResultに「Login Successful.」と表示されます。

次の画面では対象のオブジェクトを選択します。
オブジェクトのAPI名を入力し、Verifyボタンを押して
Resultに「Configuration is valid」と表示されれば成功です。

CLIqでの最後のステップです。
summaryの内容を確認して、問題がなければ
Create Data Loader CLI Filesボタンでファイルを作成します。

Resultに「Files created successfully! Your files are in: C:\DataLoader\cliq_process\バッチファイル名」
というメッセージが表示されれば成功です!

cliq_processというファルダの中に作成したバッチ処理のフォルダができました!
あとは、紐付けファイルと取り込み元のCSVファイルを設定すればバッチ処理を実行できます。

取り込み元のCSVファイルの準備

今回は以下のようなデータ(ファイル名:サンプル取引先.CSV)を取り込みます。


このCSVファイルをバッチファイル内のreadフォルダ内に格納し、
configファルダ内のprocess-conf.xmlというファイルを開きます。

↑で赤く囲った箇所のバッチファイル名.csvを取り込み元のCSVファイル名に書き換えます。
※readファルダの中にデフォルトで用意されているCSVファイルに
 取り込み元のCSVファイルの内容をコピー&ペーストしてxmlファイル内を書き換えないという方法もありです。

紐付けファイルの準備

紐付けファイルは「.sdl」を拡張子に指定したファイルを使います。

↑のような感じです。
等号の左側にCSVファイルの列名、右側にオブジェクトの項目API参照名を書きます。 自力でエディターを使って作るのも良いですが、

↑のようにデータローダで項目の対応付けをして、
Save MappingボタンでSDLファイルを作成するのが楽だと思います。

作成したSDLファイルをconfigフォルダに移動させ、
取り込み元のファイルと同様にファイル名を書き換えます。


そして、バッチファイル内のバッチファイル名.batを実行!


結果↓

無事成功しました!

注意点

バッチファイルを実行する前に、xmlファイルで読み込める文字コードを確認しておくといいです。
↓で囲まれている箇所がtrueだと、UTF-8でしか読み込み、出力できなくなってしまいます。


ちなみに、エクセルでCSVファイルを取り扱うと文字コードはShift-JISになるそうです。
(↓CSVファイルを秀丸エディタ等で開くと確認できます。)



まとめ

CLIqを使ったバッチファイルを作成してみました。
ファイルの格納先や文字コードの配慮を忘れなければ、
初めてでもすぐに作成できると思います。

Windowsであれば、タスクスケジューラーと組み合わせれば、
ほぼ自動で処理を実行できるので試してみてください!