[SAP] UTC & Time zone 적용

몰라·2025년 4월 6일

SAP

목록 보기
1/1

타임존 개념에 대해서 잘 몰라서 찾아봄.


나라마다 시차가 다르기 때문에
전 세계 시스템이 동일 기준으로 시간 데이터를 다루기 위해 UTC를 사용한다.

SAP, 서버 로그, 클라우드 시스템 등에서는 모두 UTC로 저장 후,
사용자 타임존에 맞게 변환해서 보여준다.


항목기준 시간설명
저장 기준UTC (세계 표준시)전 세계 공통 시간으로 저장
표시 기준사용자 타임존(Local)각 사용자의 지역 시간대에 맞춰 표시

UTC(Coordinated Universal Time) 이란?

전 세계에서 공통으로사용하는 시간 기준.

TimeZone이란?

Time Zone(시간대)는 지역별 시차를 나타내는 값으로,
SAP에서는 시간을 저장(UTC) ↔ 표시(로컬) 사이에서 변환하는 기준 역할

SAP에서 Time Zone은 사용자 위치에 맞는 시간 변환 기준이고,
시스템은 항상 UTC로 저장하고, Time Zone을 기준으로 변환해 보여준다!

추가) 썸머타임(Daylight Saveing Time)이란?

**"해가 길어지는 여름철에 시계를 1시간 앞당기는(빠르게돌리는) 제도"
보통 3~11월 사이에 적용됨/ "오전이 더 밝고, 오후 활동 시간이 늘어나게" 하기 위해 도입
유럽, 미국 등 일부 나라만 사용, 아시아 대부분 국가는 사용 안함.

🔧 실제 시스템에서는?

  • 썸머타임이 시작되면,
    예전에는 UTC+1이던 독일이 → UTC+2로 바뀐다.

  • 예시:
    같은 UTC 12:00이라도, 썸머타임 적용 후에는
    독일 현지 시각은 14:00으로 표시된다.

  • 왜?
    시계가 1시간 더 앞서 있기 때문이다.
    그래서 우리는 시간이 "빨라진 것처럼" 느끼게 되는 것이다.

🕒 예시

저장된 시간 (UTC)사용자 타임존실제 표시 시간
2025-04-06 00:00🇰🇷 KST (UTC+9)2025-04-06 09:00
2025-04-06 00:00🇩🇪 CET (UTC+1)2025-04-06 01:00
2025-04-06 00:00🇺🇸 EST (UTC-4)2025-04-05 20:00

⚙️ 타임존 설정 위치

SAP GUI (On-Premise 기준)

  • SU01Defaults 탭 → Time Zone 설정 (예: ROK, UTC+9)

SAP Fiori (Cloud 기준)

  • 우측 상단 사용자 아이콘SettingsRegional Settings → Time Zone

🛠️ ABAP 개발 시 타임존 변환 예시

CALL FUNCTION 'CONVERT_TIME_STAMP'
  EXPORTING
    timestamp_utc = '20250406000000'
    time_zone     = 'ROK'
  IMPORTING
    timestamp     = DATA(lv_local_time).

DB 테이블 (CDHDR, EDIDC)의 시간은 항상 UTC 기준!
CDHDR는 데이터가 변경된 로그, EDIDC는 시스템 간 통신 로그,
둘 다 시간은 UTC 기준으로 저장돼서 표시 시 변환이 필요

사용자 화면에서 표시되는 시간은 타임존을 적용한 결과임


추가 🌍 SAP Fiori와 Time Zone 적용의 중요성

SAP 시스템은 시간 데이터를 UTC 기준으로 저장하고 전송하지만,
Fiori 앱에서의 화면 표시, 전표 조회, 외부 시스템 연동에서는
Time Zone 설정 여부가 매우 중요


✅ 1. 입력 시간 왜곡 (Fiori 전표 입력 시)

  • Fiori에서 전표를 입력할 때, 사용자의 Time Zone이 설정되지 않으면
  • 입력 시간은 UTC 기준으로 그대로 표시
  • 예: 한국에서 오전 9시에 입력했는데, 화면에는 00:00으로 표시
  • → 실제 입력 시간보다 9시간 빨리 입력된 것처럼 오해 발생

✅ 2. 조회 조건 불일치 (Fiori 전표 조회 시)

  • 전표를 날짜 조건으로 조회할 때도 Time Zone이 설정되지 않으면
  • Fiori는 UTC 기준으로 날짜 범위를 계산
  • → 사용자가 원하는 KST 기준의 조회 범위와 불일치 발생
  • 예:
    • 조회 조건: 2025-04-06
    • 실제 조회 범위 (UTC 기준): 2025-04-06 00:00 ~ 23:59
    • KST 기준으로는 2025-04-06 09:00 ~ 2025-04-07 08:59만 해당됨
    • → 이로 인해 데이터 누락, 조회 결과 오류 발생

✅ 3. 외부 시스템과 시간 해석 불일치 (인터페이스 연동 시)

  • SAP는 IDoc, API 등 전송 시간을 UTC로 기록
  • 외부 시스템이 이를 로컬 시간으로 그대로 해석하면:
    • 시간대 오차 발생 (예: 9시간 차이)
    • 중복 처리, 처리 누락, 지연 처리 등 다양한 문제가 발생 가능

📌 최종 요약

  • SAP 시스템은 시간 데이터를 항상 UTC로 저장하거나 전송
  • 그러나 사용자 화면 표시, 검색 필터, 외부 연동에서는
    Time Zone 적용 여부가 정확성의 핵심

🎯 핵심 정리 한 줄

저장·전송은 UTC 기준,
표시·조회·연동은 Time Zone 적용 여부에 따라 결과가 달라진다.

profile
일주일 동안 헤맨 흔적을 정리하러 왔습니다

0개의 댓글