Memos About Salesforce

Salesforceにハマってたこと!

SFDC ENTITY_IS_DELETED entity is deleted

f:id:jude2016:20190818202816j:plain
悩ましい

こんにちは、管理人の@Salesforce.Zです。

エンティティは削除済みです または ENTITY_IS_DELETEDってエラーが発生したでしょう

これも簡単に対応できるエラー

今回、対策を共有したいと思います。

読んだら得ること

★ エンティティは削除済み or ENTITY_IS_DELETEDの対策

目次

コードを見直すポイントを共有します

だいたいこんなエラーはやってはいけない時に出るもん、なので

コードを確認しましょう。

処理コアロジックは存在しないデータに対して操作していないか

デバッグなどで確認しましょう

もし、存在しないデータに対して、DML操作を行ったら、コードを

書き直そう

結論1:存在しないデータに対して変更、削除しようとしたときエラーが発生

主従関係・参照関係項目の設定

新規レコードの登録・更新(Insert・Update)では

主従関係項目・参照関係項目に存在しないIDを設定していないでしょうか

結論2:主従関係、参照関係の項目に存在しないデータIDを設定して追加、変更、削除しようとしたときエラーが発生

実例

アルゴリズム概要

・取引先責任者一覧となる画面を用意する  標準画面のように「編集」・「削除」リンクがレコードごとにある

f:id:jude2016:20190820111010p:plain
編集・削除リンクイメージ

・削除リンクで削除する取引先責任者はもちろん削除、親である取引先も削除する

上記の場合、まず子である取引先責任者を削除すべき、後に親である取引先を削除する

標準オブジェクトは親の取引先を削除すると取引先責任者も自動削除されるけど。あくまで順番を言いたいだけ。そして、参照関係リレーション前提。

最後に

データを削除する時に

下記の順番で削除したら、エラーを回避

・子を削除

・親を削除

上記の逆を行うと【エンティティは削除済みです】が発生します。

いかがでしょうか