UnlockResult クラス
名前空間
使用方法
System.Approval.unlock() メソッドは Approval.UnlockResult オブジェクトを返します。UnlockResult 配列の各要素は、unlock メソッドへのパラメータとして渡された ID または sObject 配列の要素に対応します。UnlockResult 配列の最初の要素は ID または sObject 配列の最初の要素に対応し、2 つ目の要素は 2 つ目の要素、というように対応します。ID または sObject が 1 つのみ渡された場合、UnlockResult 配列には 1 つの要素が含まれます。
例
次の例は、返された Approval.UnlockResult オブジェクトを取得して反復処理する方法を示します。Approval.unlock の 2 番目のパラメータに false を指定して使用し、一部のクエリ済み取引先をロックして、失敗時にレコードの部分的な処理を行えるようにしています。次に、結果を反復処理して、レコードごとに操作が成功したかどうかを判別します。正常に処理された場合はそのレコードの ID、失敗した場合はそのレコードのエラーメッセージと失敗した項目をデバッグログに書き込みます。
1// Query the accounts to unlock
2Account[] accts = [SELECT Id from Account WHERE Name LIKE 'Acme%'];
3// Unlock the accounts
4Approval.UnlockResult[] urList = Approval.unlock(accts, false);
5
6// Iterate through each returned result
7for(Approval.UnlockResult ur : urList) {
8 if (ur.isSuccess()) {
9 // Operation was successful, so get the ID of the record that was processed
10 System.debug('Successfully unlocked account with ID: ' + ur.getId());
11 }
12 else {
13 // Operation failed, so get all errors
14 for(Database.Error err : ur.getErrors()) {
15 System.debug('The following error has occurred.');
16 System.debug(err.getStatusCode() + ': ' + err.getMessage());
17 System.debug('Account fields that affected this error: ' + err.getFields());
18 }
19 }
20}UnlockResult メソッド
UnlockResult のメソッドは次のとおりです。