はじめに
決済情報の連携バッチ実行後、エラー表示なく一部レコードのステータスが更新されないのは、「取引先コード」が空のデータに起因する「巻き込み事故」(便宜上)が原因かもしれません。本記事ではその調査・対処法を解説いたします。
1. 発生する事象
以下のすべてに当てはまる場合、本記事の対象です。
● 一部の「決済情報」レコードの「操作ステータス」項目が、"未連携・更新情報未連携"のまま更新されない。
● 「決済情報」レコードの「最終更新日」項目はバッチ実行時刻で更新されている。
● Apexバッチ「請求先部署・決済情報登録バッチ(CLP_BIAndPaymentBulkUpsertScheduleClass)」は
正常に実行されている。
● Apexジョブに目立ったエラー記録がない。
2. 原因と事象発生後の状況
●なぜ「巻き込み事故」が起きるのか
1. 決済情報の連携は、複数のレコードをまとめて一つのバッチ(かたまり)で処理されます。
(1バッチ最大200件)
2. このバッチ内に、親の「取引先コード」が空のレコードが1件でも含まれていると、
そのレコードはエラーとなります。
3. バッチ処理の仕様上、1件でもエラー結果を正しくレコードに書き込めない場合、
同じバッチで処理された他の正常なレコードへの結果書き込みも、すべて停止いたします。
※根本原因に関するヘルプ記事
【請求管理ロボ for Salesforce】1102 / エラー101: 「取引先コードは必須です」の原因と対処法
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
【具体例】
例えば1,000件(5バッチ)の処理対象に、不正なレコードが1件だけ混ざっていた場合、
そのレコードが含まれる1つのバッチ(200件)はステータス更新されずに終了しますが、
問題のない他の4つのバッチ(800件)は正常に更新されます。
●事象発生後のデータ状況
この事象が発生した際、データは以下の状態になっています。
・ 請求管理ロボ: 不正な1件を除く、正常なデータ(例の999件)は登録・更新が完了しています。
・ Salesforce : 巻き込まれた正常データ(例の199件)は、ロボ側に登録済みにも関わらず、
ステータスが古いままになっています。
3. 対処法:2つのステップ
Step 1:原因レコードを特定し、修正する
1. 調査対象の特定: レポート機能等で、以下の条件に合う「決済情報」をリストアップいたします。
・ 最終更新日 が、問題のバッチ実行日時になっている
・ 操作ステータス が、更新されていない(「連携成功」などになっていない)
2. 原因の発見 : 1で特定したレコードの親「取引先」を順に確認し、「取引先コード」が空欄に
なっているものを探します。
3. 原因の修正 : 見つけた「取引先」レコードに、一意の取引先コードを入力し保存いたします。
【ご依頼ください】 この作業は、貴社のSalesforceのシステム管理者様にご依頼ください。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Step 2:「巻き込まれた」正常なレコードを手動で更新する
1. 対象の特定: Step 1のリストのうち、親の「取引先コード」に問題がなかったものが
「巻き込まれた」レコードです。
2. 手動更新 : 対象の「決済情報」レコードを編集し、以下の3項目を正しい状態に更新いたします。
・ 操作ステータス: 連携成功
・ 連携済み : True(チェックあり)
・ 情報同期フラグ: 同期中
【ご依頼ください】 この作業も、貴社のSalesforceのシステム管理者様に実施いただくことを推奨いたします。
4. まとめと恒久対策
● 原因 : 1件の「取引先コード」空欄データが、同じバッチ(最大200件)の全レコードの
ステータス更新を停止させます。
● 対処法 : ①原因レコードのコードを修正し、②巻き込まれたレコードのステータスを手動で更新いたします。
● 恒久対策: 再発防止のため、以下のヘルプを参考に「取引先コード」が自動で設定される仕組みを
導入してください。
● 参考:
【請求管理ロボ for Salesforce】1102 / エラー101: 「取引先コードは必須です」の原因と対処法