SAP 시스템 실시간 사용자 조회 및 누가 무엇을 하는지 확인 방법

SAP 시스템 관리자라면 현재 SAP 시스템을 사용 중인 사용자가 누구이고, 어떤 터미널에서 로그인했고, 현재 무슨 작업을 하고 있는지 확인해야 할 경우가 있습니다.

시스템 관리자가 아니더라도 누가 현재 로그인 상태이고, 무슨 T-code를 실행 중인지 확인이 필요한 경우가 생길 수도 있습니다.

로그인 한 터미널 정보를 보면 어떤 컴퓨터에서 접속한 것이지도 확인할 수 있습니다.
경우에 따라서는 실시간 트렌잭션코드 사용량도 확인할 수 있습니다.

이러한 작업은 Function 모듈 하나로 간단하게 확인이 가능합니다.

이번 글에서는 SAP 시스템 실시간 사용자 조회 및 누가 무엇을 하는지 확인 방법에 대해 알아보겠습니다.

SAP 시스템에서 사용자 정보 조회 방법

SAP 시스템에서 사용자 정보를 조회하기 위해 Function module ‘TH_LONG_USR_INFO‘를 활용하면 간단하게 확인할 수 있습니다.

1. SE37(Function Builder)에서 Function 모듈 ‘TH_LONG_USR_INFO‘를 실행 해 줍니다.

2. Import 매개변수의 USER는 조회하고자 하는 사용자를 입력해 줍니다. (SAP 시스템 사용자 ID)

3. 만약 전체 사용자를 조회하고자 한다면 별표(*)를 입력하고 실행하면 됩니다.

SAP 시스템 실시간 사용자 조회 및 누가 무엇을 하는지 확인 방법

4. 실행 결과에서 테이블 USER_INFO엔트리를 클릭하면 아래 화면과 같이 현재 SAP 시스템 사용자 정보가 출력됩니다.

SAP 시스템 실시간 사용자 조회 및 누가 무엇을 하는지 확인 방법

ABAP으로 SAP 시스템에서 사용자 정보 조회 만들어 보기

SAP 시스템 사용자 정보를 조회하는 Function 모듈을 ABAP 프로그램에서 활용하면 좀 더 다양한 기능을 구현할 수 있습니다.

1. 아래 ABAP 프로그램은 ‘TH_LONG_USR_INFO‘ Function 모듈을 활용한 예제 입니다.

  • Parameters의 ‘P_USER‘는 조회할 사용자를 입력합니다. 생략하면 별표(*)를 붙여 전체 사용자가 조회 되도록 했습니다.
  • 인터널테이블 ‘IT_USER_INFO‘에 ‘TH_LONG_USR_INFO’의 실행 결과가 채워지게 됩니다.
  • IT_USER_INFO‘ 인터널테이블을 다양한 용도 활용하면 됩니다.
DATA IT_USER_INFO LIKE UINFO2 OCCURS 0 WITH HEADER LINE.
 
PARAMETERS P_USER LIKE  SY-UNAME.
 
 
*———————————————————————*
* START-OF-SELECTION. *
*———————————————————————*
START-OF-SELECTION.
 
  IF P_USER = ”.
    P_USER = ‘*’.
  ENDIF.
 
  CALL FUNCTION ‘TH_LONG_USR_INFO’
    EXPORTING
      USER      = P_USER
    TABLES
      USER_INFO = IT_USER_INFO.
 
*– ALV Display 또는 인터널테이블 처리 로직 추가
 
  LOOP AT IT_USER_INFO.
 
  ENDLOOP.

2. 인터널테이블(IT_USER_INFO) 활용 방법 예제입니다.

  • ALV 또는 WRITE 문으로 화면에 출력할 수 있습니다.
  • 특정 트랜잭션코드만 처리할 수 있습니다.
  • 특정 단말기(터미널)만 처리할 수 있습니다.
  • 특정 사용자만 처리할 수 있습니다.

3. 인터널테이블의 구성 요소는 다음과 같습니다.

  • SESSION : 사용자 세션
  • CLIENT : 클라이언트
  • USER : 사용자 이름
  • TERMINAL : 단말기 ID or 터미널 or IP주소
  • MODE : 외부모드
  • TCODE : 트랜잭션코드
  • TIME : 최종 세션의 다이얼로그 시간
  • LANG : 로그인 언어

마무리

SAP 시스템에서 실시간 사용자를 확인하는 것, 즉 실시간으로 누가 무슨 작업을 하고 있는지 확인하는 것은 가끔 필요한 작업 중에 하나 입니다.

업무와 관련하여 서로 간의 의견 대립이 생겼을 때 사용자 정보를 별도로 저장해서 관리한다면 큰 도움을 받을 수도 있습니다.
사용자 정보를 별도로 저장하는 방법은 앞에서 예로 든 ABAP 프로그램을 적당히 응용해서 개발하고, 백그라운드 작업 정의(SM36)에서 일정 시간 간격으로 사용자 정보를 CBO 테이블로 저장하면 간단하게 구현할 수 있습니다.





이 글이 도움이 되었기를 바랍니다. ^-^
댓글로 흔적을 남겨 주세요.

답글 남기기