Q. タグ項目のリカバリ手順はどうしたらいいですか?(バージョン1.19.4未満をご利用中の方のみ)
A. 弊社提供のSalesforce AppExchange「Sansan_CI」のバージョン1.19.4未満において、名刺の一括関連づけ、または自動関連づけ処理をご利用の場合に、名刺についているタグを取引先責任者/リードへマージできていない事象が発生していました。
本ヘルプページでは、取引先責任者/リードオブジェクトのタグの項目値を適切にマージした状態にするためのリカバリ手順をご案内します。本事象の対象であるお客様には弊社より個別にご連絡をしております。ご連絡の無いお客様は対応不要です。
実施の流れ
- データ補正を行うパッケージ (以下「リカバリパッケージ」)をインストールします
- お客様にてパッケージの実行をスケジュールします
- リカバリ完了後にパッケージを削除します
リカバリパッケージの概要
タグを項目として持つオブジェクト(取引先責任者/リード)について、実行を指示したユーザがアクセスできる全てのレコード の空更新を実施します。空更新をすることで、関連づく名刺より適正なタグ値が再計算され、取引先責任者・リードのタグ項目に保存されます。
リカバリーパッケージを利用する場合の制限
本パッケージを利用する場合は、以下の制限がございます。
- タグ値を修正したレコードの抽出、修正した結果のレポート作成をすることはできません。
- 実行したユーザがアクセスできる全ての取引先責任者/リード レコードが更新対象となるため、対象の全てのレコードについて、本バッチを実行したユーザ・日時で、各レコードの最終更新者・更新日の項目が更新されます。
- 空更新の実施に伴い、お客様にてカスタマイズした自動処理プロセス(トリガやワークフロールール等)が動作することがございます。
- 特にSalesforceのベストプラクティスに敢えて背いて、データの大量更新に耐えられないカスタマイズ処理を実装されている場合に、一部のレコードについて更新が失敗することがあります。
- 更新がエラーとなったレコードをレポートすることはできません。
- 限定的なエラーメッセージのみ、Salesforce上の設定画面から表示できます。詳細は下記をご確認ください。
- エラーとなったレコードに限定して、リカバリを再実行することはできません。
お客様の運用にて制限が受け入れられないと判断される場合、データローダ等を用いてレコードに空更新をかけてください。※ データローダーを用いる場合の手順はこちらをご確認ください。
リカバリパッケージを利用した手順
1. リカバリパッケージのインストール
下記URLよりリカバリパッケージをインストールしてください。
実施の前提条件
- Sansan_CIパッケージを修正した版(1.19.4以降)にアップグレード済みであること
※パッケージのバージョン確認方法はこちらです。
※1.19.4以下のバージョンをご利用の場合は、こちらから最新バージョンのパッケージをインストールしてください。
※別途ご案内しているカスタム項目削除の対応が未実施の場合は、先にカスタム項目削除の対応をお願いします。AppExchangeパッケージのアップグレードは1.25を経由してから1.26へアップグレードしてください。 - Salesforceのシステム管理者相当のユーザにて実行すること
- 実行するユーザは、リカバリ対象のレコードに全てアクセス可能であること
2. リカバリ処理の実行をスケジュール
以下の 2つのリカバリ処理の実施スケジュールを登録します。
- リードの全件更新を行うApexクラス:Schedule_UpdateAllLead
- 取引先責任者の全件更新を行うApexクラス:Schedule_UpdateAllContact
なお、リードをご利用出ない場合は、いずれか片方のみの実施でも問題ありません。例えば、「リード、あるいはリードのタグは使用しておらずリカバリが不要」の場合、取引先責任者の全件更新を行うApexクラスのスケジュール(Schedule_UpdateAllContact)のみを登録してください。
Salesforce の設定画面より「Apexクラス」を開きます。
「Apex をスケジュール」を押下し、スケジュール画面に移動します。
以下を入力し、保存を押下します。
- ジョブ名: 任意
- Apex クラス: 前述のApexクラス
- Apexの実行をスケジュール:任意
スケジュール設定の確認
Salesforceの設定画面より「全てのスケジュール済みジョブ」を開きます。
「次の実行スケジュール」が希望の日時になっていることを確認してください。
変更する場合は「Manage」のリンクから変更してください。
実行結果の確認
登録したジョブが完了した際に、スケジュールを設定したSalesforceユーザにメールで処理結果を通知します。なお、本メールの送信元メールアドレスは、スケジュールを登録したSalesforceユーザのメールアドレスになります。送信メールの内容は下記の通りです。
処理成功時に送信するメール
## タイトル
[SansanTagUpdate] 取引先責任者の更新が完了しました
## 本文
取引先責任者の更新が完了しました。
一部更新失敗時に送信するメール
## タイトル
[SansanTagUpdate] リードの更新に一部失敗しました
## 本文
リードの更新に一部失敗しました。
対象オブジェクト:リード
失敗した件数:21件
更新に失敗したレコードID:
0032w000002vIyDAAU, <エラーメッセージ>
0032w000002vIyDAAU, <エラーメッセージ>
更新失敗時に送信するメールにはエラー全体から最大10件のエラーをサンプルしています。他のエラーをご確認いただく場合は、記載のエラー解消後に再度バッチ実行をお試しいただくか、データローダでの更新手順より全てのレコードのエラーメッセージをご確認ください。
リカバリが完了しましたら、「全てのスケジュール済みジョブ」より、不要となった本スケジュールを削除してください。
3. リカバリパッケージのアンインストール
リカバリが完了し、本パッケージが不要となりましたら、アンインストールを行ってください。
Salesforceの設定画面より、「インストール済みパッケージ」を開きます。
パッケージ名が「SansanTagUpdate」のパッケージについて「アンインストール」を押下します。
「はい。このパッケージをアンインストールして、すべての関連コンポーネントを永久に削除します」にチェックし、アンインストールを押下してください。
以上で、リカバリパッケージを用いたリカバリは完了です。
データローダを用いたリカバリ手順
リカバリパッケージを用いず、Salesforceのアプリケーションである データローダを用いてレコードを更新することで、タグの値を正常な状態に復旧させます。こちらの手段はデータローダに習熟していることが前提となりますが、以下の点でリカバリパッケージを使用するよりも利便性が高い点がございます。
- タグ値が誤っていたレコードを検出できる
- リカバリ前後のタグ値を取得することで、どのレコードが誤った値をもっているか遡及できる
- 更新時にエラーが発生した際の対応が簡易である
- 更新にあたりエラーが発生したすべてのレコードにつき、エラーメッセージを確認できる
- エラーとなったレコードだけを更新することができる
参考として取引先責任者のタグ値のリカバリの例を記載します。リードに対して実施する場合は、「取引先責任者(Contact)」を「リード(Lead)」に読み替えて実施ください。
データローダのセットアップとログイン
Salesforceのデータローダのヘルプページ に従い、データローダをインストールします。
レコードIDとタグ値の取得
取引先責任者(Contact)オブジェクト をExportします。
Exportする項目として、Id, Sansan_CI__Tags__c を選択し、Exportを実行します。
レコードの更新
先にExportしたCSVファイルを用いて、取引先責任者(Contact)オブジェクト のUpdateを行います。
ExportしたCSVを更新ファイルとして選択します。
更新項目のマッピングにはIdを選択します。
出力されるエラーログを確認し、エラー原因を解消後に対象のレコードを同様の手順で更新します。
更新結果の取得
「レコードIDとタグ値の取得」と同一の手順でExportを行い、更新結果を確認してください。
お探しの情報が見つからない場合は以下よりお問い合わせください。