본문 바로가기

IT 이야기

[SAP] System Field (SY-) 정리

반응형

 

🔹 시스템 필드 정리표 (SY-)

시스템 필드설명예시 값비고
SY-DATUM 현재 날짜 2025-07-23 YYYY-MM-DD 형식
SY-UZEIT 현재 시간 141530 HHMMSS 형식
SY-UNAME 사용자 ID KIMJASON 로그인 ID
SY-LANGU 로그인 언어 E K: 한국어, E: 영어
SY-TCODE 실행 중인 TCode SE38 트랜잭션 코드
SY-CPROG 현재 프로그램 명 ZREPORT_TEST  
SY-SUBRC 명령어 실행 결과 0, 4, 8 등 0: 성공, 그 외: 실패
SY-TABIX 내부 테이블 인덱스 1, 2, ... LOOP, READ 등에서 사용
SY-INDEX 현재 LOOP 횟수 1, 2, ... DO, LOOP 등에서 증가
SY-MSGID 메시지 클래스 ZMSG 메시지 ID
SY-MSGNO 메시지 번호 001 메시지 번호
SY-MSGTY 메시지 타입 S, E, W S: 성공, E: 오류, W: 경고
SY-MSGV1 ~ SY-MSGV4 메시지 변수 Material 1001 등 메시지 텍스트에 삽입되는 값
SY-REPID 현재 보고서 이름 ZMY_REPORT SY-CPROG과 유사
SY-DYNNR 화면 번호 1000 현재 실행 중인 화면
SY-SLSET 선택화면 variant ZVARIANT1 선택화면에서 variant 사용 시

✅ SAP ABAP 시스템 필드 정리 – 실행환경 중심

SAP ABAP의 시스템 필드(SY-)는 프로그램 실행 시 시스템이 자동으로 채워주는 전역 변수입니다.
그중에서도 실행 환경 관련 필드는 프로그램 동작 흐름과 조건 분기에 매우 중요합니다.


📌 실행환경 관련 주요 시스템 필드

시스템 필드설명예시 값비고
SY-BATCH 프로그램이 백그라운드 모드에서 실행 중인지 여부 'X' 또는 공백 'X': 백그라운드 실행
SY-JOBNAME 백그라운드 Job 이름 ZBATCH_JOB_001 SM36에서 등록한 잡 이름
SY-JOBNO 백그라운드 Job 번호 12345600 시스템 내부 고유 번호
SY-UNAME 현재 사용자 ID KIMJASON 로그인 ID
SY-TCODE 실행 중인 트랜잭션 코드 SE38, ZMM001 등 사용자가 호출한 TCode
SY-CPROG 현재 실행 중인 프로그램명 ZMM_BATCH_SEND 서브루틴이나 함수에서도 사용 가능
SY-REPID 리포트 ID (현재 프로그램명) ZMM_BATCH_SEND SY-CPROG과 유사
SY-DATUM 오늘 날짜 2025-07-23 시스템 서버 기준 날짜
SY-UZEIT 현재 시간 144530 HHMMSS 형식
SY-LANGU 로그인 언어 코드 E, K 메시지/데이터 표시용
SY-HOST 실행 중인 SAP 서버 호스트명 SAPHOST1 분산 시스템에서 중요
SY-MANDT 클라이언트 번호 100, 200 클라이언트 구분
SY-OPSYS 운영체제 Windows NT, Linux 시스템 상태 체크 시 사용

✅ 실무 활용 팁

상황참고할 필드
백그라운드인지 조건 분기 SY-BATCH, SY-JOBNAME, SY-JOBNO
사용자별 처리 로직 SY-UNAME, SY-LANGU
프로그램별 메시지/로그 SY-REPID, SY-CPROG
서버 구분, 운영체제에 따른 처리 SY-HOST, SY-OPSYS
 

🧠 정리 포인트

  • SY-BATCH는 현재 실행 방식이 백그라운드인지 확인할 때 핵심
  • SY-JOBNAME, SY-JOBNO는 백그라운드 잡 정보 확인에 유용
  • SY-UNAME, SY-TCODE, SY-REPID 등은 로그 기록/디버깅에 필수

 

 

반응형