---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideMultiRecurrence - スコープ指定

# GlideMultiRecurrence - スコープ指定 {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：7分

GlideMultiRecurrence API は、指定されたスケジュール済みジョブの実行時間を記述する GlideDateTime オブジェクトを返すメソッドを提供します。

この API は、特定の定期ジョブまたは繰り返しジョブを実行する必要があるタイミング (オカレンスとも呼ばれます) を判断する必要がある場合に使用します。

この API は `sn_schdl_ns` 名前空間で実行されます。  
この API を使用するには、関連付けられたスケジュールテーブルに次のフィールド (トリガー) が 1 つ以上含まれている必要があります。{#GlideMultiRecurrenceScopedAPI__entry__2}

| トリガー | 説明 |
|-|-|
| effective_end | ジョブのスケジュールされた終了日時。 |
| effective_start | ジョブのスケジュール開始日時。 |
| 周期 | 返される発生件数。 |
| run_dayofmonth | ジョブを実行する日付。有効な値:1 から 31 |
| run_dayofweek | ジョブを実行する曜日。有効な値:1 (日曜日) - 7 (土曜日) |
| run_month | ジョブを実行する年の月。有効な値:1 から 12 |
| run_time | ジョブを実行する GMT 時刻。 |
| run_weekinmonth | ジョブを実行する月の週。有効な値:1 〜 6 |
| time_zone | スケジュール済みジョブのタイムゾーン。 |
| trigger_type | * 0:1 回実行 * 1:繰り返し * 2:オンデマンド * 3:曜日 * 4:日にち * 5:月中の週 * 6:年内の月と日付 * 7:月、週、年、日 * 8:指定された時間に実行 * 9:システム起動時に実行 * 10:間隔 * 11:日次 |
[ ]

この API を使用する場合は、API が動作するスケジューリングテーブルの GlideRecord オブジェクトを最初に作成する必要があります。次に、発生レコードを取得するスケジューリングレコードを取得します。例：

    var table_nameGR = new GlideRecord('<table_name>'); // Scheduling table, such as sys_trigger
    table_nameGR.addQuery('sys_id', '<sys_id>'); // Sys_id of the scheduling record
    table_nameGR.query();
    table_nameGR.next();  // Retrieve the scheduling record

## GlideMultiRecurrence:getOccurrences() {#ariaid-title2}

関連するスケジュールレコード (GlideRecord) で定義されたトリガーに基づいて、指定されたスケジュール済みジョブが特定の期間内に実行する必要があるスケジュールされた実行時間 (発生件数) ごとに GlideDateTime オブジェクトを返します。
このメソッドは、スケジューリングオブジェクト内で定義されたトリガーを使用して現在の GlideRecord スケジューリングオブジェクトを分析し、ジョブを実行するタイミングを決定します。  
返される結果を制御するプロパティ:

* com.glide.schedule.recurrence.num_occurrences_max:返される最大発生回数。
* com.glide.schedule.recurrence.num_occurrences_default:返されるデフォルトの発生回数。  
このメソッドは、次のルールを適用して、定義された期間に返される発生件数と関連するトリガーを決定します。

* effective_startフィールドが有効で、null または空ではない場合は、発生件数の返却を開始する日付として使用します。それ以外の場合は、現在の日付を使用します。
* effective_end日付フィールドが有効で、null または空ではない場合は、effective_start日付フィールドとeffective_end日付フィールドの間の発生回数を返します。

  上記のルールの例外: effective_end 日付が遠すぎて、com.glide.schedule.recurrence.num_occurrences_max プロパティで指定された回数を超える出現回数が返される場合、結果は com.glide.schedule.recurrence.num_occurrences_max で指定された値 (デフォルトは 500) に制限されます。
* effective_end日フィールドが null または空であるが、frequencyフィールドが設定されている場合は、frequencyを使用して返される発生回数を決定します。
* effective_start日付フィールドが過去の日付の場合は、過去の日付を返します。
* frequency日フィールドとeffective_end日フィールドの両方が指定されている場合は、com.glide.schedule.recurrence.num_occurrences_max プロパティで指定された値に最大発生回数が制限されているeffective_end日を使用します。  
上記のいずれのルールにも当てはまらない場合、メソッドはシステムプロパティのデフォルト設定に基づいて発生件数を返します。  
注:  
MAX_Drift はこの API ではサポートされていません。

例: frequency と effective_end の両方が指定されています。 Effective_end 日付が優先され、 frequency は無視されます。

* frequency: 10
* effective_start: 2022年8月1日
* effective_end: 2022年10月10日
* トリガータイプ:日にち
* 実行日:15

{#GMultiRecur-getOccurrences_GR__ul_u31_jfn_vvb}

返される GlideDateTime オブジェクトの数 = 2。

返される発生件数:2022 年 8 月 15 日、2022 年 9 月 15 日。

例: frequency と effective_end の両方が指定されています。 Effective_end 日付が優先され、 frequency は無視されますが、返される発生回数は com.glide.schedule.recurrence.num_occurrences_max プロパティの値によって制限されます。

* frequency: 20
* effective_start: 2022年8月1日
* effective_end: 2070年10月30日
* トリガータイプ:日にち
* 実行日:15

{#GMultiRecur-getOccurrences_GR__ul_v31_jfn_vvb}

返された GlideDateTime オブジェクトの数 = 500。
{#GMultiRecur-getOccurrences_GR__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| grSchedule | [GlideRecord](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#c_GlideRecordScopedAPI "スコープ対象の GlideRecord API は、データベース操作に使用されます。") | スケジュールの発生を取得するジョブを含むレコードを指す GlideRecord オブジェクト。 |
[表 : 1. パラメーター]

{#GMultiRecur-getOccurrences_GR__entry__8}

| タイプ | 説明 |
|-|-|
| [GlideDateTime](https://servicenow-prod.fluidtopics.net/sX6jx~y7CQmLmvE~regDqg#c_GlideDateTimeAPI "GlideDateTime クラスは、GlideDateTime オブジェクトに対して操作を実行するためのメソッドを提供します。") オブジェクトのアレイ | スケジュールジョブを実行するたびに使用する GlideDateTime オブジェクト。 |
[表 : 2. 返される内容]

次の例は、指定されたジョブスケジュールレコードの特定の期間のすべてのスケジュール済み実行日時の GlideDateTime オブジェクトを取得する方法を示しています。選択したジョブは、1 時間ごとに実行されるようにスケジュールされています。

    var sys_id = 'a9e30c7dc61122760116894de7bcc7bd'; // Sys_id of the job schedule record
    var table = 'sys_trigger'; // Table that contains the job schedule record

    var grSchedule = new GlideRecord(table);
    if
     (grSchedule.get(sys_id)) {
      var multiRecurrence = new sn_schdl_ns.GlideMultiRecurrence();
      var dates = multiRecurrence.getOccurrences(grSchedule); // Display the list of occurrences
      for(var i=0; i<dates.length; i++) {
        gs.info('occurrence = ' + dates[i]);
      }
    }

出力:

    occurrence = 2022-11-21 16:23:23
    occurrence = 2022-11-21 17:23:23
    occurrence = 2022-11-21 18:23:23
    occurrence = 2022-11-21 19:23:23
    occurrence = 2022-11-21 20:23:23
    occurrence = 2022-11-21 21:23:23
    occurrence = 2022-11-21 22:23:23
    occurrence = 2022-11-21 23:23:23
    occurrence = 2022-11-22 00:23:23
    occurrence = 2022-11-22 01:23:23


