300x250
728x90

SAP 문자열을 체크할 경우..


# 예를 들어) 전화번호체크하는 입력 필드, 이메일을 체크하는 입력 필드, 영어만 들어가게 체크하는 입력 필드.. 를 만들 때 사용이 되는 것..

 

 

정규표현식이란?


https://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D

 

정규 표현식 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 노란색 강조 부분은 다음 정규식을 사용했을 때 매치된 것이다. 스티븐 클레이니는 정규 표현식의 개념을 설립한 공로자이다. 정규 표현식(正規表現式, 영어: r

ko.wikipedia.org

 

패턴 만들기 #

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