메뉴 건너뛰기

SAP 한국 커뮤니티

주민번호 체크

임선미 2007.10.23 10:38 조회 수 : 4795 추천: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 [For Power User]Dynamic Casting Symbol Variable [3] 양키 2011.01.19 5755
186 <img src=d.gif>[For Power User] Dynamic Creation of Data Objects[추천:e-abap] [3] 양키 2011.01.20 5005
185 [For Power User] Dynamic Transient Program [3] file 양키 2011.01.21 6018
184 <img src=d.gif>Source Activation 시 [READ_REPORT_LINE_TOO_LONG] dump 발생하면?[추천:e-abap] [5] JYG 2011.02.11 9424
183 IE 9.0 설치 시 se80 다운되는 문제 해결 [5] Jey 2011.03.16 6996
182 BAPI자료입니다. [14] file neopaper 2011.03.23 10293
181 표준편차구하는 로직 윤사모 2011.03.23 9370
180 Batch JOB이 수행중인지 여부체크 [5] deepbluesea 2011.04.05 11401
179 간단한 계산공식은 Macro를 사용하자 [5] 양키 2011.04.14 9540
178 where 조건을 상황에따라 바꿔볼까? [8] 양키 2011.04.14 8740
177 SAP Notes Viewer for iPad/iPhone [4] D.Y.Kim 2011.04.21 6221
176 Automated Note Search & Customer Code Detection 소주와 막걸리 2011.04.27 6352
175 [Tip] Explorer 8.0 & SAP GUI 7.2 fancky 2011.05.19 6603
174 한글 자음 분석해보기. [5] file 공백 2011.05.19 7257
173 시분초를 가져오는 구문 [8] 양키 2011.05.26 8554
172 Area 메뉴 일괄 다운로드 하기 [5] file 고담 2011.06.15 8274
171 Word Wrab 기능을사용해보자. [2] file 양키 2011.07.19 5597
170 Do Varying 간단한 예제 및 설명입니다^^ [6] file JJB 2011.08.30 6092
169 Mac Notebook을 쓰는 사람들을 위한 조그만 팁. [2] Bigbrother 2011.09.21 5038
168 ▲123,456' 으로 표시하게 한다 [3] 꿀단지 2011.10.11 5695