SAP Memory와 ABAP Memory - SAP Memory실습

j_wisdom_h·2026년 2월 26일

SAP

목록 보기
20/21
post-thumbnail

SAP GUI 스탠다드 예시(T-code: SE11)

SeSAC의 과정에서 배웠던 SAP Memory는 바로 모든 세션에서
쓸 수 있는 메모리라는 것이다.

예시)

이렇게 T-code: SE11에서 SCARR을 입력하면

다른 창을 열어서도 SCARR가 보인다.

F1 > Technical로 들어가면
이렇게 parameter ID가 있는데, 이걸 KEY로 SAP Memory에 저장된다.

GET/SET Parameter ID 설정하는법

방법1. t-code : se80

SE80에서

Workbench > Edit Object > Enhanced Options > SET/GET Parameter ID

로 SAP Memory의 KEY를 설정한다.

방법2. t-code : sm30

TPARA는 SAP 시스템 전체에서 사용하는 SPA/GPA Parameter ID 정의 테이블.

방법3. 더블클릭해서 생성하기

이게 가장 직관적이다.
SE38이나 SE80에서 코드를 작성하면서 생성한다.

SAP Memory할당

SET PARAMETER ID <pid> FILD <f>
필드 <f>를 SPA/GPA파라미터 <pid>에 저장
<pid> : 최재 20자. 값이 있다면 덮어쓴다.

SAP Memory읽기

GET PARAMETER ID <pid> FILD <f>
SAP Memory의 <pid>에 있는 값을 필드<f>에 저장한다.
만약 <pid>가 메모리 ID에 존재하지 않는다면, sy-subrc = 4.

실습 1

파라미터 또는 Select-option변수에 'Memory ID'를 사용해 필드와 파라미터를 연결시킨다.

PARAMETERS P_1 TYPE C MEMORY ID 'PID'

레포트 프로그램에서 메모리 할당후 값을 엔터하면
ZMY에 SET A가 된다.

모듈풀 프로그램의 스크린페인터에서

PARAMTER ID와
GET/SET PAMRMETER 체크를 해주면


새창을 열어서 모듈풀 프로그램 실행하면
리포트프로그램에서 입력했던 값이 할당된 것을 확인할 수 있다. (GET ZMY)

실습 2

  1. ZENM, ZENO를 더블클릭해서 Create Paramters해서 메모리할당

  2. 사용자가 더블클릭하면(BY AT LINE-SELECTION),
    파라미터 값 저장되고, Z11_03트랜잭션 실행된다.

※ AND SIP FIRST SCREEN: 첫화면을 건너뛰고(SKIP) 실행하라는 명령어.
※ HIDE: 필드의 값을 HIDE메모리 영역으로 저장하는 역할

Z11_02에서 더블클릭하면 이벤트를 타게 되고,
파라미터 값이 SET되고
Z11_03프로그램으로 넘어간다. (새로운 내부세션이 생성됨)
SAP Memory에서 GET PARAMTER ID로 동일한 값이 출력된다.

생각해보기

SAP MEMORY를 어디서 활용할 수 있을까?
초기설정값에 활용할 수 있다.

예를 들어 회사코드 1000, 플랜트1010에 대한 조회 권한만 가지고 있다면
T-CODE : SU03또는 SU01에서
USER PROFILE의 PARAMETERS탭을 통해 값을 미리 설정할 수 있다.

이경우에 사용자가 로인하여 트랜잭션을 조회할때
회사코드, 플랜트 필드가 자도응로 값이 입력되어 효율적으로 사용할 수 있을 것이다.

profile
안녕하세요! j_wisdom_h의 개발기록 블로그입니다.

0개의 댓글