콘텐츠로 이동

CHK_DATE_VALUE

목적

사용자가 입력한 날짜 값의 형식이 정확한지
정합성을 체크하는 기능이다.


주요 단계

1. 날짜 정합성 체크 기능 구현

1.1 UI Object 및 Event 생성

  • 날짜 입력값의 정합성 체크를 위한 UI Object 및 Event를 생성한다.

이미지

<사진 1> UI Object 및 Event 생성 예시


2. 단일 날짜 입력값 정합성 체크

2.1 CHK_DATE_VALUE Method 구성

  • 단일 날짜 입력값이 올바른 형식인지 체크하는 기능을 수행하는 Method를 구성한다.

2.2 ABAP 소스 코드 예시 (EV_CHK_DATE_VALUE)

METHOD EV_CHK_DATE_VALUE.

  DATA : LV_ERROR TYPE ABAP_BOOL,
         LV_MSG   TYPE STRING.

*--------------------------------------------------------------------*

  " 단일 날짜 OR 범위 날짜 입력값 점검
  CALL METHOD /U4A/CL_UTILITIES=>CHK_DATE_VALUE
    EXPORTING
      IV_DATE = GS_COND-DATE
      " 단일 날짜 입력값(YYYYMMDD)
      " '/', '.', '-', '_' 특수기호 포함 형식도 체크 가능
*     IV_DATE_RANGE =
      " 범위 날짜 입력값(YYYYMMDD - YYYYMMDD)

    IMPORTING
      EV_ERROR   = LV_ERROR      " 'X' = 오류
      EV_MESSAGE = LV_MSG        " 오류 메시지
      EV_FROM    = GS_COND-CHK_DATE  " FROM 날짜 반환
*     EV_TO      =               " TO 날짜 반환

  " 날짜 정합성 체크 오류가 없는 경우
  IF LV_ERROR EQ SPACE.
    LV_MSG = 'Date consistency check completed'.
  ENDIF.

  " 메시지 호출
  CALL METHOD /U4A/CL_UTILITIES=>M_MESSAGETOAST
    EXPORTING
      IO_VIEW = ME->/U4A/IF_SERVER~AR_VIEW
      I_MSGTX = LV_MSG.

ENDMETHOD.

2.3 단일 날짜 입력 후 체크 실행

  • "Date" 필드에 날짜 입력
  • "CHK_DATE" 버튼 클릭하여 정합성 체크 수행

이미지

<사진 2> 단일 날짜 정합성 체크 실행 화면


3. 범위 날짜 입력값 정합성 체크

3.1 CHK_DATE_VALUE Method 구성

  • 범위 날짜 입력값(YYYYMMDD - YYYYMMDD)의 형식을 체크하는 Method를 구성한다.

3.2 ABAP 소스 코드 예시 (EV_CHK_DATE_RANGE_VALUE)

METHOD EV_CHK_DATE_RANGE_VALUE.

  DATA : LV_ERROR TYPE ABAP_BOOL,
         LV_MSG   TYPE STRING.

*--------------------------------------------------------------------*

  " 단일 날짜 OR 범위 날짜 입력값 점검
  CALL METHOD /U4A/CL_UTILITIES=>CHK_DATE_VALUE
    EXPORTING
      IV_DATE_RANGE = GS_COND-DATE_RANGE
      " 범위 날짜 입력값(YYYYMMDD - YYYYMMDD)

    IMPORTING
      EV_ERROR   = LV_ERROR       " 'X' = 오류
      EV_MESSAGE = LV_MSG         " 오류 메시지
      EV_FROM    = GS_COND-FROM   " FROM 날짜 반환
      EV_TO      = GS_COND-TO.    " TO 날짜 반환

  " 날짜 정합성 체크 오류가 없는 경우
  IF LV_ERROR EQ SPACE.
    LV_MSG = 'Date consistency check completed'.
  ENDIF.

  " 메시지 호출
  CALL METHOD /U4A/CL_UTILITIES=>M_MESSAGETOAST
    EXPORTING
      IO_VIEW = ME->/U4A/IF_SERVER~AR_VIEW
      I_MSGTX = LV_MSG.

ENDMETHOD.

3.3 범위 날짜 입력 후 체크 실행

  • "RANGE DATE" 필드에 날짜 입력
  • "CHK_DATE_RANGE" 버튼 클릭하여 정합성 체크 수행

이미지

<사진 3> 범위 날짜 정합성 체크 실행 화면