この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

System クラス

デバッグメッセージの記述やジョブのスケジュールなどのシステム操作のメソッドが含まれます。

名前空間

System

System のメソッド

System のメソッドは次のとおりです。すべてのメソッドが静的です。

abortJob(jobId)

指定したジョブを停止します。停止されたジョブは、Salesforce ユーザインターフェースのジョブキューに表示されたままです。

署名

public static Void abortJob(String jobId)

パラメータ

jobId
型: String
jobId は、AsyncApexJob または CronTrigger のいずれかに関連付けられた ID です。

戻り値

型: Void

使用方法

次のメソッドは、abortJob に渡すことができるジョブ ID を返します。

assert(condition, msg)

指定された条件が true であることを確認します。true ではない場合、致命的なエラーが返され、コードの実行が停止します。

署名

public static Void assert(Boolean condition, Object msg)

パラメータ

condition
型: Boolean
msg
型: Object
(省略可能) エラーメッセージの一部として返されるカスタムメッセージ。

戻り値

型: Void

使用方法

アサーションの失敗は、例外としてログに記録されていても、try/catch ブロックを使用して捕捉することはできません。

assertEquals(expected, actual, msg)

最初の 2 つの引数が同じであることを確認します。同じではない場合、致命的なエラーが返され、コードの実行が停止します。

署名

public static Void assertEquals(Object expected, Object actual, Object msg)

パラメータ

expected
型: Object
期待値を指定します。
actual
型: Object
実際の値を指定します。
msg
型: Object
(省略可能) エラーメッセージの一部として返されるカスタムメッセージ。

戻り値

型: Void

使用方法

アサーションの失敗は、例外としてログに記録されていても、try/catch ブロックを使用して捕捉することはできません。

assertNotEquals(expected, actual, msg)

最初の 2 つの引数が異なることを確認します。同じ場合、致命的なエラーが返され、コードの実行が停止します。

署名

public static Void assertNotEquals(Object expected, Object actual, Object msg)

パラメータ

expected
型: Object
期待値を指定します。
actual
型: Object
実際の値を指定します。
msg
型: Object
(省略可能) エラーメッセージの一部として返されるカスタムメッセージ。

戻り値

型: Void

使用方法

アサーションの失敗は、例外としてログに記録されていても、try/catch ブロックを使用して捕捉することはできません。

currentPageReference()

現在のページへの参照を返します。Visualforce ページで使用します。

署名

public static System.PageReference currentPageReference()

戻り値

型: System.PageReference

使用方法

詳細は、「PageReference クラス」を参照してください。

currentTimeMillis()

現在の時間をミリ秒単位で返します。現在の時刻と 1970 年 1 月 1 日午前 0 時 (UTC) との差異で表されます。

署名

public static Long currentTimeMillis()

戻り値

型: Long

debug(msg)

指定されたメッセージを実行デバッグログに string 形式で書き込みます。DEBUG ログレベルが使用されます。

署名

public static Void debug(Object msg)

パラメータ

msg
型: Object

戻り値

型: Void

使用方法

msg 引数が string でない場合、debug メソッドは String.valueOf をコールして引数を string に変換します。String.valueOf メソッドは、その引数に対する toString メソッド (利用可能な場合)、または引数がユーザ定義型の場合は上書きされた toString をコールします。それ以外の、toString メソッドが利用できない場合は引数の文字列表現を返します。

Apex コードのログレベルが DEBUG 以上に設定されていると、この debug ステートメントのメッセージはデバッグログに書き込まれます。

対応付けまたはセットが印刷されると、出力はキー順に並び替えられ、角括弧 ([]) で囲まれます。配列またはリストが印刷されると、出力は丸括弧 (()) で囲まれます。

System.debug へのコールは、Apex コードカバー率の対象とはみなされません。

メモ

ログレベルについての詳細は、Salesforce オンラインヘルプの「デバッグログレベル」を参照してください。

debug(logLevel, msg)

指定されたログレベルで、指定されたメッセージを実行デバッグログに string 形式で書き込みます。

署名

public static Void debug(LoggingLevel logLevel, Object msg)

パラメータ

logLevel
型: System.LoggingLevel
このメソッドに設定するログレベルです。
msg
型: Object
実行デバッグログに string 形式で書き込むメッセージまたはオブジェクトです。

戻り値

型: Void

使用方法

msg 引数が string でない場合、debug メソッドは String.valueOf をコールして引数を string に変換します。String.valueOf メソッドは、その引数に対する toString メソッド (利用可能な場合)、または引数がユーザ定義型の場合は上書きされた toString をコールします。それ以外の、toString メソッドが利用できない場合は引数の文字列表現を返します。

System.debug へのコールは、Apex コードカバー率の対象とはみなされません。

メモ

システムの Logging Level

loggingLevel 列挙を使用して、debug メソッドのログレベルを指定します。

有効なログレベルは次のとおりです (低いものから順に並べてあります)。
  • NONE
  • ERROR
  • WARN
  • INFO
  • DEBUG
  • FINE
  • FINER
  • FINEST

ログレベルは累積です。たとえば、Apex コードに最も低いレベル ERROR が指定されている場合、ログレベルが ERROR である debug メソッドのみが記録されます。次のログレベル WARN が指定されている場合、デバッグログには ERROR または WARN として指定されている debug メソッドが含まれます。

次の例では、ログレベルが ERRORdebug メソッドのレベルが INFO であるため、文字列 MsgTxt はデバッグログには書き込まれません。

1System.LoggingLevel level = LoggingLevel.ERROR;
2
3System.debug(logginglevel.INFO, 'MsgTxt');

ログレベルについての詳細は、Salesforce オンラインヘルプの「デバッグログレベル」を参照してください。

enqueueJob(queueableObj)

指定されたキュー可能クラスに対応する Apex ジョブキューにジョブを追加し、ジョブ ID を返します。

署名

public static ID enqueueJob(Object queueableObj)

パラメータ

queueableObj
型: Object
Queueable インターフェースを実装するクラスのインスタンス。

戻り値

型: ID

AsyncApexJob レコードの ID に対応するジョブ ID。

使用方法

非同期実行のジョブを追加するには、次のように、実行に使用する Queueable インターフェースのクラス実装のインスタンスを渡して、System.enqueueJob をコールします。

1ID jobID = System.enqueueJob(new MyQueueableClass());

制限に関する情報など、Queueable Apex についての詳細は、「キュー可能 Apex」を参照してください。

equals(obj1, obj2)

両方の引数が等しい場合は true を返します。等しくない場合は false を返します。

署名

public static Boolean equals(Object obj1, Object obj2)

パラメータ

obj1
型: Object
比較されるオブジェクト。
obj2
型: Object
最初の引数と比較するオブジェクト。

戻り値

型: Boolean

使用方法

obj1obj2 は任意の種別にすることができます。これらのパラメータには、値やオブジェクト参照 (sObject、ユーザ定義型など) を指定できます。

System.equals の比較ルールは、== 演算子の比較ルールと同じです。たとえば、文字列の比較では大文字と小文字を区別しません。比較ルールについての詳細は、「== 演算子」を参照してください。

getApplicationReadWriteMode()

Salesforce.com アップグレードとダウンタイム中に、組織の参照・更新モードセットを返します。

署名

public static System.ApplicationReadWriteMode getApplicationReadWriteMode()

戻り値

型: System.ApplicationReadWriteMode

有効な値は、次のとおりです。
  • DEFAULT
  • READ_ONLY

System.ApplicationReadWriteMode 列挙の使用

Salesforce のアップグレードおよびダウンタイム中にアプリケーションが参照のみモードであるかどうかをプログラムで判断するには、getApplicationReadWriteMode によって返される System.ApplicationReadWriteMode enum を使用します。

この列挙の有効な値は、次のとおりです。
  • DEFAULT
  • READ_ONLY
例:
1public class myClass {
2  public static void execute() {
3    ApplicationReadWriteMode mode = System.getApplicationReadWriteMode();
4
5    if (mode == ApplicationReadWriteMode.READ_ONLY) {
6      // Do nothing. If DML operaton is attempted in readonly mode, 
7      // InvalidReadOnlyUserDmlException will be thrown.  
8    } else if (mode == ApplicationReadWriteMode.DEFAULT) {
9      Account account = new Account(name = 'my account');
10      insert account;
11    }
12  }
13}

getQuiddityShortCode(QuiddityValue)

現在の Request オブジェクトの Quiddity 値のショートコードを返します。

署名

public String getQuiddityShortCode(System.Quiddity QuiddityValue)

パラメータ

QuiddityValue
型: System.Quiddity
関連付けられたショートコードがある Quiddity 列挙値。このショートコードはイベント監視ログで使用されます。詳細は、「Apex 実行イベント種別」を参照してください。

戻り値

型: String

hashCode(obj)

指定されたオブジェクトのハッシュコードを返します。

署名

public static Integer hashCode(Object obj)

パラメータ

obj
型: Object
ハッシュコードを取得するオブジェクト。このパラメータは、値やオブジェクト参照 (sObject、ユーザ定義型) など任意の型にすることができます。

戻り値

型: Integer

バージョン管理動作の変更

API バージョン 51.0 以降、hashCode() メソッドは、同じ ID 値では同じ hashCode を返します。API バージョン 50.0 以前では、同じ ID 値でも、異なる hashCode 値が生成されることがありました。

isBatch()

Apex 一括処理ジョブが実行中のコードを呼び出した場合は true、呼び出していない場合は false を返します。API バージョン 35.0 以前では、キュー可能 Apex ジョブがコードを呼び出した場合も true を返します。

署名

public static Boolean isBatch()

戻り値

型: Boolean

使用方法

Apex 一括処理ジョブは future メソッドを呼び出すことはできません。future メソッドを呼び出す前に、isBatch() を使用して実行コードが Apex 一括処理ジョブであるかどうかを確認します。

isFuture()

現在実行中のコードがアノテーション future が付加されたメソッドに含まれるコードから呼び出された場合は true を返します。呼び出されていない場合は false を返します。

署名

public static Boolean isFuture()

戻り値

型: Boolean

使用方法

future メソッドは、別の future メソッドから呼び出せないため、future メソッドの呼び出し前にこのメソッドを使用して、現在のコードが future メソッドのコンテキスト内で実行されているかどうかを確認します。

isQueueable()

キュー可能 Apex ジョブが実行中のコードを呼び出した場合は true を返します。そうではない場合 (Apex 一括処理ジョブまたは future メソッドがコードを呼び出した場合を含む) は false を返します。

署名

public static Boolean isQueueable()

戻り値

型: Boolean

使用方法

1public class SimpleQueueable implements Queueable {
2
3    String name;
4
5    public SimpleQueueable(String name) {
6        this.name = name;
7        System.assert(!System.isQueueable());    //Should return false
8    }
9
10    public void execute(QueueableContext ctx) {
11        Account testAccount  = new Account();
12        testAccount.name = 'testAcc';
13        insert(testAccount);
14        System.assert(System.isQueueable());    //Should return true
15    }
16}
1global class ComplexBatch implements Database.Batchable<SObject> {
2    
3    global Database.QueryLocator start(Database.BatchableContext info) {
4        System.assert(!System.isQueueable());    //Should return false
5        return Database.getQueryLocator([SELECT Id, Name FROM Account LIMIT 1]);
6    }
7    
8    global void execute(Database.BatchableContext info, SObject[] scope) {
9        System.assert(!System.isQueueable());    //Should return false
10        System.enqueueJob(new SimpleQueueable('CallingFromComplexBatch'));
11        System.assert(!System.isQueueable());    //Should return false
12    }
13    
14    global void finish(Database.BatchableContext info) {
15        System.assert(!System.isQueueable());    //Should return false
16    }
17}

isRunningElasticCompute()

将来の使用のために予約されています。

署名

public static Boolean isRunningElasticCompute()

戻り値

型: Boolean

isScheduled()

現在実行中のコードが Apex のスケジュール済みジョブから呼び出された場合は true を返します。呼び出されていない場合は false を返します。

署名

public static Boolean isScheduled()

戻り値

型: Boolean

movePassword(targetUserId,sourceUserId)

指定したユーザのパスワードを別のユーザに移動します。

署名

public static Void movePassword(ID targetUserId, ID sourceUserId)

パラメータ

targetUserId
型: ID
パスワードの移動先のユーザ。
sourceUserId
型: ID
パスワードの移動元のユーザ。

戻り値

型: Void

使用方法

外部ユーザをアクセス権の制限が緩いユーザに変換する場合などにパスワードを移動すると、ユーザを別の種別のユーザに簡単に変換できます。movePassword メソッドにアクセスする必要がある場合は、Salesforce にお問い合わせください。

次の要件に留意してください。
  • targetUserIdsourceUserId、移動操作を実行するユーザはすべて、同じ Salesforce 組織に属している必要があります。
  • targetUserId および sourceUserId を、移動操作を実行するユーザと同じにすることはできません。
  • パスワードのないユーザを sourceUserId に指定することはできません。たとえば、パスワードがすでに移動されている移動元ユーザは、パスワードがないままです。このユーザを再び移動元ユーザにすることはできません。
パスワードを移動すると、次のようになります。
  • 移動先ユーザがパスワードを使用してログインできます。
  • 移動元ユーザにはパスワードがなくなります。このユーザのログインを有効にするには、パスワードのリセットが必要です。

now()

現在の日付と時刻を GMT タイムゾーンで返します。

署名

public static Datetime now()

戻り値

型: Datetime

process(workItemIds, action, comments, nextApprover)

作業項目 ID のリストを処理します。

署名

public static List<Id> process(List<Id> workItemIds, String action, String comments, String nextApprover)

パラメータ

workItemIds
型: List<Id>
action
型: String
comments
型: String
nextApprover
型: String

戻り値

型: List<Id>

purgeOldAsyncJobs(dt)

指定日より前に完了、中止、または失敗状況で実行を終了したジョブの非同期 Apex ジョブレコードを削除し、削除したレコード数を返します。

署名

public static Integer purgeOldAsyncJobs(Date dt)

パラメータ

dt
型: Date
どの日付以前の古いレコードを削除するのか、日付を指定します。日付の比較は、AsyncApexJob の CompletedDate 項目 (GMT タイムゾーン) に基づいて比較されます。

戻り値

型: Integer

使用方法

Apex 非同期ジョブレコードは、AsyncApexJob のレコードです。

システムは、実行を終了した、8 日以上前のジョブについて非同期ジョブレコードをクリーンアップします。このメソッドを使用し、より多くのレコードをクリーンアップすることで、AsyncApexJob のサイズをさらに小さくすることができます。

このメソッドの各実行は、DML ステートメントのガバナ制限に単一行として含まれます。

次の例では、前日以前に終了したジョブのすべてのジョブレコードを削除する方法を示します。
1Integer count = System.purgeOldAsyncJobs
2   (Date.today());
3System.debug('Deleted ' + 
4   count + ' old jobs.');

requestVersion()

パッケージのメジャーバージョン番号とマイナーバージョン番号の 2 つの番号で構成されるバージョンを返します。

署名

public static System.Version requestVersion()

戻り値

型: System.Version

使用方法

このメソッドによって、コール元のコードがパッケージを参照するときに用いる、パッケージのインストール済みインスタンスのバージョンを特定できます。コール元のコードが保持するバージョンに基づいて、パッケージコードの動作をカスタマイズできます。

未管理パッケージの場合、requestVersion メソッドはサポートされません。未管理パッケージからコールする場合、例外が発生します。

resetPassword(userId, sendUserEmail)

指定されたユーザのパスワードをリセットします。

署名

public static System.ResetPasswordResult resetPassword(ID userId, Boolean sendUserEmail)

パラメータ

userId
型: ID
sendUserEmail
型: Boolean

戻り値

型: System.ResetPasswordResult

使用方法

ユーザが新しいパスワードでログインすると、新しいパスワードを入力してセキュリティに関する質問および回答を選択するように求められます。sendUserEmailtrue を指定すると、パスワードがリセットされたことをユーザに通知するメールが送信されます。このメールには、新しいパスワードを使用して Salesforce にサインオンするためのリンクが含まれます。ユーザのログイン時に新しいパスワードの入力を求めない場合は、setPassword(userId, password) を使用します。

このメソッドを使用する場合は注意が必要です。また、この機能をエンドユーザに公開しないでください。

警告

resetPasswordWithEmailTemplate(userId, sendUserEmail, emailTemplateName)

ユーザのパスワードをリセットし、新しいパスワードを記載したメールをユーザに送信します。指定されたユーザに送信されるメールテンプレートを指定します。このメソッドは、Experience Cloud サイトの外部ユーザに使用します。

署名

public static System.ResetPasswordResult resetPasswordWithEmailTemplate(Id userId, Boolean sendUserEmail, String emailTemplateName)

パラメータ

userId
型: Id
パスワードがリセットされたユーザの ID。
sendUserEmail
型: Boolean
emailTemplateName
型: String
メールテンプレートの名前。

使用方法

sendUserEmailtrue を指定する場合、パスワードがリセットされたことをユーザに通知するメールテンプレートを指定します。メール内の新しいパスワードでユーザがログインすると、新しいパスワードを入力するように求められます。このメールには、新しいパスワードを使用して Salesforce にサインオンするためのリンクが含まれます。ユーザのログイン時に新しいパスワードの入力を求めない場合は、setPassword(userId, password) を使用します。

このメソッドを使用する場合は注意が必要です。また、この機能をエンドユーザに公開しないでください。

警告

runAs(version)

現在のパッケージバージョンを、引数で指定されたパッケージバージョンに変更します。

署名

public static Void runAs(System.Version version)

パラメータ

version
型: System.Version

戻り値

型: Void

使用方法

パッケージ開発者は、コードをアップグレードしながら、以前のパッケージバージョンのクラスおよびトリガの既存の動作を引き続きサポートするために、Version メソッドを使用できます。Apex クラスおよびトリガは、クラスまたはトリガが参照するインストール済みの各管理パッケージのバージョン設定で保存されます。

このメソッドを使用して、AppExchange にアップロードする異なるパッケージバージョンのコンポーネントの動作をテストします。このメソッドは、異なるパッケージバージョンの動作をテストできるように、テストメソッドのメジャーバージョン番号とマイナーバージョン番号の 2 つで構成されるバージョン番号を効率的に設定します。

テストメソッドでは runAs のみ使用できます。トランザクションで、このメソッドに対するコール数の制限はありません。このメソッドの使用例は、「パッケージバージョンの動作のテスト」を参照してください。

runAs(userSObject)

現在のユーザを指定されたユーザに変更します。

署名

public static Void runAs(User userSObject)

パラメータ

userSObject
型: User

戻り値

型: Void

使用方法

指定されたユーザのレコード共有のすべてが、runAs の実行時に強制されます。テストメソッドでは runAs のみ使用できます。詳細は、「runAs() メソッドの使用」を参照してください。

runAs メソッドは、ユーザライセンスの制限を無視します。組織に追加ユーザライセンスがない場合でも、runAs で新しいユーザを作成できます。

メモ

runAs メソッドは、パラメータとして渡されたユーザがインスタンス化済みでまだ挿入されていない場合は、暗黙的に挿入します。

DML 操作を runAs ブロックで囲むことで、runAs を使用して混合 DML 操作をテストで実行することもできます。この方法では、設定オブジェクトを他の sObject と一緒に挿入または更新しようとすると返される混合 DML エラーを回避できます。「DML 操作で同時に使用できない sObject」を参照してください。

runAs の各コールは、プロセスで発行される DML ステートメントの合計数に含まれます。

メモ

schedule(jobName, cronExpression, schedulableClass)

schedule インターフェースを実装する Apex クラスで Schedulable を使用して、Cron 式によって指定された時間に実行されるようにクラスをスケジュールします。

署名

public static String schedule(String jobName, String cronExpression, Object schedulableClass)

パラメータ

jobName
型: String
cronExpression
型: String
schedulableClass
型: Object

戻り値

型: String

スケジュール済みジョブ ID (CronTrigger ID) を返します。

使用方法

クラスをトリガからスケジュールする場合は、細心の注意を払ってください。制限を超えるスケジュールクラスをトリガで追加しないようにする必要があります。特に、API の一括更新、インポートウィザード、ユーザインターフェースを使用したレコードの一括変更、および複数のレコードを一度に更新するすべての処理については十分に考慮してください。abortJob メソッドを使用して、スケジュールされた後にジョブを停止します。

Salesforce は、指定された時間に実行されるようにクラスをスケジュール���定します。実際の実行は、サービスの使用可能状態に応じて遅れる場合があります。

メモ

System.Schedule メソッドの使用

Schedulable インターフェースでクラスを実装したら、System.Schedule メソッドを使用してそれを実行します。スケジューラは、システムとして実行されます。ユーザがそのクラスの実行権限を持っているかどうかにかかわらず、すべてのクラスが実行されます。

クラスをトリガからスケジュールする場合は、細心の注意を払ってください。制限を超えるスケジュールクラスをトリガで追加しないようにする必要があります。特に、API の一括更新、インポートウィザード、ユーザインターフェースを使用したレコードの一括変更、および複数のレコードを一度に更新するすべての処理については十分に考慮してください。

メモ

System.Schedule メソッドは、ジョブの名前、ジョブの実行予定日時を表すために使用する式、クラスの名前という 3 つの引数を取ります。この式の構文は次のとおりです。
1Seconds Minutes Hours Day_of_month Month Day_of_week Optional_year

Salesforce は、指定された時間に実行されるようにクラスをスケジュール設定します。実際の実行は、サービスの使用可能状態に応じて遅れる場合があります。

System.Schedule メソッドでは、すべてのスケジュールの基準としてユーザのタイムゾーンが使用されます。

メモ

式の値は次のとおりです。

名前 特殊文字
Seconds 0 ~ 59 なし
Minutes 0 ~ 59 なし
Hours 0 ~ 23 , - * /
Day_of_month 1 ~ 31 , - * ? / L W
Month 1 ~ 12、または次のとおりです。
  • JAN
  • FEB
  • MAR
  • APR
  • MAY
  • JUN
  • JUL
  • AUG
  • SEP
  • OCT
  • NOV
  • DEC
, - * /
Day_of_week 1 ~ 7、または次のとおりです。
  • SUN
  • MON
  • TUE
  • WED
  • THU
  • FRI
  • SAT
, - * ? / L #
optional_year Null または 1970 ~ 2099 , - * /
特殊文字の定義は次のとおりです。
特殊文字 説明
, 値を区切ります。たとえば、複数の月を指定する場合は JAN, MAR, APR を使用します。
- 範囲を指定します。たとえば、複数の月を指定する場合は JAN-MAR を使用します。
* すべての値を指定します。たとえば、Month* と指定すると、ジョブは毎月にスケジュールされます。
? 特定の値を指定しません。Day_of_monthDay_of_week のみで使用でき、通常は、特定の値以外を指定しない場合に使用します。
/ 増分を指定します。スラッシュの前の数値は期間の開始を指定し、スラッシュの後の数値は期間の長さを指定します。たとえば、Day_of_month1/5 と指定した場合、Apex クラスは月の 1 日から始まり、5 日おきに実行されます。
L 範囲の終了を指定します。Day_of_monthDay_of_week でのみ使用できます。で使用すると、1 月の場合は 1 月 31 日、うるう年の 2 月の場合は 2 月 29 日など、L は常に月末日を意味します。Day_of_week のみで使用すると、7 または SAT を意味します。Day_of_week の値と一緒に使用すると、その月で指定した曜日の最後を意味します。たとえば、2L と指定すると、月の最終月曜日が指定されます。L と一緒に値の範囲は使用しないでください。予期しない結果が生じる場合があります。
W 特定の日に最も近い平日 (月曜日~金曜日) を指定します。Day_of_month でのみ使用できます。たとえば、20W と指定し、20 日が土曜日の場合、クラスは 19 日に実行されます。1W と指定すると、1 日が土曜日の場合、クラスはその前の月ではなく、次の月曜日である 3 日に実行されます。

月の最後の平日を指定するには、LW を一緒に使用します。

ヒント

# weekday#day_of_month という形式で、月の第 nth 日目を指定します。Day_of_week でのみ使用できます。# の前の数値は、平日 (SUN-SAT) を指定します。# の後の数値は、月の日付を指定します。たとえば、2#1 と指定すると、クラスは毎月第 1 月曜日に実行されます。

次に、式の使用方法の例を示します。

説明
0 0 13 * * ? クラスは毎日午後 1 時に実行されます。
0 0 22 ? * 6L クラスは毎月最終金曜日の午後 10 時に実行されます。
0 0 10 ? * MON-FRI クラスは月曜日から金曜日の午前 10 時に実行されます。
0 0 20 * * ? 2010 クラスは 2010 年の毎日午後 8 時に実行されます。

次の例では、クラス proschedule によって Schedulable インターフェースが実装されます。このクラスは、2 月 13 日の午前 8 時に実行するようにスケジュールされています。

1proschedule p = new proschedule();
2        String sch = '0 0 8 13 2 ?';
3        system.schedule('One Time Pro', sch, p);

scheduleBatch(batchable, jobName, minutesFromNow)

指定された時間が経過した後に、指定されたジョブ名を使用して一括処理ジョブが 1 回実行されるようにスケジュール設定します。

署名

public static String scheduleBatch(Database.Batchable batchable, String jobName, Integer minutesFromNow)

パラメータ

batchable
型: Database.Batchable
Database.Batchable インターフェースを実装するクラスのインスタンス。
jobName
型: String
このメソッドが開始するジョブの名前。
minutesFromNow
型: Integer
ジョブを実行開始するまでの分単位の期間。この引数は 0 よりも大きい値にする必要があります。

戻り値

型: String

スケジュール済みジョブ ID (CronTrigger ID)。

使用方法

System.scheduleBatch では、次の点に留意してください。

  • System.scheduleBatch をコールすると、Salesforce により指定の時間にジョブを実行するようにスケジュールされます。実際の実行は、サービスの使用可能状態に応じて、その時間以降に行われます。
  • スケジューラは、システムとして実行されます。ユーザがそのクラスの実行権限を持っているかどうかにかかわらず、すべてのクラスが実行されます。
  • ジョブのスケジュールがトリガされると、システムは処理する一括処理ジョブをキューに入れます。組織で Apex Flex キューが有効になっている場合、Flex キューの最後に一括処理ジョブが追加されます。詳細は、「Apex Flex キュー内での一括処理ジョブの保留」を参照してください。
  • スケジュールされたすべての Apex 制限は、System.scheduleBatch を使用してスケジュールされた一括処理ジョブに適用されます。一括処理ジョブが (Holding または Queued 状況で) キューに入れられると、すべての一括処理ジョブ制限が適用され、ジョブはスケジュール済みの Apex 制限に含まれなくなります。
  • このメソッドをコールしてから一括処理ジョブが開始するまでは、返されたスケジュール済みジョブ ID を使用して、System.abortJob メソッドを使用したスケジュール済みジョブを中止できます。

メモ

「Apex の一括処理の使用」の例を参照してください。

scheduleBatch(batchable, jobName, minutesFromNow, scopeSize)

指定された時間が経過した後に、指定されたジョブ名と範囲サイズを使用して一括処理ジョブが 1 回実行されるようにスケジュール設定します。スケジュール済みジョブ ID (CronTrigger ID) を返します。

署名

public static String scheduleBatch(Database.Batchable batchable, String jobName, Integer minutesFromNow, Integer scopeSize)

パラメータ

batchable
型: Database.Batchable
Database.Batchable インターフェースを実装する一括処理クラス。
jobName
型: String
このメソッドが開始するジョブの名前。
minutesFromNow
型: Integer
ジョブを実行開始するまでの分単位の期間。
scopeSize
型: Integer
一括処理 execute メソッドに渡すレコードの数です。

戻り値

型: String

使用方法

System.scheduleBatch では、次の点��留意してください。

  • System.scheduleBatch をコールすると、Salesforce により指定の時間にジョブを実行するようにスケジュールされます。実際の実行は、サービスの使用可能状態に応じて、その時間以降に行われます。
  • スケジューラは、システムとして実行されます。ユーザがそのクラスの実行権限を持っているかどうかにかかわらず、すべてのクラスが実行されます。
  • ジョブのスケジュールがトリガされると、システムは処理する一括処理ジョブをキューに入れます。組織で Apex Flex キューが有効になっている場合、Flex キューの最後に一括処理ジョブが追加されます。詳細は、「Apex Flex キュー内での一括処理ジョブの保留」を参照してください。
  • スケジュールされたすべての Apex 制限は、System.scheduleBatch を使用してスケジュールされた一括処理ジョブに適用されます。一括処理ジョブが (Holding または Queued 状況で) キューに入れられると、すべての一括処理ジョブ制限が適用され、ジョブはスケジュール済みの Apex 制限に含まれなくなります。
  • このメソッドをコールしてから一括処理ジョブが開始するまでは、返されたスケジュール済みジョブ ID を使用して、System.abortJob メソッドを使用したスケジュール済みジョブを中止できます。

メモ

System.scheduleBatch メソッドの使用」の例を参照してください。

setPassword(userId, password)

指定されたユーザのパスワードを設定します。

署名

public static Void setPassword(ID userId, String password)

パラメータ

userId
型: ID
password
型: String

戻り値

型: Void

使用方法

このパスワードでユーザがログインすると、新しいパスワードを作成するように求められません。ユーザがリセットプロセスを行い、独自のパスワードを作成するようにする場合は、resetPassword(userId, sendUserEmail) を使用します。

このメソッドを使用する場合は注意が必要です。また、この機能をエンドユーザに公開しないでください。

警告

submit(workItemIds, comments, nextApprover)

処理された承認を送信します。申請者である現在のユーザに適用可能なすべてのプロセスの開始条件が評価されます。

署名

public static List<ID> submit(List<ID> workItemIds, String comments, String nextApprover)

パラメータ

workItemIds
型: List<ID>
comments
型: String
nextApprover
型: String

戻り値

型: List<ID>

使用方法

申請および評価の拡張機能についての詳細は、「ProcessSubmitRequest クラス」クラスを参照してください。

today()

現在の日付を現在のユーザのタイムゾーンで返します。

署名

public static Date today()

戻り値

型: Date