메뉴 건너뛰기

SAP 한국 커뮤니티

주민번호 체크로직

오향 2008.02.29 17:38 조회 수 : 5108 추천:4

 



기본적인 주민번호체크 루틴입니다.


*"----------------------------------------------------------------------
*"*"로컬인터페이스:
*" 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.
 


 


 

번호 제목 글쓴이 날짜 조회 수
287 단축키입니다 [6] file 머리를쓰자 2014.12.22 5093
286 튜닝교육_실무 [6] file 가보자 2007.04.12 5094
285 Convert SAPScript or ABAP lists to PDF format [6] sapjoy 2007.01.30 5105
» 주민번호 체크로직 [14] 오향 2008.02.29 5108
283 New ABAP Debugger Demo Wise 멘토 2008.12.15 5108
282 요일 찾는 Function [3] Delight 2008.04.23 5122
281 바탕화면에 바로가기 생성하기 [1] 김윤승 2007.06.25 5161
280 화면에 드롭다운 리스트 박스 추가 하기. ABCD [8] 버즈즈 2008.01.04 5180
279 READ_TEXT 관련 [14] file 노름마치 2007.11.15 5183
278 엑셀로 데이터 내보내기 샘플 코드 [7] sapjoy 2007.01.26 5204
277 변수를 메모리로 올리는 세가지 방법 [5] sapjoy 2006.12.06 5219
276 일/주/월/분기/년..연산가능 펑션~ [7] 초짜 2007.07.31 5232
275 Lock 걸렸을때 푸는 방법 공개합니다. [6] 양갱 2014.12.01 5251
274 특수문자가 깨지는 문제-스마트폼 [2] sapjoy 2016.06.21 5262
273 인덱스인터널테이블만들기 [2] 천지개벽 2009.01.29 5266
272 <b>[완료]</b>netweaver 설치중 오류log 원인 아시는분 좀 알려주세요 [1] 카즈키 2008.07.19 5273
271 Report 프로그램 Application Toolbar 에 버튼추가 sapjoy 2006.12.28 5284
270 SAP에서 바코드 인쇄하기 [1] 홍성현 2007.08.09 5305
269 화면상에 입력된 parameter , selection-option 값 inter table로 담는 펑션 ㅋ [5] file bd 2008.03.25 5309
268 엑셀 65000 라인초과시 사용 유틸 [5] file GG 2007.08.19 5332