2024년 8월 24일 토요일

SAPGUI 화면을 외부프로그램에서 불러올수 있을까?

SAP PO운영하는 사람으로서.. 하루도 몇십개의 문의로 세션이 금방 끊기고 느린 PO모니터링이나 ERP 등 모니터링(SXI_MONITOR 티코드) 화면에 로그를 확인해보면 지칠때가 있음

PO쪽 모니터링은 웹서비스로 제공하는 서비스를 사용하여 어떻게 될것 같고 문제는 ERP의 SAPGUI인데 일단 AI한테 물어보았음

AI질문&답변

SAP ERP 시스템에서 제공하는 SXI_MONITOR 및 SXMB_MONI 트랜잭션 코드는 주로 SAP PI (Process Integration) 또는 SAP PO (Process Orchestration) 환경에서 사용되며, 메시지 모니터링 및 인터페이스 오류 처리를 위해 활용됩니다. 이러한 모니터링 화면을 외부 프로그램에서 조회하거나 화면을 불러오려면 몇 가지 방법을 고려할 수 있습니다.

1. SAP GUI Scripting 사용
  • SAP GUI Scripting을 통해 SAP GUI 트랜잭션을 자동화하여 외부 프로그램(예: Python 스크립트)에서 해당 트랜잭션 코드를 실행하고 화면의 데이터를 수집할 수 있습니다. 이를 통해 화면을 캡처하거나 데이터를 추출할 수 있습니다.
  • 윈도우 자바용 SAP GUI의 기능을 향상시키는 자동화 인터페이스
  • 매크로와 유사한 스크립트 기록 및 실행 → 반복적인 작업을 자동화
  • 기본적으로 비활성화 된 기능 → 수작업으로 클라이언트/서버를 활성화해 줘야한다고 함
  • 스크립팅+엑셀을 사용하여 SAP에서 엑셀로 데이터를 추출할수 있다고 함

2. RFC/BAPI 사용
  • SAP에서는 Remote Function Call(RFC)와 BAPI(Business Application Programming Interface)를 통해 외부 프로그램에서 SAP 시스템에 접근할 수 있습니다. 특정 BAPI나 RFC 함수가 모니터링 데이터를 제공하는지 확인하고, 이를 호출하여 데이터를 가져올 수 있습니다.
  • 만약 SAP 표준 BAPI나 RFC가 없다면, ABAP 개발을 통해 커스텀 RFC를 만들어 데이터를 추출하는 방법도 가능합니다.
  • BAPI는 모르겠고 자바-JCO-RFC를 사용하여 모니터링 화면을 자바에서 조회해서 불러온다면 괜찮은 방법일것 같음
  • 클라이언트의 화면과 프로그램을 만들고 JCO 라이브러리를 서버에 셋팅해야함
  • 모니터링 데이터를 불러오기 위해 RFC를 만들어 모니터링 데이터를 가져와야하는데 작업이 많아지는것 같음

3. Web Service 또는 OData 사용
  • SAP NetWeaver 기반 시스템에서는 OData 서비스나 SOAP 기반의 Web Service를 통해 데이터를 외부로 노출할 수 있습니다. SAP Gateway를 사용하여 OData 서비스를 생성하고, 이를 통해 SXI_MONITOR 또는 SXMB_MONI의 데이터를 외부에서 조회할 수 있도록 설정할 수 있습니다.
  • SAPGUI라 SAP NetWeaver기반 시스템은 아님
  • OData보다는 RFC가 더 익숙하고 JCO보다는 REST가 더 익숙한 느낌일듯

4. SAP PI/PO API 활용
  • SAP PI/PO 자체의 API를 활용하여 메시지 상태나 로그 데이터를 외부 프로그램에서 조회할 수 있습니다. 이는 특히 메시지 모니터링에 유용하며, 외부 애플리케이션에서 HTTP(S) 요청을 통해 데이터를 받아올 수 있습니다.
  • SAP PO에는 Directory API가 있어 외부프로그램에서 메시지모니터링 로그를 확인할수 있지만 SAP SXI_MONITOR 티코드 데이터에 대한 API나 웹서비스는 확인이 안됨
  • PO-SAP는 ABAP Proxy가 친숙해서 ABAP 프록시-RFC를 통해 데이터를 가져올수 있을것 같음

5. SAP Fiori 또는 UI5 커스터마이징
  • SAP Fiori나 UI5를 사용하여 SXI_MONITOR 또는 SXMB_MONI와 유사한 화면을 웹 기반으로 구현할 수 있습니다. 이렇게 하면 외부 애플리케이션에서 웹 브라우저를 통해 쉽게 접근할 수 있습니다.
  • 관련자료를 찾을수 없음

6. SAP Background Job 및 데이터 추출
  • 백그라운드 잡으로 트랜잭션 코드를 실행하고, 결과 데이터를 파일로 추출한 후 외부 프로그램에서 해당 파일을 읽는 방식도 생각해 볼 수 있습니다.
  • 원하는건 조건을 다르게 하며 실시간 조회라 이방식은 제외

Step By Step Guide for Configuring User-Defined Search In PI 사이트에 보면
PI 7.3에 메인에서 Configuration and Monitoring Home클릭 Monitoring > Integration Engine > Message Monitor(Database)가 있는데 이걸 클릭하면 ABAP 스택을 열어 SXI_MONITOR모니터링 화면을 열수 있는것으로 보이는데 PO 7.5에서는 해당 메뉴가 안보임

정리를 하면

PI/PO담당자가 PO나 SAP 시스템의 모니터링에 로그인,짧은 세션에 제약 없이 모니터링을 원한다면?
PO는 Directory API를 통해 자바로 실시간 모니터링을 할수 있는 화면을 만들고 SAP 시스템은 ABAP Proxy방식을 통해 SXI_MONITOR티코드 관련 RFC통해 데이터를 가져온다면 한 화면에서 PO/ERP/MDG 등 모니터링 데이터를 제약없이 확인 가능할것 같음


<AI통해 정리한 글>

댓글 없음:

댓글 쓰기