QAD Adaptive ERP 연동 가이드 SkyPlanner APS로 생산 스케줄링하기
이 QAD Adaptive ERP 연동 가이드는 파트너와 IT 팀을 대상으로 QAD Adaptive ERP를 SkyPlanner APS에 연결하는 방법을 설명합니다. 기존 QAD Enterprise Edition 및 MFG/PRO 설치 환경도 포함됩니다. SkyPlanner는 QAD의 자체 인터페이스를 사용해 QAD Adaptive ERP와 양방향으로 연동합니다.
- 작업지시와 해당 공정, 품목, 제품 구조, 공정 순서, 작업 센터, 공장 캘린더, 재고 및 구매 발주 데이터를 가져옵니다.
- 스케줄링된 착수일과 완료 예정일을 Work Order Maintenance (16.1)로 다시 전송합니다.
- 작업자의 시간 기록은 Labor Feedback by Work Order (16.20.1)로, 완료 수량은 Work Order Receipt (16.11)로 다시 전송합니다.
- SkyPlanner 웹훅은 일정이 변경되는 즉시 변경 사항을 전송합니다.
SkyPlanner 팀은 온보딩 과정에서 고객의 QAD 환경에 맞춰 연동을 구성하고, 운영 개시 후에도 지원합니다. 이 가이드는 연동에 참여하거나 문서화된 SkyPlanner REST API(API 참조 문서)를 활용해 직접 개발하려는 파트너와 개발자를 위한 문서입니다.
QAD의 연동 인터페이스
QAD는 외부 스케줄러에 세 가지 연동 방식을 제공합니다.
- QAD QXtend Inbound (QXI). QAD는 이를 “a Web services-based, SOAP-compliant, XML framework, enabling complete platform-independent access to QAD Enterprise Applications business functionality.”(플랫폼에 종속되지 않고 QAD Enterprise Applications의 업무 기능에 완전히 접근할 수 있는 웹 서비스 기반의 SOAP 호환 XML 프레임워크)라고 설명합니다. 각 요청은 QDoc으로, QAD 프로그램을 실행할 때 해당 화면과 동일한 유효성 검사를 거칩니다. 각 요청에는 응답 QDoc이 반환됩니다. 기본 제공되는 QDoc에는
maintainItemMaster,maintainRouting,maintainPurchaseOrder가 있습니다. 기본 제공 QDoc이 없는 프로그램은 QAD의 QGen 도구로 메뉴 프로그램을 매핑합니다. “QGen is used to map custom programs or QAD Enterprise Applications programs that do not have released QDoc schemas and events files.”(QGen은 기본 제공 QDoc 스키마와 이벤트 파일이 없는 사용자 정의 프로그램 또는 QAD Enterprise Applications 프로그램을 매핑하는 데 사용됩니다.) QAD도 이 방식을 사용합니다. “QAD Production Scheduler uses QAD QXtend to update work orders.”(QAD Production Scheduler는 QAD QXtend를 사용해 작업지시를 갱신합니다.) (QXtend 가이드) - QAD QXtend Outbound (QXO). QXO의 기능은 “exports user-configurable business objects as XML QDocs out of QAD products.”(사용자가 구성할 수 있는 비즈니스 객체를 QAD 제품에서 XML QDoc으로 내보냅니다.)라고 설명되어 있습니다. 표준 비즈니스 객체에는 Item, Product Structure, Routing, Work Center, Department, Inventory Transaction, Inventory Status가 있습니다.
- 업무 문서용 REST API. Adaptive ERP 2022.1부터 제공되는 기능은 “Query REST APIs are now available for business documents,”(이제 업무 문서용 조회 REST API를 사용할 수 있습니다.)라고 안내되어 있습니다. 이 API는 필터링, 정렬, 페이징 및 부분 데이터 조회를 지원하며, 해당 인스턴스의 Swagger에 문서화되어 있습니다(릴리스 노트).
데이터 쓰기는 QXtend가 담당합니다. 데이터 읽기는 QXO와 REST 조회 API가 담당합니다.
인증 및 라이선스
- QXtend Inbound. 수신 측에 Require Authentication을 설정하면 모든 QDoc에 Session ID 또는 QAD 사용자 이름과 비밀번호가 포함됩니다. QXI는 프로그램을 실행하기 전에 사용자의 메뉴 접근 권한을 확인합니다.
- 연동용 사용자. 연동에서 호출하는 메뉴 프로그램에만 접근할 수 있는 전용 QAD 사용자를 생성하세요. 대상은 Work Order Maintenance, Labor Feedback by Work Order, Work Order Receipt 및 기준정보 프로그램입니다.
- QXtend 라이선스. QXtend 라이선스는 에이전트와 수신기 단위로 적용됩니다. QAD 가이드에는 외부 애플리케이션과 주고받는 웹 서비스 트래픽이 유료로 명시되어 있으므로, 프로젝트 시작 전에 QXtend 라이선스를 확인하세요.
SkyPlanner 측 REST API는 Authorization-Token 헤더의 API 토큰으로 인증하며(SkyPlanner Settings > API), Swagger/OpenAPI에 문서화되어 있습니다. 연동 튜토리얼에서 첫 API 호출 과정을 단계별로 안내합니다.
이벤트와 변경 데이터
QXtend Outbound는 QAD에서 데이터 변경을 처리하는 메커니즘입니다. “A change occurs to watched data in QAD Enterprise Applications. Change notifications are written out to the qxevents database.”(QAD Enterprise Applications에서 감시 대상 데이터가 변경되면 변경 알림이 qxevents 데이터베이스에 기록됩니다.) 이후 QXO는 QDoc을 생성해 “to a directory location where the subscriber polls for and picks up new QDocs,”(구독자가 폴링하여 새 QDoc을 가져가는 디렉터리로) 전달하거나, 특정 URL에서 수신 대기 중인 웹 서비스로 전달합니다.
SkyPlanner는 웹 서비스로서 QXO가 발행하는 데이터를 구독하고, QXO가 지원하지 않는 데이터는 REST 조회 API를 폴링해 가져옵니다. Work Order는 QXO의 표준 비즈니스 객체가 아닙니다. 따라서 작업지시 테이블(wo_mstr, wr_route)에 QXO 비즈니스 객체를 추가하거나, REST 조회 API로 몇 분마다 작업지시를 폴링하도록 연동을 구성합니다.
SkyPlanner는 상태나 일정이 변경되면 웹훅을 전송하므로, QAD에 다시 쓰는 처리는 이벤트 기반으로 이루어집니다.
데이터 매핑
| QAD 객체(프로그램, 인터페이스) | SkyPlanner 객체 | 방향 | 주기 |
|---|---|---|---|
| 품목(Item Master Maintenance 1.4.1; QXO Item) | 제품 및 자재 | QAD → SkyPlanner | 최초 적재 후 변경 시 QXO로 전송 |
| 제품 구조(13.5; QXO Product Structure) | 제품 구조, 하위 제품, 제품별 자재 | QAD → SkyPlanner | 최초 적재 후 변경 시 QXO로 전송 |
| 공정 순서(14.13.1; QXO Routing): 공정 전 대기, 준비, 가동, 공정 후 대기, 이동 | 소요 시간, 준비 시간 및 정리 시간이 포함된 공정 단계 | QAD → SkyPlanner | 최초 적재 후 변경 시 QXO로 전송 |
| 작업 센터(14.5) 및 부서(14.1; QXO Work Center, Department) | 작업장, 작업장 그룹, 효율 | QAD → SkyPlanner | 최초 적재 후에는 드물게 |
| 공장 및 작업 센터 캘린더 | 교대조 및 비가동일 | QAD → SkyPlanner | 매일 동기화하거나 SkyPlanner에서 교대조를 별도 관리 |
| 작업지시(16.1)와 해당 공정 순서(16.13.13) 및 구성품 | 납기와 자재 소요량이 포함된 주문 및 작업 | QAD → SkyPlanner | 사용자 정의 QXO 객체 또는 몇 분 간격의 REST 폴링 |
| 재고(QXO Inventory Status, Inventory Transaction) | 재고 잔량 | QAD → SkyPlanner | 변경 시 또는 매시간 |
| 납기가 포함된 구매 발주 | 구매 발주, 납품일별 입고 예정 자재 | QAD → SkyPlanner | 매시간 또는 스케줄링 실행 시 폴링 |
| 작업지시 착수일 및 완료 예정일(Work Order Maintenance 16.1, QXtend Inbound QDoc) | 오더별 계획 시작 및 종료 시점 | SkyPlanner → QAD | 일정 변경 시 SkyPlanner 웹훅으로 전송 |
| Labor Feedback by Work Order (16.20.1): 공정별 준비 및 가동 시간 | 시간 기록 및 작업자 실적 등록 | SkyPlanner → QAD | 선택 시 실적 등록마다 또는 교대조별 전송 |
| Work Order Receipt (16.11) | 완료 수량 | SkyPlanner → QAD | 선택 시 실적 등록마다 전송 |
| QAD에 없음 | 준비 시간 매트릭스, 수량이 제한된 자원으로 관리하는 공구, 대체 설비 및 인력 | SkyPlanner에서 관리 | 온보딩 중 설정 |
연동 구현 방식
1. 기준정보 최초 적재. QXO 또는 REST 조회 API로 품목, 제품 구조, 공정 순서, 작업 센터 및 캘린더를 읽어옵니다. 작업 센터는 신중하게 매핑하세요. 기계 네 대로 구성된 작업 센터는 작업장 그룹 하나 또는 작업장 네 개로 매핑합니다. Production Line Maintenance의 반복 생산 라인도 작업장으로 매핑할 수 있습니다.
2. 작업지시 동기화. 확정 계획 및 발행된 작업지시와 해당 공정 순서, 구성품을 미결 구매 발주와 함께 읽어옵니다. SkyPlanner는 발주한 자재를 구매 발주의 납품일에 사용 가능한 것으로 간주하고, 구매 발주 상태가 Delivered로 표시되면 재고를 갱신합니다.
스케줄링 대상은 MRP 계획 오더가 아니라 작업지시입니다. 계획 오더는 먼저 QAD에서 확정 계획 또는 발행된 작업지시로 전환되어야 합니다.
3. QAD에 일정 반영. 엔진이 오더를 배치하거나 이동하면 SkyPlanner 웹훅이 Work Order Maintenance (16.1)에 대한 QXtend Inbound QDoc을 트리거합니다. 착수일은 스케줄링된 첫 공정에, 완료 예정일은 마지막 공정에 맞춰 설정합니다. QXtend는 QAD 자체 유효성 검사를 거쳐 프로그램을 실행하고 응답 QDoc을 반환하며, 연동 로직은 이 응답을 확인합니다.
기계별 공정 실행 순서는 SkyPlanner에서 유지하며 Mobile Confirmations를 통해 작업자에게 전달합니다. 따라서 발행된 작업지시의 공정 순서를 동결하는 QAD의 제약에 영향을 받지 않고 연동할 수 있습니다.
4. 생산 현장 실적 등록. 작업자는 SkyPlanner Mobile Confirmations 또는 Production Timer로 작업을 기록하며, 이 시간 기록을 바탕으로 일정이 최신 상태로 유지됩니다. 실제 작업 시간을 QAD로 다시 전송할지는 선택할 수 있습니다. 전송하는 경우 공정별 준비 및 가동 시간은 Labor Feedback by Work Order로, 완료 수량은 Work Order Receipt로 전달됩니다. 전송하지 않는 경우에는 기존과 같이 QAD에 노무 실적을 입력합니다.
5. 데이터 관리 주체 및 충돌 처리 규칙. 운영 개시 전에 다음 사항을 문서화하세요.
| 데이터 | 관리 주체 |
|---|---|
| 품목, 제품 구조, 공정 순서, 수량, 작업지시 상태 | QAD |
| 공정 실행 순서, 시작 및 종료 시점, 기계 배정 | SkyPlanner |
| 작업지시 착수일 및 완료 예정일 | SkyPlanner에서 쓰고 QAD에 저장 |
| 준비 시간 매트릭스, 공구 및 작업자 요구사항, 대체 자원 | SkyPlanner |
| 교대 근무 및 비가동일 | 범위 산정 시 선택한 하나의 시스템 |
| 노무 실적, 구성품 출고 및 입고 | QAD에서 관리하며, 직접 입력하거나 SkyPlanner 시간 기록에서 전송 |
작업지시 날짜를 기록하는 시스템은 하나로 정하세요. SkyPlanner에는 QAD 스케줄링 모듈이 필요하지 않습니다. 따라서 SkyPlanner가 스케줄링하는 오더의 날짜는 기존 스케줄링 워크벤치나 다른 스케줄러를 대신해 SkyPlanner가 기록합니다.
일반적인 프로젝트 진행 단계
구축은 일반적으로 온보딩 시작 후 몇 주 안에 완료됩니다. 그에 앞서 QAD에서 작업 센터, 공정 순서 및 미결 작업지시를 CSV 또는 Excel로 내보내 30일 무료 체험에서 일정을 검증하세요.
- 매핑. 매핑 표, 데이터 관리 주체 규칙, 범위에 포함할 사이트와 도메인, 동기화 주기 및 노무 실적의 재전송 여부를 확정하세요.
- QAD 접근 설정. 연동용 사용자를 생성하고, QXtend 라이선스를 확인한 뒤, QXtend 수신기와 QXO 구독자를 설정하세요. 먼저 테스트 도메인에서 검증하세요.
- QDoc 설정. 기본 제공 QDoc이 있으면 이를 사용하세요. 필요한 경우 Work Order Maintenance, Labor Feedback by Work Order 및 Work Order Receipt용 QDoc을 QGen으로 생성하세요.
- 최초 적재. 품목, 제품 구조, 공정 순서, 작업 센터 및 캘린더를 적재하세요.
- 작업지시 및 구매 발주 동기화. QXO 이벤트 또는 REST 폴링을 사용하고 필터, 페이징 및 재시도를 적용하세요.
- SkyPlanner 제약조건 설정. 준비 시간 매트릭스, 공구, 작업별 작업자 수, 대체 기계 또는 인력을 설정하세요.
- QAD에 일정 반영 및 병행 테스트. SkyPlanner 웹훅으로 날짜를 전송하고, 현재 계획과 병행 운영하며 날짜를 비교한 뒤 기준정보를 수정하세요.
- 운영 개시. 데이터가 일치하면 QAD에 일정을 반영하는 기능을 활성화하세요.
QAD Adaptive ERP 연동 시 고려할 사항
- CRP 재실행. CRP는 선택한 작업지시에서 아직 완료되지 않은 모든 공정의 일정을 다시 잡습니다. QAD는 “you also adjusted the work order release and due date to match,”(작업지시의 릴리스일과 납기일도 그에 맞게 조정한 경우)에만 수동으로 지정한 날짜를 유지합니다. SkyPlanner가 기록하는 내용이 바로 이 날짜들입니다. 날짜를 QAD에 반영한 후 CRP를 실행하거나, SkyPlanner가 일정을 잡는 작업지시를 CRP 대상에서 제외하세요.
- 릴리스된 작업지시의 공정 순서는 고정됩니다. “Once the work order status is Exploded, Allocated, or Released, no more changes can be made to the routing.”(작업지시 상태가 Exploded, Allocated 또는 Released가 되면 공정 순서를 더 이상 변경할 수 없습니다.) 릴리스 시점에 공정 순서를 읽어 오고, 공정 순서 변경은 계획 또는 확정 계획 상태의 작업지시에서만 수행하세요.
- 공정 순서의 시간 단위. 준비 시간과 가동 시간은 부하에 포함되지만, “queue, wait, and move times are excluded from load calculations.”(공정 전 대기 시간, 공정 후 대기 시간, 이동 시간은 부하 계산에서 제외됩니다.) SkyPlanner에서는 공정 전 대기, 공정 후 대기, 이동을 시간만 반영하는 단계로 모델링하세요. 가동 시간이 제품 단위 기준인지 작업지시 기준인지도 확인하세요.
- QXtend 처리량. QAD는 “UI API adapter performance may be unacceptable when processing high volumes of data or real-time transactions.”(대량의 데이터나 실시간 트랜잭션을 처리할 때 UI API 어댑터의 성능이 허용 수준에 미치지 못할 수 있습니다.)라고 경고합니다. 변경된 작업지시만 일괄 전송하고, 기본 제공 QDocs가 있으면 이를 사용하세요.
- 도메인과 사업장. 여러 도메인을 사용하는 QAD 환경에서는 도메인과 사업장별로 작업 센터와 작업지시를 관리합니다. 연동 범위에 포함된 각 사업장을 별도의 작업장 그룹에 매핑하세요.
- 반복 생산과 개별 생산의 혼용. Advanced Repetitive 라인은 작업지시가 아닌 반복 생산 일정을 사용합니다. 범위 산정 단계에서 SkyPlanner가 일정을 잡을 라인을 결정하세요.
QAD 연동의 설정 및 지원 담당
- SkyPlanner 팀이 온보딩 과정에서 연동을 설정하고 가동 후에도 지원합니다. 지원 범위는 합의된 QDocs, QXO 구독, REST 쿼리입니다. 공장마다 QAD 운영 방식이 다르므로, 각 공장의 운영 노하우를 이 과정에 반영합니다.
- 기존 QAD 파트너도 참여할 수 있습니다. 파트너는 고객사의 도메인, 맞춤 설정, 라이선스를 잘 알고 있으므로 SkyPlanner 팀과 함께 QXtend, QGen QDocs, 연동용 사용자를 설정할 수 있습니다.
- 사내 개발자도 연동 기능을 확장할 수 있습니다. API 토큰으로 SkyPlanner의 REST API를 사용하면 됩니다. API 토큰만 있으면 시작할 수 있으며, 필요한 경우 SkyPlanner 팀이 지원합니다. 연동 관련 문서는 SkyPlanner 연동 문서에서 확인하세요.
SkyPlanner는 작업장 5개를 포함해 월 199 €부터 시작하며, 매월 청구됩니다. 연동 비용은 고객사의 프로세스와 요구사항에 맞춰 요금제와 함께 사전에 견적을 제시합니다. 요금, QAD Adaptive ERP 생산 스케줄링, QAD Adaptive ERP 페이지, ERP 연동 안내를 확인하세요.
제조업체의 SkyPlanner 사용 후기
2시간매주 절약
“SkyPlanner 덕분에 Excel 스프레드시트로 생산 계획을 세우던 방식에서 벗어나 실시간으로 생산을 최적화하게 되었습니다.”
Kalle Kalliomäki, 공급망 전문가
UTU · 배전반 및 개폐장치
생산 계획 업무에서 매주 2시간을 절약하며, 새로운 작업 대기열이 수초 만에 생산 라인에 전달됩니다.
+90%생산 효율 향상
“생산 효율이 90% 향상되었습니다.”
Abdul Rucyinga, IT 책임자
Laboratory & Allied · 의약품 제조
생산 효율이 90% 향상되었으며, 모든 작업장에 걸쳐 최적화된 석 달 치 계획을 수립하는 데 30분도 걸리지 않습니다.
수천 건작업지시 일정 자동 편성
“생산을 관리하는 방식이 달라졌고, 생산능력을 파악하는 수준도 완전히 달라졌습니다.”
Hannu Ryynänen, 대표
Mamec · 산업용 믹서, 펌프 및 첨단 제품 위탁 제조
수천 건의 작업지시 일정이 자동으로 편성되며, 조직 전체가 생산 현황을 실시간으로 확인합니다.
99.2%납기 준수율
“SkyPlanner 덕분에 병목 구간을 눈으로 확인할 수 있게 되었고 생산 관리도 명확해졌습니다.”
Toni Tuori, 생산 관리자
Piristeel · 지붕 안전설비 및 빗물 배수 시스템
올해 납기 준수율은 99.2%에 도달했으며, 스케줄링 업무에서 하루 최대 네 시간을 절약하고 있습니다.
자주 묻는 질문
QAD Adaptive ERP에 작업지시용 API가 있나요?
네. QXtend Inbound는 SOAP와 XML QDocs를 통해 Work Order Maintenance와 현장 프로그램을 실행합니다. 정식 배포된 QDoc이 없으면 QGen으로 생성합니다. 비즈니스 문서용 REST API로는 필터링과 페이징을 사용해 데이터를 조회할 수도 있습니다.
QAD는 웹훅을 지원하나요?
QAD는 QXtend Outbound를 통해 데이터 변경을 전달합니다. 테이블 트리거가 변경 사항을 기록하고, QXO가 QDocs를 웹 서비스 URL이나 폴링 대상 디렉터리로 전달합니다. SkyPlanner 자체 웹훅은 일정이 변경되는 즉시 변경 사항을 푸시합니다.
편성된 일정의 날짜는 QAD에 어떻게 반영되나요?
Work Order Maintenance (16.1)에서 QXtend Inbound QDoc을 통해 반영합니다. 이 QDoc은 SkyPlanner 일정에 따라 작업지시의 릴리스일과 납기일을 설정합니다. QAD는 화면에서 사용하는 것과 동일한 규칙으로 QDoc을 검증하고 응답 QDoc을 반환합니다.
작업자가 확인한 실적은 QAD에 어떻게 전달되나요?
준비 시간과 가동 시간은 Labor Feedback by Work Order (16.20.1)를 통해, 완료 수량은 Work Order Receipt (16.11)를 통해 반영합니다. 모두 QXtend Inbound QDocs를 사용합니다. 실적을 QAD에 반영할지는 범위 산정 단계에서 결정합니다.
QAD 파트너는 QAD Advanced Scheduling과 SkyPlanner 중 무엇을 제안해야 하나요?
고객이 개별 생산 작업지시를 사용하고 몇 주 안에 실제 생산능력을 반영한 일정을 운영하려 한다면 SkyPlanner를 제안하세요. QAD는 Advanced Scheduling을 공장별로 각 라인의 일정을 수립하는 기능으로 설명하며, DSCP Production Planning 및 Redzone과 함께 소개합니다(QAD). SkyPlanner는 QXtend를 통해 연결되며, 모든 기계, 작업자, 공구, 자재의 일정을 잡고 자동으로 재계획합니다. 사용자 수 제한 없이 월 199 €부터 이용할 수 있습니다.