메뉴 건너뛰기

SAP 한국 커뮤니티

주민번호 체크

임선미 2007.10.23 10:38 조회 수 : 4794 추천: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.
번호 제목 글쓴이 날짜 조회 수
187 abap refresh 함수 [2] 꿈하루 2007.12.03 6129
186 문자열 자를 때 자르는 위치에 2BYTE문자가 있는지를 체크하는 방법입니다. [8] 꿈하루 2007.12.01 7059
185 스크린에서 리스트 박스의 값을 동적으로 생성하는 tip [1] sapjoy 2007.11.30 4799
184 SAP Tips. [7] file 박성민 2007.11.22 5484
183 SUBQUERY 사용예 입니다. [1] 노름마치 2007.11.20 9532
182 Background Processing sapjoy 2007.11.20 3436
181 READ_TEXT 관련 [14] file 노름마치 2007.11.15 5177
180 Internal table 사용시 속도개선을 위한 구문 [16] 노름마치 2007.11.14 9974
179 NATIVE SQL의 INSERT 문 [4] sapjoy 2007.11.13 6258
178 BAPI_DELIVERYPROCESSING_EXEC 납품문서 만들때 사용하세요 노름마치 2007.10.29 7491
177 widget을 이용한 Job monitor 데모 [1] 해처리 2007.10.24 3603
176 Tip : 전표 라인 아이템 Direct 조회 [5] 2007.10.23 10153
» 주민번호 체크 [3] 임선미 2007.10.23 4794
174 그룹을 이용하여 SAP PRD 시스템 접속하기 [2] file 이명환 2007.10.18 4531
173 새로운 Print format 추가하기 [5] file 이명환 2007.10.18 3678
172 미니 SAP 설치 메뉴얼 입니다. [5] 신종철™ 2007.09.17 4573
171 간단팁1 : 텍스트 금액에서 천단위 구분자 ',' 삭제(개수 상관없음) [12] 윤훈태 2007.10.15 5432
170 간단팁2 : 특정 값으로 구분된 텍스트, 한방에 분리 및 각각의 변수에 저장 [2] 윤훈태 2007.10.15 4133
169 SAP 어플리케이션의 구성 [3] file 노름마치 2007.10.10 3897
168 ICON ascii code [3] file sapjoy 2007.10.05 5002