메뉴 건너뛰기

SAP 한국 커뮤니티

주민번호 체크로직

오향 2008.03.01 02:38 조회 수 : 5194 추천: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.
 


 


 

번호 제목 글쓴이 날짜 조회 수
228 System field 정리 [5] magicsy69 2008.06.03 10082
227 tables // data ~ like 로 선언한 WA 변수의 차이점 [3] bizarre 2008.06.03 4031
226 서버 리스트 한번에 올리기... [8] bizarre 2008.06.03 4093
225 강제 Search Help 코딩과 선택시 해당 Description 채우기 [11] file 별이고픈구름 2008.05.30 4481
224 Internal Table 내용 PC에 저장하기 [11] 별이고픈구름 2008.05.29 3916
223 CTS Rollback [5] 심마니 2008.05.23 6040
222 FIELD-SYMBOL설명 및 예제 프로그램 [17] Delight 2008.04.30 9664
221 SAP의 On-line Program에서 Double Click Event 잡는 법 [8] Delight 2008.04.30 6774
220 유용한 t-code 모음들 [26] 아이디빵 2008.04.25 8997
219 요일 찾는 Function [3] Delight 2008.04.24 5303
218 PC 실행파일 구동시키기 [5] Delight 2008.04.24 4518
217 문자열에서 특정문자(열) 변경 및 삭제 [9] Delight 2008.04.24 7876
216 Widget 한번 개발해 보세요.. [11] 해처리 2008.04.17 4109
215 RFC GUIDE 입니다.. [22] file 나야나 2008.04.11 4359
214 CBO 테이블 데이터 변경 프로그램 [10] sapjoy 2008.03.29 7783
213 smart form 교재 [35] file alal 2008.03.28 4453
212 화면상에 입력된 parameter , selection-option 값 inter table로 담는 펑션 ㅋ [5] file bd 2008.03.26 5395
211 SAP GUI 접속시 'sapdp00' unknown 에러가 뜰때 [7] 밤톨™ 2008.03.06 5936
» 주민번호 체크로직 [14] 오향 2008.03.01 5194
209 월 계산 함수 [5] 오향 2008.02.28 5065