---
sourceDocument: Xanadu API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ko-KR

ft:publication_title :

    - Xanadu API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideMultiRecurrence - 범위 지정됨

# GlideMultiRecurrence - 범위 지정됨 {#ariaid-title1}

* 릴리스 버전: Xanadu
* 
* 업데이트 날짜 2024년 08월 01일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 6분

GlideMultiRecurrence API는 지정된 예약된 작업의 실행 시간을 설명하는 GlideDateTime 개체를 반환하는 메서드를 제공합니다.

발생이라고도 하는 특정 주기적이거나 반복적인 작업을 실행해야 하는 시기를 결정해야 하는 경우 이 API를 사용합니다.

이 API는 `sn_schdl_ns` 네임스페이스에서 실행됩니다.  
이 API를 사용하려면 연결된 일정 테이블에 다음 필드(트리거) 중 하나 이상이 포함되어야 합니다.{#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: 반복 * 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_starteffective_end 날짜 필드 사이의 발생을 반환합니다.

  위 규칙의 예외: 날짜가 너무 먼 미래여서 com.glide.schedule.recurrence.num_occurrences_max 속성에 지정된 발생 횟수보다 많은 항목이 반환되는 경우 effective_end 결과는 com.glide.schedule.recurrence.num_occurrences_max에 지정된 값(기본값 500)으로 제한됩니다.
* effective_end 날짜 필드가 null이거나 비어 있지만 필드가 frequency 설정되어 있으면 반환할 발생 횟수를 결정하는 데 사용합니다frequency.
* 날짜 필드가 과거인 경우 effective_start 과거 날짜를 반환합니다.
* 및 effective_end 날짜 필드가 frequency 모두 지정된 경우 com.glide.schedule.recurrence.num_occurrences_max 속성에 effective_end 지정된 값으로 제한된 최대 발생 횟수가 있는 날짜를 사용합니다.  
위의 규칙 중 어느 것도 true가 아닌 경우 메서드는 시스템 속성의 기본 설정에 따라 발생을 반환합니다.  
주:  
MAX_Drift 은(는) 이 API에서 지원되지 않습니다.

예: 둘 다 frequency 지정됩니다. Effective_end 날짜가 우선 frequencyeffective_end 하며 무시됩니다.

* 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}

| 이름 | 유형 | 설명 |
|-|-|-|
| 'gr스케쥴' | [GlideRecord](https://servicenow-prod.fluidtopics.net/2W~ifl1LvyXJ6zdY~n~R1Q#c_GlideRecordScopedAPI "범위가 지정된 GlideRecord API는 데이터베이스 운영에 사용됩니다.") | 일정 발생을 가져올 작업이 포함된 기록을 가리키는 GlideRecord 객체입니다. |
[표 1. 매개변수]

{#GMultiRecur-getOccurrences_GR__entry__8}

| 유형 | 설명 |
|-|-|
| [GlideDateTime](https://servicenow-prod.fluidtopics.net/7wfV2Qc6nj2IPs~0tCsRgA#c_GlideDateTimeAPI "GlideDateTime 클래스는 GlideDateTime 개체에 대한 작업을 수행하기 위한 메서드를 제공합니다.") 객체의 배열 | 예약된 작업을 실행해야 하는 각 시간의 GlideDateTime 객체입니다. |
[표 2. 반환]

다음 예제에서는 지정된 작업 일정 레코드의 특정 기간 동안 예약된 모든 실행 날짜/시간에 대한 GlideDateTime 개체를 검색하는 방법을 보여 줍니다. 선택한 작업은 매시간 실행되도록 예약되어 있습니다.

    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


