function readOnly(count){ }
Don't have an account?
Search for an answer or ask a question of the zone or Customer Support.
You need to sign in to do that
Sign in to start searching questions
Signup for a Developer Edition
Sign in to start a discussion
お世話になっております。
承認プロセスにより、ロックされたレコードに対しApex Codeでレコードのロック状態を確認したいのですが、
どのように行えばよいのかご教示していただけますでしょうか?
調査不足ですが、解ったことを記載しておきます・・・
英語版Force.com Discussion Boardsで検索したところ
以下の情報が掲載されていました!
②承認プロセスの申請時のアクション、最終承認時のアクション時に、項目自動更新でチェックボックスをオンにする
③承認プロセスの最終却下時のアクション、取り消しアクション時に、項目自動更新でチェックボックスをオフにする
④対象レコードの「レコードロック有無」をSOQLで取得して、チェックボックスがロックされている(true)か確認する
と、言った方法でした。
参考URL:
・How to lock the Record?
・How to retain Approval Lock Record functionality even when EDIT is overriden with a VF Page?
正直、簡単に一発でレコードロック状態が取得できるAPIもしくは、SOQLが欲しいのですが、
提供されていないんですかね・・・
引き続き
皆様の返信、お待ちしております。
無理やりですが、ロックされたレコードをupdateしようとするとDmlExceptionでENTITY_IS_LOCKEDが発生するのを利用して、こんな感じで実装してみました。
isLocked = false; SavePoint sp = DataBase.setSavepoint(); try { update targetRecord; } catch (DmlException e) { if(e.getDmlType(0) == StatusCode.ENTITY_IS_LOCKED) { isLocked = true; } } finally { DataBase.rollback(sp); }
tajima さん、pomu0325 さん
返答、ありがとうございます。
私も最終的に、pomu0325 さんの
「updateを実行し、例外をキャッチする」
で落ちついてました。
現在、問題なく稼動しています。
でもやはり、ロックを確認するメソッドが欲しいですね・・・
調査不足ですが、解ったことを記載しておきます・・・
英語版Force.com Discussion Boardsで検索したところ
以下の情報が掲載されていました!
②承認プロセスの申請時のアクション、最終承認時のアクション時に、項目自動更新でチェックボックスをオンにする
③承認プロセスの最終却下時のアクション、取り消しアクション時に、項目自動更新でチェックボックスをオフにする
④対象レコードの「レコードロック有無」をSOQLで取得して、チェックボックスがロックされている(true)か確認する
と、言った方法でした。
参考URL:
・How to lock the Record?
・How to retain Approval Lock Record functionality even when EDIT is overriden with a VF Page?
正直、簡単に一発でレコードロック状態が取得できるAPIもしくは、SOQLが欲しいのですが、
提供されていないんですかね・・・
引き続き
皆様の返信、お待ちしております。
無理やりですが、ロックされたレコードをupdateしようとするとDmlExceptionでENTITY_IS_LOCKEDが発生するのを利用して、こんな感じで実装してみました。
tajima さん、pomu0325 さん
返答、ありがとうございます。
私も最終的に、pomu0325 さんの
「updateを実行し、例外をキャッチする」
で落ちついてました。
現在、問題なく稼動しています。
でもやはり、ロックを確認するメソッドが欲しいですね・・・