ABAP 프로그래밍에서 선택 화면(Selection Screen)의 날짜 필드에 현재 날짜를 기본값으로 자동 입력하고 싶은 경우가 종종 있습니다. 이때 활용할 수 있는 두 가지 방법을 소개합니다.
방법 1: INITIALIZATION 이벤트에서 값 설정
아래 코드를 사용해 보세요. 단, 반드시 START-OF-SELECTION 이벤트 이전에 값을 설정해야 한다는 점에 유의해야 합니다.
select-OPTIONS: so_date FOR sy-datlo. INITIALIZATION. so_date-sign = 'I'. so_date-option = 'EQ'. so_date-low = sy-datum. CLEAR so_date-high. APPEND so_date.
이 방식은 INITIALIZATION 이벤트 블록에서 선택 옵션 내부 테이블의 각 필드(sign, option, low, high)를 직접 채운 후 APPEND로 행을 추가하는 구조입니다. 조건이 복잡한 범위나 여러 값을 초기화해야 할 때 유연하게 활용할 수 있습니다.
방법 2: DEFAULT 구문 사용
더 간단한 방법을 원한다면 아래와 같이 선언 시점에 바로 기본값을 지정할 수 있습니다.
select-OPTIONS: so_date FOR sy-datlo DEFAULT sy-datum.
이 방법은 별도의 이벤트 블록 없이 한 줄로 처리할 수 있어 코드가 간결해집니다. 단순히 단일 날짜값만 기본으로 설정하면 되는 경우라면 이 방식을 권장합니다.
정리
두 방법 모두 실행 결과는 동일하게 화면 로딩 시 해당 날짜 필드에 현재 시스템 날짜(sy-datum)가 채워집니다. 상황에 따라 유연성이 필요하면 첫 번째 방법, 간결함이 필요하면 두 번째 방법을 선택하시면 됩니다.