서브프로세스
한눈에 보기
서브프 로세스는 워크플로우 안에서 다른 워크플로우를 호출하는 노드입니다. 반복 사용되는 프로세스를 별도로 분리하여 재사용성을 높이고, 복잡한 워크플로우를 계층적으로 관리할 수 있습니다.
소개
제조 현장에서는 동일한 절차가 여러 워크플로우에서 반복됩니다. 예를 들어 "품질 검사 절차"는 입고 검사, 공정 중 검사, 출하 검사에서 모두 사용됩니다. 서브프로세스를 활용하면 이런 공통 절차를 한 번 정의하고 여러 곳에서 호출할 수 있습니다.
이렇게 보입니다
캔버스에서 서브프로세스는 이중 테두리 사각형 으로 표시됩니다:
메인 워크플로우
○
→
자재 출고
→
생산 실행
(서브프로세스)
(서브프로세스)
→
◎
서브프로세스 내부
○
→
공정1
→
공정2
→
검사
→
◎
설정 항목
| 항목 | 설명 |
|---|---|
| 호출 대상 | 실행할 서브 워크플로우 선택 |
| 입력 파라미터 | 서브프로세스에 전달할 데이터 매핑 |
| 출력 파라미터 | 서브프로세스에서 반환받을 데이터 매핑 |
| 실행 방식 | 동기(완료 대기) / 비동기(즉시 진행) |
| 오류 처리 | 서브프로세스 실패 시 동작 (중단 / 무시 / 대체 경로) |
설정 방법
- 먼저 서브프로세스로 사용할 별도 워크플로우를 생성합니다.
- 메인 워크플로우 캔버스에서 서브프로세스 노드를 배치합니다.
- 호출 대상 워크플로우를 선택합니다.
- 입력 파라미터에 전달할 데이터를 매핑합니다.
- 출력 파라미터에 반환받을 데이터를 매핑합니다.
- 동기/비동기 실행 방식을 선택합니다.
동기 vs 비동기
- 동기 실행: 서브프로세스가 완료될 때까지 메인 워크플로우가 대기합니다. 서브프로세스의 결과가 다음 단계에 필요할 때 사용합니다.
- 비동기 실행: 서브프로세스를 시작하고 메인 워크플로우는 즉시 다음 단계로 진행합니다. 알림 전송 등 결과를 기다릴 필요 없는 작업에 사용합니다.
실무 예시: 공통 품질 검사 서브프로세스
시나리오: 입고, 공정 중, 출하 시 동일한 품질 검사 절차를 서브프로세스로 공유
서브프로세스 (품질 검사 절차):
○
→
검사 항목 로드
→
검사 수행 (사람)
→
◇ 합격?
Yes →
◎ 결과: 합격
No →
부적합 보고서
→
◎ 결과: 불합격
메인 워크플로우에서 호출:
| 호출 위치 | 입력 파라미터 | 출력 파라미터 |
|---|---|---|
| 입고 검사 | 품목코드, LOT번호, 검사유형="수입검사" | 검사결과, 부적합번호 |
| 공정 중 검사 | 품목코드, 공정번호, 검사유형="공정검사" | 검사결과, 부적합번호 |
| 출하 검사 | 품목코드, 출하번호, 검사유형="출하검사" | 검사결과, 부적합번호 |
서브프로세스 순환 참조
서브프로세스 A가 B를 호출하고, B가 다시 A를 호출하는 순환 참조는 허용되지 않습니다. 시스템이 자동으로 감지하여 저장 시 오류를 표시합니다.