Skip to main content

반복 처리 (For Each)

한눈에 보기

For Each 노드는 배열이나 다건 레코드를 순회하며 동일한 처리를 반복합니다. BOM 구성 품목별 자재 출고, 작업지시 목록 일괄 상태 변경, LOT별 검사 결과 등록 등에 활용합니다.

소개

제조업에서는 하나의 작업에 여러 항목이 포함되는 경우가 많습니다:

  • BOM(자재명세서): 하나의 제품에 N개의 자재가 필요
  • 다품목 입고: 하나의 입고서에 여러 품목이 포함
  • 다공정 작업지시: 하나의 작업지시에 여러 공정 단계
  • 검사 항목: 하나의 검사에 여러 측정 항목

For Each 노드는 이런 "1:N" 관계의 데이터를 순회하며 각 항목에 동일한 처리를 적용합니다.

이렇게 보입니다

설정 화면

For Each 설정

반복 처리 (For Each) 설정
반복 대상
BOM 구성품목
소요량 > 0
현재 항목 변수
현재품목
(반복 중 현재 처리 중인 항목 참조용)
반복 내 처리
하위 플로우에서 정의

실행 흐름

For Each 실행 흐름

작업지시 확인
For Each: BOM 구성품목
항목 1: 볼트 M8 (100개)
  재고 확인 → 출고 처리
항목 2: 너트 M8 (100개)
  재고 확인 → 출고 처리
항목 3: 와셔 M8 (200개)
  재고 확인 → 출고 처리
(총 3건 처리 완료)
자재 출고 완료 알림

설정 항목

항목설명
반복 대상순회할 배열 또는 관계 데이터 노드
필터 조건특정 조건을 만족하는 항목만 처리 (선택)
현재 항목 변수반복 중 현재 항목을 참조하는 변수명
실행 방식순차 (하나씩) / 병렬 (동시 처리)
오류 처리항목 처리 실패 시: 건너뛰기 / 전체 중단

설정 방법

  1. 캔버스에서 For Each 노드를 배치합니다.
  2. 반복 대상 데이터를 설정합니다 (배열 필드 또는 관계 데이터).
  3. 현재 항목 변수명을 지정합니다.
  4. For Each 노드 내부에 반복 처리할 하위 플로우를 구성합니다.
  5. 필요 시 필터 조건으로 처리 대상을 제한합니다.
대량 데이터 주의

반복 대상 건수가 많으면 처리 시간이 길어질 수 있습니다. 1,000건 이상의 대량 반복 시에는 병렬 실행 방식을 고려하세요.

실무 예시: BOM 기반 자재 일괄 출고

시나리오: 생산 작업지시 확정 시 BOM의 모든 구성품목을 자동으로 재고에서 출고

작업지시 확정 (사람 작업)
For Each: {작업지시.BOM구성품목[]}
현재 항목 변수: {현재자재}
재고 조회 (자동)
조건: 품목코드 == {현재자재.품목코드}
◆ 재고 충분?
Yes
재고 차감 (자동)
재고수량 -= {현재자재.소요량} x {작업지시.생산수량}
No
자재 부족 기록 (자동)
▼ (모든 항목 처리 완료)
◆ 부족 자재 있음?
Yes
자재 부족 알림
→ ◎ 종료
No
생산 시작 가능 알림
→ ◎ 종료

다음 단계