2021-04-10에 작성된 글입니다.
SAP PO를 사용하는 기업에서는 메시지 처리 흐름과 Adapter Engine 상태 모니터링이 매우 중요합니다. 이 글에서는 SAP PO Adapter Engine의 구조부터 백로그 발생 원인, 블랙리스트 기능까지 체계적으로 설명드립니다.
목차
- Adapter Engine 상태 확인: 기본 개념
- 백로그(Backlog)란? 불필요한 메시지 정리법
- SAP PO 메시지 처리 흐름
- Module Processor 역할과 주요 스레드
- Message Queue 작동 원리
- 메시지 상태별 코드 정리
- 블랙리스트 기능: 서버 장애 예방
- 마무리 요약
1. Adapter Engine 상태 확인: 기본 개념
SAP PO에서는 Configuration and Monitoring Home > Adapter Engine > Adapter Engine Status 메뉴를 통해 Adapter 상태를 실시간으로 확인할 수 있습니다. 여기서 Backlog와 Message Overview를 통해 시스템의 부하 상태, 메시지 흐름, 장애 여부를 점검할 수 있습니다.
2. 백로그(Backlog)란? 불필요한 메시지 정리법
백로그는 처리되지 않은 메시지가 누적된 상태로, 특히 EOIO(순차처리) 인터페이스에서 오류 발생 시 메시지가 HOLD 상태로 남아 쌓이는 경우가 많습니다.
이런 불필요한 로그는 수동으로 제거하거나, 자동 배치 작업을 설정하여 정리할 수 있습니다.
- 경로: Messaging Overview > Additional Data > Message in EOIO Sequences
- HOLD 상태 메시지 수동 캔슬 가능
- 정리 후 시스템 부하 경감 효과
3. SAP PO 메시지 처리 흐름
Adapter Engine에서는 다음과 같은 절차로 메시지를 처리합니다.
- 소스 시스템에서 메시지 호출 또는 Sender 채널이 폴링
- Module Processor 실행 (CallSapAdapter 포함)
- Message Queue로 전달 (Dispatcher Queue에 적재)
- Target System으로 메시지 전송
모든 처리는 내부 DB 테이블(예: BC_MSG, BC_MSG_AUDIT)에 기록되어 메시지 상태를 추적할 수 있습니다.
4. Module Processor 역할과 주요 스레드
Module Processor는 채널 유형에 따라 다음과 같은 스레드를 실행합니다:
- SAP_AFScheduler.Worker
- JDBC_Sender
- HTTP Worker
- Proxy_Sender
CallSapAdapter는 반드시 마지막 단계에서 실행되어야 하며, 모듈 중복 등록 시 처리 순서에 주의가 필요합니다.
5. Message Queue 작동 원리
Dispatcher Queue는 메시지를 다음과 같이 분류합니다:
- Send: 비동기 아웃바운드
- Rcv: 비동기 인바운드
- Call: 동기 아웃바운드
- Rqst: 동기 인바운드
Queue는 어댑터 단위로 4개씩 생성되며, 병렬처리 개수와 메시지 우선순위 설정을 통해 백로그를 줄일 수 있습니다.
6. 메시지 상태별 코드 정리
상태 코드 설명
NDLV | Not Delivered – 전달 실패 |
TBDL | To Be Delivered – 전송 대기 |
DLNG | Delivering – 전송 중 |
HOLD | Hold – 보류 상태 |
DLVD | Delivered – 전송 완료 |
FAIL | Failed – 실패 |
WAIT | Waiting – 대기 중 |
정상 메시지 플로우는 TBDL → DLNG → DLVD, 실패 시 FAIL로 전환됩니다.
7. 블랙리스트 기능: 서버 장애 예방
블랙리스트 기능은 문제가 되는 메시지를 자동으로 격리하여 반복적인 시스템 장애를 방지합니다.
- DLNG 상태 메시지가 2회 이상 실패 시 자동 NDLV 상태 전환
- 클러스터 환경에서 한 노드 장애 발생 시 다른 노드로 재할당
- 재시작 후에도 문제 메시지 무한 루프를 막아줌
메시지가 블랙리스트에 격리되면 아래 경로에서 확인 가능합니다:
Message Monitor > Technical Attributes > 'Blacklisted' 체크
8. 마무리 요약
SAP PO Adapter Engine은 메시지 수신부터 전송까지 다양한 단계를 거치며 처리됩니다.
불필요한 백로그 정리와 블랙리스트 기능을 이해하면 시스템 안정성을 확보할 수 있습니다.
장애 예방을 위해선 정기적인 모니터링과 자동화된 알림 설정도 고려해보세요.
📌 참고 링크:
- SAP NWA 접속 후 'AdapterMessageMonitoringVi' 검색 → WSDL 사용
'PI_PO' 카테고리의 다른 글
SAP PI 메시지 패키징(Message Packaging) 설정과 활용 방법 (0) | 2025.05.26 |
---|---|
SAP PO 7.5에서 PGP 암호화/복호화 설정 방법 정리 (1) | 2025.05.25 |
PO운영자가 알고 있는 SAP GUI의 유용한 T코드 정리(초보자 가이드) (0) | 2025.05.23 |
오라클에서 마리아DB 연동 시 ₩ 기호 오류 해결법 (SQL 특수문자 처리 팁) (0) | 2025.05.15 |
SAP PO와 SAP ERP 시스템의 호환성 체크 방법 정리 (0) | 2025.05.06 |