모듈 : BC
기능 설명 : SAPGUI 중복 로그인 제한
사용 예시 : SAPGUI 를 통해서 중복 로그인을 제한하기 위한 USER-EXIT
SAP Enhancements (SMOD) : SUSR0001
Function Group : XUSR
Function Module : EXIT_SAPLSUSF_001
Include : ZXUSRU01
1. 소스코드
"### 최대 중복 로그인 허용 수치
DATA: Login_MAX TYPE I VALUE 2.
DATA: A(60), Current_N(3), TEMP_A(250), TEMP_B(250), TEMP_C(250), TEMP_D(250).
DATA: Login_N TYPE I VALUE 4.
DATA: GT_USR41 LIKE USR41 OCCURS 0 WITH HEADER LINE.
IF SY-SYSID = '<SID>'.
"### 제한 예외 SAP ID
IF SY-UNAME <> 'SAP*'
AND SY-UNAME <> 'DDIC'
AND SY-UNAME <> 'TMSADM'
"### 로그인 사용자 정보 체크 및 카운팅 (SAP 직접 로그인 사용자 테이블 체크)
SELECT * INTO TABLE GT_USR41
FROM USR41
WHERE BNAME = SY-UNAME.
Login_N = 0. " 현재 로그인 사용자 테이블 건수
TEMP_C = ' '. " 화면 팝업창에서 로그인 정보 2개 표시
TEMP_D = ' '. " 화면 팝업창에서 로그인 정보 4개 표시할경우 사용
LOOP AT GT_USR41.
TEMP_A = GT_USR41-TERMINAL.
TEMP_B = ' / '.
Login_N = Login_N + 1.
IF Login_N < 3.
CONCATENATE TEMP_A TEMP_B TEMP_C INTO TEMP_C.
ELSEIF Login_N < 5.
CONCATENATE TEMP_A TEMP_B TEMP_D INTO TEMP_D.
ENDIF.
ENDLOOP.
"### Login_MAX 값 2 설정 시, 중복 로그인 불가
IF Login_N >= Login_MAX.
Current_N = Login_N - 1.
CONCATENATE ' ' SY-UNAME ' 계정이 현재 ' Current_N ' 개가 로그인 되어 있습니다' INTO A.
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
TITEL = 'SAP ID 정책 위반 안내'
TXT1 = A
TXT2 = '중복 로그인 정책에 위반되어 종료합니다, 접속된 PC명 : '
TXT3 = TEMP_C
TXT4 = TEMP_D.
"### 추가로 로그인한 SAP GUI 창은 위의 팝업을 보여준 후, Close 시킴
IF sy-subrc = 0.
CALL FUNCTION 'TH_DELETE_MODE'
EXPORTING
mode = -1.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
'SAP BC-프로그램' 카테고리의 다른 글
SAP Adapter Listener 연결오류 관련 (0) | 2024.06.28 |
---|---|
사용자 레이아웃 설정 복사 프로그램 (0) | 2024.03.11 |
Oracle DB 테이블스페이스 기록 및 알람 프로그램 (0) | 2024.03.11 |
ABAP - 마스터 패스워드 관리 프로그램 (2) | 2024.03.11 |
일일 간편 시스템 모니터링 프로그램 (0) | 2024.03.09 |