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

전표 번호는 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하도록 해결할 수 있다.
반응형
'SAP > ABAP' 카테고리의 다른 글
| [ABAP] 메시지 타입 W, E 사용시 입력 필드 안잠구는 방법 (5) | 2025.06.22 |
|---|---|
| [ABAP] 로컬 변수를 선언하지 않고 레코드의 존재 유무 확인하는 방법 (0) | 2025.06.03 |
| MESSAGE로 인한 ROLLBACK WORK 미동작 (2) | 2025.05.23 |
| [ABAP] OTF에서 PDF로 한글 깨짐 ####으로 나오는 현상 (2) | 2025.05.17 |
| 원하는 Search Help 값들만 등록하고 관련 필드들 화면에 넣는 방법 (8) | 2025.05.11 |