메뉴 건너뛰기

SAP 한국 커뮤니티

주민번호 체크

임선미 2007.10.23 19:38 조회 수 : 4809 추천:11

적당히 펑션으로 생성하셔서 사용해보세요. 기본적인 주민번호체크 루틴입니다.

*"----------------------------------------------------------------------
*"*"로컬인터페이스:
*" IMPORTING
*" VALUE(INPUT)
*" EXPORTING
*" VALUE(OUTPUT)
*"----------------------------------------------------------------------
DATA: N1 TYPE I,
N2 TYPE I,
N3 TYPE I,
N4 TYPE I,
N5 TYPE I,
N6 TYPE I,
N7 TYPE I,
N8 TYPE I,
N9 TYPE I,
N10 TYPE I,
N11 TYPE I,
N12 TYPE I,
N13 TYPE I,
LEN TYPE P,
VAL(14) TYPE C,
RESULT TYPE I.

OUTPUT = 'ERROR'.
LEN = STRLEN( INPUT ).
IF LEN <> 13 AND ( LEN <> 14 ).
EXIT.
ENDIF.
VAL = INPUT.
IF VAL+6(1) = '-'.
VAL+6 = VAL+7.
ENDIF.
IF VAL+0(1) < '0' OR ( VAL+0(1) > '9' ).
EXIT.
ENDIF.
IF VAL+1(1) < '0' OR ( VAL+1(1) > '9' ).
EXIT.
ENDIF.
IF VAL+2(1) < '0' OR ( VAL+2(1) > '9' ).
EXIT.
ENDIF.
IF VAL+3(1) < '0' OR ( VAL+3(1) > '9' ).
EXIT.
ENDIF.
IF VAL+4(1) < '0' OR ( VAL+4(1) > '9' ).
EXIT.
ENDIF.
IF VAL+5(1) < '0' OR ( VAL+5(1) > '9' ).
EXIT.
ENDIF.
IF VAL+6(1) < '0' OR ( VAL+6(1) > '9' ).
EXIT.
ENDIF.
IF VAL+7(1) < '0' OR ( VAL+7(1) > '9' ).
EXIT.
ENDIF.
IF VAL+8(1) < '0' OR ( VAL+8(1) > '9' ).
EXIT.
ENDIF.
IF VAL+9(1) < '0' OR ( VAL+9(1) > '9' ).
EXIT.
ENDIF.
IF VAL+10(1) < '0' OR ( VAL+10(1) > '9' ).
EXIT.
ENDIF.
IF VAL+11(1) < '0' OR ( VAL+11(1) > '9' ).
EXIT.
ENDIF.
IF VAL+12(1) < '0' OR ( VAL+12(1) > '9' ).
EXIT.
ENDIF.

N1 = VAL+0(1).
N2 = VAL+1(1).
N3 = VAL+2(1).
N4 = VAL+3(1).
N5 = VAL+4(1).
N6 = VAL+5(1).
N7 = VAL+6(1).
N8 = VAL+7(1).
N9 = VAL+8(1).
N10 = VAL+9(1).
N11 = VAL+10(1).
N12 = VAL+11(1).
N13 = VAL+12(1).
RESULT = N1 * 2 + N2 * 3 + N3 * 4 + N4 * 5 + N5 * 6 + N6 * 7 + N7 * 8
+ N8 * 9 + N9 * 2 + N10 * 3 + N11 * 4 + N12 * 5.
RESULT = RESULT MOD 11.
RESULT = 11 - RESULT.
RESULT = RESULT MOD 10.
IF RESULT = N13.
OUTPUT = INPUT.
ENDIF.
번호 제목 글쓴이 날짜 조회 수
188 BAPI LIST 입니다. 참고하세요. [24] file 노름마치 2007.12.11 4989
187 abap refresh 함수 [2] 꿈하루 2007.12.04 6144
186 문자열 자를 때 자르는 위치에 2BYTE문자가 있는지를 체크하는 방법입니다. [8] 꿈하루 2007.12.02 7098
185 스크린에서 리스트 박스의 값을 동적으로 생성하는 tip [1] sapjoy 2007.12.01 4844
184 SAP Tips. [7] file 박성민 2007.11.22 5497
183 SUBQUERY 사용예 입니다. [1] 노름마치 2007.11.21 9985
182 Background Processing sapjoy 2007.11.21 3445
181 READ_TEXT 관련 [14] file 노름마치 2007.11.15 5187
180 Internal table 사용시 속도개선을 위한 구문 [16] 노름마치 2007.11.14 10224
179 NATIVE SQL의 INSERT 문 [4] sapjoy 2007.11.13 6276
178 BAPI_DELIVERYPROCESSING_EXEC 납품문서 만들때 사용하세요 노름마치 2007.10.30 7559
177 widget을 이용한 Job monitor 데모 [1] 해처리 2007.10.24 3616
176 Tip : 전표 라인 아이템 Direct 조회 [5] 2007.10.23 10284
» 주민번호 체크 [3] 임선미 2007.10.23 4809
174 그룹을 이용하여 SAP PRD 시스템 접속하기 [2] file 이명환 2007.10.18 4542
173 새로운 Print format 추가하기 [5] file 이명환 2007.10.18 3686
172 미니 SAP 설치 메뉴얼 입니다. [5] 신종철™ 2007.09.18 4581
171 간단팁1 : 텍스트 금액에서 천단위 구분자 ',' 삭제(개수 상관없음) [12] 윤훈태 2007.10.15 5451
170 간단팁2 : 특정 값으로 구분된 텍스트, 한방에 분리 및 각각의 변수에 저장 [2] 윤훈태 2007.10.15 4160
169 SAP 어플리케이션의 구성 [3] file 노름마치 2007.10.11 3901