웅겹살의 프로그래밍 삼매경

[ABAP] SAP ERP ABAP 날짜 및 시간 본문

SAP Abap

[ABAP] SAP ERP ABAP 날짜 및 시간

웅겹사r☆ 2025. 3. 17. 07:34
728x90

ABAP 날짜 및 시간 다루기

ABAP에서 **날짜(Date)와 시간(Time)**은 기본적으로 그레고리안 달력을 기반으로 한다.
날짜 및 시간은 전 세계적으로 통용되는 형식으로 저장되며, 출력 시 국가별 형식으로 변환될 수 있다.

날짜와 시간 처리는 D(날짜), T(시간) 데이터 타입을 사용하며, 타임스탬프(TIMESTAMP, TIMESTAMPL) 타입도 활용할 수 있다.
이번 글에서는 날짜 및 시간 데이터 타입, 기본적인 연산, 타임스탬프 활용 방법을 살펴본다.


📌 1. ABAP 날짜 및 시간 데이터 타입

ABAP는 날짜와 시간을 다루기 위해 다음과 같은 데이터 타입을 제공한다.

데이터 타입설명

D 날짜 데이터 타입 (YYYYMMDD)
T 시간 데이터 타입 (HHMMSS)
TIMESTAMP UTC 형식의 짧은 타임스탬프 (YYYYMMDDhhmmss)
TIMESTAMPL UTC 형식의 긴 타임스탬프 (YYYYMMDDhhmmss,mmmuuun)

📌 2. 날짜 및 시간 선언 및 기본 사용

ABAP에서는 날짜(D), 시간(T) 데이터 타입을 사용하여 날짜 및 시간을 저장할 수 있다.

 

이 변수들은 다음과 같이 값을 가질 수 있다.

  • 날짜(D): 20240312 → 2024년 3월 12일
  • 시간(T): 153045 → 오후 3시 30분 45초

📌 3. 현재 날짜 및 시간 가져오기

ABAP에서는 현재 날짜와 시간을 시스템 필드 **SY-DATUM (날짜), SY-UZEIT (시간)**을 통해 가져올 수 있다.

현재 날짜 가져오기

 

📌 출력 예시

 

 

현재 시간 가져오기


 
 

📌 출력 예시

 

📌 4. 날짜 연산 (날짜 더하기 / 빼기)

날짜 데이터 타입(D)에서는 날짜 연산이 가능하며, 특정 날짜에서 일(day) 단위 연산을 수행할 수 있다.

현재 날짜에서 6일 후 계산

 

📌 출력 예시

 

📌 참고

  • 날짜 연산 시 월(month)이나 연(year) 단위로 넘어가면 자동으로 반영됨
  • 예: 20240228 + 3 → 20240302 (윤년 자동 계산)

📌 5. 시간 연산 (시간 더하기 / 빼기)

ABAP에서는 시간 데이터 타입(T)을 활용하여 초 단위로 연산할 수 있다.

현재 시간에서 75초 더하기

 
 

📌 출력 예시

 

📌 참고

  • 75초를 더하면 1분 15초가 추가됨
  • 15:30:45 + 75초 → 15:32:00

📌 6. 타임스탬프 활용

ABAP에서는 타임스탬프(TIMESTAMP, TIMESTAMPL) 타입을 사용하여 UTC 표준 시간을 다룰 수 있다.

SAP 시스템에서는 기본적으로 UTC 시간을 저장하며, 특정 시간대로 변환하려면 TIME ZONE을 설정해야 한다.

타임스탬프 가져오기

 

📌 출력 예시

 

📌 참고

  • TIMESTAMP → YYYYMMDDhhmmss (UTC 기준)
  • TIMESTAMPL → YYYYMMDDhhmmss,mmmuuun (밀리초 포함)
  • SY-ZONLO는 사용자의 로컬 시간대를 자동으로 가져옴
  • UTC에서 한국 시간(KST, +9시간)으로 변환 시 반영됨

 


📌 8. 마무리

이번 글에서는 ABAP에서 날짜(Date)와 시간(Time)를 다루는 방법을 살펴보았다.
현재 날짜 및 시간 가져오기 → SY-DATUM, SY-UZEIT
날짜 연산 (일 단위 더하기/빼기) → date = date + N
시간 연산 (초 단위 더하기/빼기) → time = time + N
타임스탬프 활용 → GET TIME STAMP FIELD
시간대 변환 → TIME ZONE SY-ZONLO

SAP 시스템에서는 날짜 및 시간을 다룰 일이 많으므로,
실제 개발 환경에서 활용할 수 있도록 직접 테스트해 보자! 🚀

728x90
Comments