tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Database.DMLOptionsで重複判定

Spring'15で重複管理機能が追加されましたが、ApexでもDatabase.DMLOptionsを使うことで重複管理機能を利用することができます。

f:id:tyoshikawa1106:20150214123911p:plain

サンプルコード

Database.DMLOptionsのサンプル

※Gistへのリンクです。

Debug Logでの確認

f:id:tyoshikawa1106:20150214135446p:plain

重複管理の設定

一致ルール

f:id:tyoshikawa1106:20150214125003p:plain

重複ルール

f:id:tyoshikawa1106:20150214125320p:plain

Salesforce DUG Meetup#8で聞いた話

次のようにAllowSaveを指定することで重複時に保存できるかエラーにするか指定することができます。『false』にするとエラーになり、『true』にすると重複していても保存が可能になります。

dml.DuplicateRuleHeader.AllowSave = false;

f:id:tyoshikawa1106:20150214131912p:plain


Meetupで『true』にしてもエラーになるよねって話があったので試してみたのですが、『false』でも『true』でもエラーになりました。正式リリースされるときには直ってるといいですねって話でした。