쌓고 쌓다
[ABAP] SAP Memory, ABAP Memory 이해와 차이점 본문
ABAP Memory, SAP Memory 차이점이 뭔지 명확히 하고자 정리하게 되었다.
먼저, Session에 대해 이해해야 한다.
Session 이해하기

User Session
SAP GUI 로그인하여 성공했을 때 새로운 User Session 하나가 시작이 된다.
로그인할 때마다 하나의 User Session이 생기는 것이다.
External Session (Window)
로그인했을 때 SE80으로 SAP GUI Window가 하나 생기는데
이것을 하나의 External Session이라고 한다.
/o SE80처럼 새로운 Window 창이 생길 때 두 번째 External Session이 생기는 것이다.
최대 6개의 External Session을 열 수 있다.
Internal Session
화면 하나에 돌고 있는 프로그램들이라고 보자.
로그인하여 켜진 하나의 Extenral Session에서
레포트 프로그램 1.1을 실행하면 레포트 프로그램 1.1을 갖는 Internal Session이 하나 생기는 것이다.
예를 들어 1.1 프로그램에서 CALL TRANSACTION으로 다른 프로그램 1.2를 호출하면
Internal Session 1.2가 생기는 거고
화면 하나에 2개의 Internal Session이 돌고 있는 상황인 것이다.
다른 프로그램을 호출하는 INSERT, LEAVE, SUBMIT에 따라 Internal Session이 생기는 건지 초기화되는 건지
등등 상황에 따라 달라짐을 유의하자.
| 명령어 | Internal Session 변화 |
| CALL TRANSACTION | 새로운 Internal Session 생성 |
| LEAVE TO TRANSACTION 'T-CODE' | 현재의 External Session에 포함된 Internal Session 모두 종료후 해당 T-Code 프로그램 실행 |
| SUBMIT <prgram> | 현재의 Internal Session은 유지하지만 Internal Session 안에 프로그램만 변경된다. |
아래처럼 SAP GUI 우클릭하여 닫기 눌러서 세션을 확인 가능하다.


SAP Memory와 ABAP Memory
이제 그림을 다시 보자.

SAP와 ABAP Memory의 차이점이 눈에 보인다!!!
ABAP 메모리는 External Session별로 공유되고
SAP Memory는 User Session에서 공유되는 값이다!
ABAP Memory 예시 (IMPORT, EXPORT)

ABAP Memory에 ID를 지정하여 공간을 구분할 수 있다.
Field, Structure, Internal Table의 값을 저장할 수 있다.
ZABAP_42번 프로그램 - 데이터 넘겨주기

'GT_SFLIGHT'에 들어있는 값을 'GT_DATA'라는 이름으로
'SFT' 메모리 공간에 할당하겠다라는 뜻이다.
ZABAP_43번 프로그램 - 데이터 받기

'SFT' 메모리 공간에 'GT_DATA'라는 이름의 데이터를 GT_FLIGHTS로 가져오겠다.
IMPORT로 데이터를 받고 FREE 구문으로 메모리를 비워주는 과정도 해주자.
FREE MEMORY ID 'SFT'.
SAP Memory 예시 (SET/GET Parameters)

SET PARAMETER ID : SAP 메모리에 'CON'라는 ID로 값을 저장
GET PARAMETER ID : SAP 메모리 'CON' 공간에 값을 가져오기
ABAP 메모리와 달리 SAP 메모리는 필드 값 하나만 ID에 할당할 수 있다.


PARAMETERS와 SELECT-OPTIONS에서 MEMORY ID라는 키워드로
SAP Memory에 값을 할당하거나 불러올 수 있다.
'SAP > ABAP' 카테고리의 다른 글
| [ABAP] XML로 그래프 커스터마이징하여 그리기 (0) | 2025.12.28 |
|---|---|
| [ABAP] 'GFW_PRES_SHOW' 펑션으로 그래프 차트 쉽게 그리기 (1) | 2025.12.27 |
| [ABAP] 사용자 파라미터 (사용자 마스터 매개변수 ID) 테이블 (0) | 2025.12.21 |
| [ABAP] 매크로 DEFINE 구문 (3) | 2025.12.14 |
| [ABAP] WHERE 조건절 STRING으로 동적으로 구성하기 (0) | 2025.11.22 |