Salesforceでデータローダバッチを使用して外部データを自動連携する
IT・技術関連
更新日:2024.09.05


データローダバッチとは?
Salesforceを運用する際、基幹システムのデータを使いたいというシーンは多くあります。
顧客マスタ、売上(販売)データ、商品マスタ、在庫データなどは基幹システムに入っていることが多く、これを最初からSalesforceで入力して管理をしようとするのはかなり無謀です。
販売管理、在庫管理、会計システムなどはそれ専用に特化して作られたシステムであるということ、すでに使い慣れたシステムとなっていることから、特にSalesforce導入の初期段階では「データだけ」を連携するという方法を取られることが多くなります。
もちろん、「データだけ」であってもそれをリアルタイムに同期したいということになるとAPIを介したリアルタイムのデータ同期が必要となるのですが、これをやるにはかなりの開発コストがかかります。
従って、1日~1週間に1回だけ動くバッチプログラムでデータを半自動的に取り込むことになります。
データローダとは?
その前にそもそも「データローダ」とは?という話が必要ですので解説します。 データローダとは、Salesforce社が公式で用意しているデータのインポート&エクスポートのためのツールです。 これを使用することで、Salesforceのデータを入出力できるようになります。 手動でSalesforceに取り込む、ということであればデータローダを使わなくても、Salesforceの機能として用意してあるデータインポートウィザードを使用すれば多くのオブジェクトはインポートが可能です。 しかし、自動でインポートを行う場合はデータローダを使って、正確には自動的にデータローダを動かしてデータをインポートする必要があります。データローダをバッチで動かす方法
データローダはWindowsではコマンドラインで動かすことが可能です。 通常はGUI画面で動かすのですが、その際も裏ではコマンドラインで動いているのがわかります。 このデータローダをコマンドラインからバッチモードで動かすことで、GUIの画面を介さずにデータローダを動かすことができます。 実際はセキュリティトークンを取得して使うなど、動かすためにそれなりの手続きはありますが、手順通りの設定ができればデータローダを動かすことができます。 運用する手順としては、まずインポートしたいデータファイルを所定のフォルダに入れていただき、Windowsのタスクスケジューラ機能で起動するように設定すると自動的に実行されます。 インポート用のファイルを1日の終わりの作業として所定のフォルダに格納する作業を20時に行うとして、起動時間を毎日23時にしておけば日付が変わるまでに外部データを連携できることになります。最も大事なのはマッピングファイル
ここまでの流れは、データローダに処理をさせるCSVファイルを所定のフォルダ内に置いておけば、Windowsのスケジューラー機能で自動実行するだけなのでさほど難しくはありません。 ここで難しいのはマッピング作業となります。 マッピング作業とは読み込むCSVファイルの列に対して、Salesforceのどの項目を当てるのかを指定する作業のことです。 Salesforceの項目のAPI名が英語なので、その英語で表記された項目に、読み込むファイルのどの列を関連付けるのかを設定し、そのマッピング情報を設定ファイルとして保存しておく必要があります。 データローダバッチはただファイルを読み込んで処理するだけではなく、マッピングをしたSDLファイル(拡張子:*.sdl)に基づいてインポート処理をしています。SDLファイルの作り方
上記で出てきたマッピングファイル(SDLファイル)は、データローダのGUIモードで作ることができます。 CSVファイルを読み込んで、データローダでインポートしようとすると、マッピングを手動で設定するか、SDLファイルを読み込むかを選択させられます。 このマッピングを手動で設定して、SDLファイルとして書き出すことができれば、データローダをバッチモードで動作させる時にこのSDLファイルを使うことが可能となります。データを読み込む際には順番にも注意する
データローダバッチを起動するにあたって、最後に注意をしたい点はファイルを読み込む際の「順番」です。 これがマスタデータをインポートするという場合は順番は問題がないのですが、トランザクションデータを入れる場合は、先にマスタデータをインポートしてから、外部IDを使用してトランザクションデータをインポートする必要があります。 若干難しく感じるかも知れませんが、取引先責任者や商談をインポートしようとする際は、先にリレーションする親の取引先のデータを入れてからにしましょうということです。 この順番を間違えると、取引先のない取引先責任者や商談をインポートさせようとするため、エラーが発生します。 従って、先にインポートするのは取引先で、その取引先には外部IDを入れておきましょう。 取引先責任者や商談は外部IDとして参照させる項目を持っておいて、それを取引先の外部IDとして参照させながらインポートを行います。データローダバッチを実現する他の方法

Java等のプログラム実行が良い点
基本的にはJavaプログラムのようなものは作らなくても、上記でご案内した方法を取れば自動的にインポートを実施する仕組みは設定できます。 しかし、Javaプログラムを使用することで、細かな処理を入れることができます。 たとえば基幹システムのデータに都道府県がコードでしか入っていない場合、それを都道府県に変換してSalesforceに入れるというのは、Salesforceだけでやろうとすると大変な作業になります。 また、項目のフォーマット変換を行ったり、特定条件のレコードをインポートから除外したりするようなことはプログラムに処理や判定ロジックを入れないと実行できません。 そのような場合にはJava等でプログラムを組む方が応用性があります。 また複数のCSVファイルを読み込む際も、どのファイルを先に読んで、次にこのファイルを読むといったようなこともプログラムで処理をしますので、自由度も高いです。プログラムの動き方は同じ
Windowsのスケジューラーでデータローダバッチを使用するのも、Javaプログラムなどを通じてデータローダバッチを使用するのもプログラムの動き方は同じです。 ①所定のフォルダからCSVファイルを読み込む ②マッピングを行う ③データローダバッチを起動する これを行うのに、プログラムの開発を必要とするかどうかが異なる点です。シンプルにできるなら前者が良いですし、細かく色々な処理を入れたいなら後者をお勧めします。外部データ連携はデータローダバッチで

この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ
ITエンジニアの派遣を利用したい企業様へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。