회사코드 탐색 도움말 불필요 항목 제외처리
Search help Exit
회사코드(BUKRS) 탐색도움말 H_T001 에 User-Exit 적용
Configuration(IMG 셋팅)시 손쉽게 작업(복사)할 수 있도록 SAP에서 다수의 템플릿 용 회사코드를 제공합니다.
단, 실제 운영 환경에서 템플릿용 회사코드는 불필요한 항목이다 보니 사용자가 탐색도움말을 이용하여 회사 선택시 시인성이 떨어지게 됩니다.
물론 템플릿 회사코드를 삭제해도 무방하지만 다른 유형의 법인이 추가될 경우 템플릿 코드 활용을 고려하여,
가능하면 Search help Exit을 통해 탐색도움말에 표시하지 않는 방법이 효과적이라 생각하여 User-Exit을 적용하였습니다.
#1. Search help Exit에 적용할 Function 작성
Customizing Client 에서는 전체 회사코드를 표시하기 위해 현재 클라이언트가 T000-CCCATEGORY eq 'C' 인 경우 전체 코드 표시
FUNCTION ZCM_BUKRS_C_T001_EXIT.
*"----------------------------------------------------------------------
*"*"Local interface:
*" TABLES
*" SHLP_TAB TYPE SHLP_DESCT
*" RECORD_TAB STRUCTURE SEAHLPRES
*" CHANGING
*" REFERENCE(SHLP) TYPE SHLP_DESCR
*" REFERENCE(CALLCONTROL) TYPE DDSHF4CTRL
*"----------------------------------------------------------------------
IF CALLCONTROL-STEP EQ 'SELECT'.
SELECT SINGLE
CCCATEGORY INTO @DATA(LV_CCCATEGORY)
FROM T000
WHERE MANDT EQ @SY-MANDT.
IF LV_CCCATEGORY EQ 'C'. "커스터마이징용 클라이언트는 전체 조회
EXIT.
ENDIF.
SELECT
*
FROM T001
WHERE XTEMPLT EQ @SPACE "템플릿 코드 여부
AND RCOMP NE @SPACE "글로벌 회사코드 여부
INTO TABLE @DATA(LT_SOURCE).
IF SY-SUBRC = 0.
CALL FUNCTION 'F4UT_RESULTS_MAP'
EXPORTING
APPLY_RESTRICTIONS = SPACE
TABLES
SHLP_TAB = SHLP_TAB
RECORD_TAB = RECORD_TAB
SOURCE_TAB = LT_SOURCE
CHANGING
SHLP = SHLP
CALLCONTROL = CALLCONTROL
EXCEPTIONS
ILLEGAL_STRUCTURE = 1
OTHERS = 2
.
IF SY-SUBRC EQ 0.
CALL FUNCTION 'F4UT_OPTIMIZE_COLWIDTH'
TABLES
SHLP_TAB = SHLP_TAB
RECORD_TAB = RECORD_TAB
CHANGING
SHLP = SHLP
CALLCONTROL = CALLCONTROL
.
ENDIF.
CALLCONTROL-STEP = 'DISP'.
ENDIF.
ENDIF.
ENDFUNCTION.
#2. 탐색도움말에 Exit 적용
위에서 만든 Function을 회사코드 탐색도움말의 "탐색도움말 exit" 부분에 입력 후 활성화
'ABAP > 소스코드' 카테고리의 다른 글
[Class] Progress Indicator 처리용 Common Class (0) | 2023.05.24 |
---|---|
[Report] Client copy 후 번호범위 자동 조정 프로그램 (1) | 2023.05.24 |
[Include] Progress Indicator 처리용 Common Include (0) | 2023.05.10 |
[ABAP] HMAC 암호화(HMACSHA256) 소스코드 (0) | 2023.05.09 |
[SAP/Report] Table/Structure 의 필드 리스트 조회 (2) | 2023.05.07 |
댓글