쌓고 쌓다

[ABAP] 입력 필드를 정규 표현식을 통해 유효성 검증하기 본문

SAP/ABAP

[ABAP] 입력 필드를 정규 표현식을 통해 유효성 검증하기

승민아 2025. 5. 29. 23:46
반응형

전표 번호는 CHAR타입 10자리로 지정되어있다.

전표 번호는 202500001처럼 모두 숫자가 담겨져 있기에

전표 번호로 Range Variable을 통해 범위 검색을하고자 했다.

 

 

그런데 사용자가 문자를 입력한다면 Range Value의 범위 검색에서

SELECT ~

WHERE TEMP IN RT_TEMP

구문에서 덤프가 터질 것이다.

위와 같이 덤프가 터질 것 이다.

왜냐하면 BELNR 전표 번호는 숫자로만 이뤄져야지 Value Range로 LOW부터 HIGH까지 검색이 가능할 것이기 때문이다.

I와 BT를 주었기 때문

 

위와 같이 LV_PATTERN에 정규표현식을 넣고

LR_MATCHER Ref 변수를 통해

CL_ABAP_MATCHER의 Method CRATE로 패턴과 검증할 값을 넣고 MATCHER를 생성해서

MATCH Method를 실행한 결과를 LV_SUCCESS에 담고

 

입력된 값이 정규표현식과 일치하지 않아 ABAP_FALSE를 반환하면

문자가 포함됨을 의미하므로 RETURN하도록 해결할 수 있다.

반응형