300x250
728x90
SAP 문자열을 체크할 경우..
# 예를 들어) 전화번호를 체크하는 입력 필드, 이메일을 체크하는 입력 필드, 영어만 들어가게 체크하는 입력 필드.. 를 만들 때 사용이 되는 것..
정규표현식이란?
https://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D
# 패턴 만들기 #
바로 시작해 보자.
SAP ABAP에서 사용되는 것은 Call Method와 정규 표현식으로만 사용해서 체크를 해 볼 것이다.
# 전화번호 체크
# 01. 우선 체크할 패턴을 설정해주어야 한다.
여기서는 사용한 정규 표현식은 숫자 0~9 까지 와 " - " 들어간 패턴을 설정하였다.
# 뒤에 " +$ "는 꼭 붙어주자.
DATA:
LV_PATTERN(20).
LV_PATTERN = '[0-9-]+$'.
# 02. 그다음 CALL METHOD을 통해서 체크를 해보자.
DATA:
LR_MATCHER TYPE REF TO CL_ABAP_MATCHER,
LV_SUCCESS.
LR_MATCHER = CL_ABAP_MATCHER=>CREATE(
PATTERN = LV_PATTERN
TEXT = LV_NUMBER
).
LV_SUCCESS = LR_MATCHER->MATCH( ).
# 03. 전체적인 로직, 실행을 시켜보면 LV_SUCCESS에 ' X ' 값이 들어가 있을 것이다.
# 사번 체크
# 예를 들어) IT #### ( 4자리 )이라는 사번만 들어가야 하는 입력 필드가 있다고 해보자. 이상한 값이 들어가는 걸 막기 위한 정규표현식을 만들어보자.
# 01. 체크할 패턴을 만들어보자.
( IT로 시작하는 숫자 0~9를 체크, 숫자 4자리를 체크 )
# 02. 전체 로직
DATA :
LV_PATTERN(150),
LV_NUMBER(20).
LV_NUMBER = 'IT9999'.
LV_PATTERN = 'IT[0-9]{4}$'.
DATA:
LR_MATCHER TYPE REF TO CL_ABAP_MATCHER,
LV_SUCCESS.
LR_MATCHER = CL_ABAP_MATCHER=>CREATE(
PATTERN = LV_PATTERN
TEXT = LV_NUMBER
).
LV_SUCCESS = LR_MATCHER->MATCH( ).
WRITE : LV_SUCCESS.
# 끝.
# 이런 식으로 패턴을 줘서 체크를 줄 수 있는 로직을 만들어 낼 수 있다.
정규표현식을 잘 이용하면 복잡한 체크도 할 수 있다는 장점이 있다.
728x90
'.ABAP > ..모든 것' 카테고리의 다른 글
SAP Subtotal Text(텍스트) 설정 (0) | 2024.05.16 |
---|---|
SAP WITH문 정리 (0) | 2024.05.14 |
SAP Search Help 정리 (3) | 2024.04.23 |
ABAP Memory 조회 (0) | 2024.04.19 |
SAP Query [3] - 필드 추가 (2) | 2024.04.19 |