📅 SAP 날짜·주차 계산 함수 완벽 가이드
SAP에서 날짜 관련 로직을 구현할 때, 구글링 시간을 줄여줄 "치트 시트"입니다. 필요할 때마다 Ctrl + F로 찾아보세요!
1. 주차(Week) 관련 함수
주차 계산은 리포트의 주 단위 집계나 생산 계획 수립 시 필수적입니다.
| 함수명 | 설명 |
| DATE_GET_WEEK | 입력한 날짜가 속한 주차를 반환 (형식: YYYYWW) |
| WEEK_GET_FIRST_DAY | 특정 주차의 시작일(월요일)을 반환 |
| GET_WEEK_INFO_BASED_ON_DATE | 날짜 하나로 연도, 주차, 시작/종료일을 한 번에 확인 |
2. 날짜 차이 및 기간 계산
두 날짜 사이의 간격을 구할 때 사용합니다. 단순 일수인지, 년/월 단위인지에 따라 선택하세요.
- HR_HK_DIFF_BT_2_DATES: 두 날짜 간의 차이를 일/월/년 단위로 정교하게 계산합니다.
- DAYS_BETWEEN_TWO_DATES: 가장 기본적인 함수로, 두 날짜 사이의 단순 일수(Day) 차이를 구합니다.
- FIMA_DAYS_AND_MONTHS_AND_YEARS: FI에서 주로 사용하며, 이자 계산 등을 위한 정확한 기간 산출에 적합합니다.
- SD_DATETIME_DIFFERENCE: 날짜뿐만 아니라 시간(Time) 차이까지 고려해야 할 때 유용합니다.
3. 날짜 더하기 / 빼기 (연산)
"오늘로부터 3개월 전" 혹은 "결제일 + 10일" 등의 로직을 짤 때 핵심이 되는 함수들입니다.
💡 개발자 팁: RP_CALC_DATE_IN_INTERVAL은 일, 월, 년 단위를 한 번에 더하거나 뺄 수 있어 실무에서 가장 범용성이 높습니다.
- RP_CALC_DATE_IN_INTERVAL : 년, 월, 일 단위로 유연하게 날짜를 가감합니다.
- MONTH_PLUS_DETERMINE: 특정 개월 수를 더한 결과를 가져옵니다.
4. 월 / 분기 / 회계 기간 계산
주로 재무(FI)나 관리(CO) 모듈에서 월말 정산이나 회계 기간을 제어할 때 사용합니다.
- LAST_DAY_OF_MONTHS: 해당 월의 마지막 날짜를 구합니다. (28일, 30일, 31일 자동 판단)
- FIRST_DAY_IN_PERIOD_GET: 특정 회계 기간의 시작일을 가져옵니다.
- LAST_DAY_IN_PERIOD_GET: 특정 회계 기간의 종료일을 가져옵니다.
- DATE_TO_PERIOD_CONVERT: 날짜를 입력하면 해당되는 회계 기간/연도로 변환합니다.
- PERIOD_AND_DATE_CONVERT_OUTPUT: 회계 기간 정보를 입력하면 날짜 형식으로 출력합니다.
5. 공장 캘린더 및 영업일 (실무 중요 ⭐)
물류(SD/MM)나 생산(PP) 모듈에서는 주말과 공휴일을 제외한 '실제 영업일' 계산이 무엇보다 중요합니다.
- DATE_CONVERT_TO_FACTORYDATE: 일반 날짜를 특정 공장 캘린더 기준의 영업일로 변환합니다.
- FACTORYDATE_CONVERT_TO_DATE: 공장 가동일 번호를 실제 날짜로 변환합니다.
- DATE_CHECK_WORKINGDAY: 해당 날짜가 휴일인지 영업일인지 체크합니다.
- HOLIDAY_CHECK_AND_GET_INFO: 특정 날짜의 휴일 여부와 휴일 명칭 등의 정보를 가져옵니다.
6. 날짜 포맷 및 형식 변환
사용자 화면(UI)에 보여줄 때와 DB에 저장할 때의 형식을 맞추기 위해 사용합니다.
- CONVERT_DATE_TO_EXTERNAL: SAP 내부 값(YYYYMMDD)을 사용자의 세팅에 맞춘 형식(예: DD.MM.YYYY)으로 바꿉니다.
- CONVERT_DATE_TO_INTERNAL: 사용자가 입력한 형식을 SAP 표준 내부 형식(YYYYMMDD)으로 바꿉니다.
- DATE_COMPUTE_DAY: 날짜를 입력하면 해당 요일(1: 월요일 ~ 7: 일요일)을 반환합니다.
7. 기타 유용한 함수
- CALCULATE_DATE: 구식 함수이지만 여전히 많은 레거시 코드에서 발견되는 범용 계산 함수입니다.
- BKK_ADD_WORKINGDAY: 은행(Banking) 모듈 기준으로 영업일을 계산할 때 특화되어 있습니다.
💡 Tip 1. 공장 캘린더(Factory Calendar) ID를 확인하세요
DATE_CONVERT_TO_FACTORYDATE 같은 함수를 쓸 때 Ident 파라미터가 비어있으면 오류가 납니다.
한국 기준이라면 보통 'KR' 또는 회사가 지정한 공장 코드(예: '01')를 정확히 넣어줘야 합니다.
💡 Tip 2. "가장 많이 쓰는 함수"는 따로 있습니다
수많은 함수가 있지만, 현업 개발자가 딱 하나만 꼽으라면 단연 RP_CALC_DATE_IN_INTERVAL입니다.
- 일, 월, 년 단위를 한 번에 처리할 수 있고,
- 덧셈/뺄셈(+, -)을 모두 지원하기 때문입니다.
- 예: Days: 0, Months: 1-, Years: 0을 넣으면 정확히 한 달 전 날짜를 반환합니다.
💡 Tip 3. 요일 계산의 시작점
DATE_COMPUTE_DAY의 결과값은 1이 월요일입니다. (일요일이 1인 타 언어와 다르니 주의가 필요합니다.)
'ERP(SAP)' 카테고리의 다른 글
| [SAP] OData API를 Java와 연동/호출 예제 (0) | 2026.04.28 |
|---|---|
| SAP BAPI의 모든 것: 개념부터 S/4HANA 실무까지 (0) | 2026.04.23 |
| [MM] SAP 수입 프로세스에서 제비용 원가 반영 이슈와 개선 방안 (0) | 2026.04.22 |
| [SAP] ST04 에러 DYNPRO_FIELD_CONVERSION FX015: Sign lost (1) | 2026.04.10 |
| [SAP] Fiori(피오리)란 무엇인가? - 개념, 학습, 강의 추천 (0) | 2026.04.09 |
