---
sourceDocument: Xanadu 빌드 워크플로우
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/xanadu/build-workflows

 Release :

    - xanadu

ft:locale :

    - ko-KR

ft:publication_title :

    - Xanadu 빌드 워크플로우

ft:clusterId :

    - crworkflow

bundleId :

    - crworkflow

workflow :

    - Creator


---

# If 플로우 로직

# If 플로우 로직 {#ariaid-title1}

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

조건 목록이 충족되는 경우에만 하나 이상의 작업을 선택적으로 적용합니다.  
현재 기록을 기반으로 조건을 지정하여 이 플로우 논리를 사용합니다. If 플로우 로직 내의 플로우에 작업 또는 하위 플로우를 추가할 수 있습니다. 조건이 true로 평가될 때만 플로우는 이 플로우 논리 내에서 작업을 실행합니다. 기록의 데이터를 기반으로 조건(예: 작업 상태 또는 긴급도 값)을 작성합니다.  
주:  
If 플로우 로직의 Then 분기 내에서 데이터 알약 값을 설정하면 데이터 알약 값은 동일한 분기의 다른 작업에만 사용할 수 있습니다. 흐름 논리 분기 외부에서 Then 분기 내에 설정된 데이터 알약 값을 참조하면 null 값이 생성됩니다.

## 중첩된 If 플로우 논리 블록 {#flow-logic-if__section_ssb_nd1_qzb}

하위 If 플로우 로직 블록을 상위 If 플로우 로직 블록에 추가할 수 있습니다. 하위 If 플로우 로직 블록을 부모 플로우 로직 블록의 Then 분기에 추가합니다.

## 입력 {#flow-logic-if__section_qgk_3gs_r2b}

{#flow-logic-if__table_m3l_b5l_p2b__entry__2}

| 입력 | 설명 |
|-|-|
| 조건 레이블 | 분기의 조건에 대한 설명이 포함된 레이블입니다. 레이블은 길거나 복잡한 조건 데이터 알약 값보다 읽기 쉬울 수 있습니다. |
| 조건 | 분기가 실행되는 조건입니다. 플로우는 조건이 true로 평가될 때 Then 분기의 내용만 실행합니다. |
[ ]

{#flow-logic-if__table_m3l_b5l_p2b}

## 출력 {#flow-logic-if__section_cqh_hr1_qzb}

이 플로우 논리에는 출력이 없습니다.  

## 인시던트의 긴급도가 높은 경우에 대한 작업 수행 {#flow-logic-if__example_z41_jzw_q1c}

이 예에서는 인시던트 기록의 긴급도 값이 높을 때 작업이 트리거됩니다.

## 실행 상세 정보 {#flow-logic-if__section_wvl_kgs_r2b}

그림 1. If 플로우 논리에 대한 실행 상세 정보  
1. 헤더에는 플로우 논리의 상태, 시작 시간 및 런타임이 표시됩니다.
2. 구성 상세 정보 섹션에는 각 변수의 유형, 구성 및 런타임 값을 포함하여 플로우에서 사용되는 변수에 대한 상세 정보가 표시됩니다. <var class="keyword varname">조건</var> 변수를 사용하여 분기 조건이 충족되었는지 확인합니다.
{#flow-logic-if__ol_wtt_scs_r2b}

## 일반 가이드라인 {#flow-logic-if__section_j4w_4pv_q1c}

다음과 같은 일반 가이드라인을 사용하여 효과적인 If 플로우 로직 블록을 생성합니다.

Then 분기 외부에서 데이터 알약 값을 참조하지 마십시오.
:   If 플로우 로직의 Then 분기 내에서 데이터 알약 값을 설정하면 데이터 알약 값은 동일한 분기의 다른 작업에만 사용할 수 있습니다. 흐름 논리 분기 외부에서 Then 분기 내에 설정된 데이터 알약 값을 참조하면 null 값이 생성됩니다.

자체 조건 집합에서 일치하는 조건 유형 그룹화
:   동일한 필드 값에 대해 서로 다른 유형의 조건을 혼합하면 예기치 않은 결과가 발생할 수 있습니다. 예를 들어 인시던트 짧은 설명에 대한 여러 OR 조건 그룹에 AND 조건을 추가하면 If 조건이 true로 평가되지 않는 상황이 발생할 수 있습니다. 조건 그룹을 사용하여 동일한 필드에 대해 유사한 조건 유형을 그룹화합니다. 예를 들어, 인시던트 짧은 설명에 대한 모든 OR 조건을 한 조건 집합에 그룹화하고 인시던트 짧은 설명에 대한 모든 AND 조건을 다른 조건 집합에 그룹화합니다.  
    그림 2. 일치 조건을 조건 세트로 그룹화하는 예시

여러 If 플로우 로직 블록을 의사 결정 플로우 로직 블록으로 교체

:   조건에 따라서만 달라지는 중복 If 플로우 로직 블록을 생성하는 대신 결정 테이블을 사용하여 답변을 생성합니다. 예를 들어 인시던트 범주를 사용하여 인시던트 작업 기록의 할당 그룹을 설정하려 한다고 가정해 보겠습니다. 각 범주 값에 대해 중복되는 If 플로우 로직 블록을 생성하는 대신 결정 플로우 로직을 사용하여 할당 그룹에 대한 답변을 제공합니다.다음은 각각 인시던트 작업 기록을 생성하는 세 개의 If 플로우 로직 블록을 사용하는 플로우 예입니다. If 플로우 로직 블록 간의 유일한 차이점은 인시던트 범주의 조건입니다.

    그림 3. 동일한 작업을 수행하는 여러 If 플로우 로직 블록의 예

    다음은 단일 의사 결정 플로우 만들기 논리 블록을 사용하여 인시던트 범주에서 인시던트 작업 할당 그룹을 결정하는 플로우 예시입니다. 작업 생성 작업은 결정의 출력을 입력으로 사용합니다.  
    그림 4. 여러 If 플로우 논리 블록을 결정으로 교체하는 예시

    다음은 인시던트 기록 값을 입력으로 사용하는 결정 테이블의 예입니다. 조건 열은 두 개의 인시던트 범주 값으로 구성됩니다. 결과 열은 각 조건 값에 사용할 할당 그룹으로 구성됩니다.  
    그림 5. 예시 결정 테이블 범주에서 할당 그룹 가져오기
**관련 개념**   

* [하위 플로우 출력 할당 플로우 로직](https://servicenow-prod.fluidtopics.net/sX~oq7cueIa4LNaFdvX7CQ "하위 플로우가 실행을 완료할 때 반환되는 데이터를 지정합니다. 하위 플로우 출력을 상위 플로우의 데이터로 사용하거나 다른 프로세스의 입력으로 사용합니다.")
* [워크플로우 흐름 논리 호출](https://servicenow-prod.fluidtopics.net/E0urWfpZrg5y4dJ7Qsmg2g "플로우에서 게시된 활성 워크플로우를 실행합니다. 플로우 데이터를 워크플로우 입력으로 사용할 수 있습니다. 예를 들어 현재 기록을 워크플로우 입력으로 지정할 수 있습니다.")
* [플로우 논리가 있을 때까지 다음 작업을 수행합니다](https://servicenow-prod.fluidtopics.net/Cts3A_S6St8c2HEHsBXTmg "종료 조건이 충족될 때까지 하나 이상의 작업을 반복적으로 적용합니다. 플로우 데이터를 사용하여 종료 조건을 지정할 수 있습니다.")
* [병렬 플로우 논리에서 다음을 수행합니다](https://servicenow-prod.fluidtopics.net/OKqhHeV4SvaPEb0Y1LPmVw "격리된 플로우 로직 블록 내 별도의 경로에서 작업 및 하위 플로우를 실행합니다.")
* [동적 플로우 플로우 논리](https://servicenow-prod.fluidtopics.net/U9qvM2nkMW~zC5JRKbGk5Q "런타임 데이터를 사용하여 플로우 또는 하위 플로우를 동적으로 식별하고 실행합니다. 동적으로 호출된 플로우 또는 하위 플로우에 대한 예상 입력을 제공하는 템플릿을 빌드합니다.")
* [End Flow 플로우 로직](https://servicenow-prod.fluidtopics.net/qNO7vz8hAaWjhJBQHc4PMw "현재 플로우 실행을 중지합니다. 플로우 분기 내에서 End Flow를 사용하여 종료 조건을 지정합니다. 예를 들어, 특정 If 플로우 로직 블록에 도달하면 플로우를 종료합니다.")
* [각 플로우 논리에 대해](https://servicenow-prod.fluidtopics.net/CPj8ClYY6i67liB3G3YnMw "기록 목록의 각 기록에 하나 이상의 작업을 적용합니다.")
* [의사 결정 플로우 논리 만들기](https://servicenow-prod.fluidtopics.net/z4kwtSPm7IixZdTfIbYiBA "중첩된 If, Else If 또는 Else 플로우 로직의 대안으로 여러 조건부 경로가 필요한 상황에서 결정 테이블 분기 논리를 사용할 수 있습니다. 예를 들어 필요한 자동차 보험의 종류를 결정하려면 결정 테이블에 연령, 사고 이력 및 자동차 모델과 같은 입력을 추가하여 보험 보장 수준을 결정할 수 있습니다. 이 논리를 통해 If 조건 또는 switch case 문에 비해 시간을 절약하고 가독성이 높은 형식을 제공할 수 있습니다.")
* [플로우 변수 설정 플로우 로직](https://servicenow-prod.fluidtopics.net/My8w4TBIuiYm3OUFws3_Nw "하나 이상의 플로우 변수에 값을 할당합니다. 이 변수는 플로우 데이터를 데이터 알약으로 저장합니다. 데이터 알약을 참조하여 플로우 변수 값에 액세스합니다.")
* [플로우 로직 시도](https://servicenow-prod.fluidtopics.net/jJnsTH96P2t086YU7GOmnQ "플로우 로직 블록 내에서 오류가 발생해도 플로우가 계속 실행되도록 허용합니다. 플로우 로직 블록 내에서 오류가 발생하는 경우 일련의 작업을 실행합니다.")
* [기간 대기 플로우 로직](https://servicenow-prod.fluidtopics.net/GSphQ9lf8xlTmZViqaDaag "이 플로우 논리를 사용하여 사용자에게 자동화된 프로세스 중에 조치를 취할 시간을 제공하거나 특정 날짜와 시간이 작업을 완료할 때까지 기다릴 수 있는 시간을 제공합니다.")  
**관련 참조**   

* [루프 흐름 논리 종료](https://servicenow-prod.fluidtopics.net/PHxcJ8i107cSRim1eN3CHA "If 플로우 로직의 조건이 충족되면 플로우 로직 루프에서 종료합니다. 플로우 로직 루프 후 다음 단계부터 플로우를 계속 실행합니다. 이 흐름 논리를 중단이라고도 합니다.")
* [플로우 논리로 다시 이동](https://servicenow-prod.fluidtopics.net/x1U5aSDB4XFubOv8QyN8ow "플로우의 이전 단계로 돌아가 일련의 작업을 반복합니다.")
* [반복 건너뛰기 플로우 로직](https://servicenow-prod.fluidtopics.net/74z37R~NO5hRVZxpcCHicQ "If 플로우 로직의 조건이 충족되면 플로우 로직 루프의 현재 반복을 건너뜁니다. 목록의 다음 항목으로 플로우 로직 루프를 계속 실행합니다. 이 플로우 논리를 계속이라고도 합니다.")

