쌓고 쌓다
[ABAP] 사용자 파라미터 (사용자 마스터 매개변수 ID) 테이블 본문
예를 들어 다음과 같은 FD(Functional Design)을 받았다고 하자.

Selection Screen 부분의 요구사항이다.
사용자 파라미터의 CAC 값 표시?

MEMORY ID 'CAC'를 사용하여 사용자 파라미터 값을 가져올 수도 있지만
값을 잘 못 가져오길래 다른 방법을 찾았다.
USR05(사용자 마스터 매개변수 ID) 테이블을 사용할 수 있다.
USR05 테이블과 SU01

사용자가 디폴트로 가지고 있는 값을 처리해야하는 경우 USR05 테이블을 사용해야 한다.
디폴트 값들은
T-Code : SU01
에서 유저별로 설정할 수 있다.
(권한이 없어 테스트는 못해봐서 직접 USR05 테이블의 값들을 변경하며 테스트했다..)
또는
시스템 - 사용자 프로파일 - 사용자 데이터 탭에서 로그인한 유저로 설정할 수 있다.


매개변수 탭 페이지에서 매개변수 ID 기본값을 설정할 수 있다.
여기서 변경저장한 값은 'USR05' 테이블에 반영된다.
(이렇게 변경하니
'MEMORY ID CAC'가 안되어서
새로운 방법을 작성하는 게시글이었는데
갑자기 'MEMORY ID CAC'가 된다...)
TPARA 테이블

TPARA 테이블에는 파라미터 ID로 사용하는 키 값들이 무엇이 있는지 확인할 수 있다.
'CAC'는 관리회계영역이였다.
사용자 파라미터(매개변수)의 CAC 값 읽기
관리회계영역(Controlling Area) CAC의 값을 어떻게 읽어오라고 요구했던 것일까?

'S_TWB_U_GET_USER_PARAMETERS' 펑션을 사용해
USR05 테이블에 들어있는 값들을 받아 올 수 있다.

받아온 Internal Table에는 위와 같이 값들이 담겨있다.
Internal Table에서 'CAC' 값을 찾아 Selection Screen에 담아주라는 것이었다.

'K_KOKRS_SET' 펑션을 사용해도 USR05 테이블의 값을 가져오는 것을 확인했다.
위의 펑션을 사용해도 된다.

팝업창 띄우기를 사용하면 사용자가 'CAC' 직접 선택할 수 있는 팝업창이 표시가 된다.
관리회계 영역의 회사코드 읽기
게시글의 타이틀에 벗어나는 내용이지만...

읽어온 'CAC' 값으로 회사 코드를 표시하는 게 있었다.

'K_CATT_BUKRS_KOKRS' 펑션을 사용해
Controlling Area 값을 넣어 Company Code를 가져올 수 있다.

'K_CATT_BUKRS_KOKRS' 펑션도 사실
'TKA02' 테이블에서 값을 읽어오는 펑션이라
TKA02 테이블을 직접 사용해서 가져와도 괜찮다.
궁금한 게
TKA02 테이블을 보면

'A'라는 관리회계 영역에 여러 회사 코드가 존재할 수 있는 것 같은데
Controlling Area와 Company Code는 1:N 관계 같은데
하나만 가져온다.
인터넷에 검색해 보면 회사에 따라 1:1일 수 도 있다고 하는 의견이 있어
그렇구나~ 하고 넘겼다.
결론
사용자별로 설정된 기본값을 읽어와서 개발해야 하는 경우가 있다.
'티코드 SU01' 또는 '사용자 프로파일 탭' 에서 사용자별로 기본값을 설정할 수 있다.
그곳에 'CAC'라는 관리회계영역을 지정할 수도 있다.
그 지정된 사용자 파라미터 값은 'USR05' 테이블에서 확인할 수 있다.
MEMORY ID에 사용되는 키 값은 'TPARA' 테이블에서 확인 가능하다.
'SAP > ABAP' 카테고리의 다른 글
| [ABAP] 'GFW_PRES_SHOW' 펑션으로 그래프 차트 쉽게 그리기 (1) | 2025.12.27 |
|---|---|
| [ABAP] SAP Memory, ABAP Memory 이해와 차이점 (0) | 2025.12.21 |
| [ABAP] 매크로 DEFINE 구문 (3) | 2025.12.14 |
| [ABAP] WHERE 조건절 STRING으로 동적으로 구성하기 (0) | 2025.11.22 |
| Primary, Secondary Key와 WITH TABLE KEY, WITH KEY 차이점 (0) | 2025.11.15 |