바코드 EAN-13 바코드 구성원리 입니다.
EAN-13 (European Article Number) 의 약자로 주로 공산품에 부착 되는 바코드 입니다.
(흔히들 88 코드 라고도 하죠)
유럽쪽에서 만들어진 코드이며 코드 12자리에 체크디지트 1 자리를 포함 모두 13자리로 구성되어 있습니다.
전에는 한국에서는 KAN 코드라고 불리기도 했으며 일본에서는 JAN 이라고 하지만 원래 정식 명칭은 EAN 이 맞고
요즘 글로벌 시대에 맞춰서 GTIN (Grobal Trade Item Number) 이라고 불리기도 합니다.
(약호로 GS1 이라고도 합니다.)
이 코드의 최대 장점은 유니크성에 있습니다. EAN 코드는 전세계적으로 절대 중북이 날 수 없는 코드이기
때문이죠..
(사용자가 제멋대로 부여 할 수 없는 코드이기도 하고 코드 번호를 부여 받기 위해서는 각국의 관계기관을 통해
코드를 발급 받아야 합니다. 저희 나라같은 경우는 대한 상공 회의소에서 코드를 발급해 줍니다. )
코드의 유니크한 특성 때문에 상품에 부착된 바코들 이용한 유통이나 물류 시스템을 구축시 EAN 코드가
상품 마스터 구축이 중요한 프라이머리 키가 될수 있습니다.
코드 구조도 앞에 3자리가 국가 코드 그 다음 5자리가 제조사(공장)코드 , 그다음 4자리가 상품번호 마지막이 체크 디지트
이렇게 구성이 되어 있습니다.
(GS1국가 코드 첨부 화일 참고, 마트 가셔서 오뚜기, 제일제당 상품들 코드 유심히 살펴 보시면 5자리 제조공장이 똑같은
경우가 많은데 같은 공장에서 나온 상품들이라도 보시면 됩니다. 똑같은 모양의 상품이더라도 5자리 제조공장이 다른 경우도
있습니다. 똑같은 콜라라도 안산공정에서 생산 되는 코드랑 부산 공장에서 나오는 코드는 다르기 떄문에 유통관련 업무 시스템
을 개발 하시려면 바코드 특성에 대해서도 잘아셔야 합니다.)
GS1 국가 코드를 보시면 저희는 880 입니다. 88년도에 EAN 에 처음 가입했고 올림픽이 있었던 해라 GS1 코드를 880으로 했다는
얘기가 정설 이랍니다.
GS1 코드를 보면 02 번떄 , 04 번대 , 20 번대는 아직 사용 하지 않는 번호 대역이라 시스템 구축시 자체 코드를 EAN 코드화
하거나 할떄 이코드 대역을 사용 하셔야 합니다. (아무 생각없이 다른 국가에서 사용되는 국가 코드를 사용 했다 재수 없이
중복나는 경우도 발생 할 수 있습니다. 보통 유통에서 사용하는 저울 바코드는 02 나 04 , 20 으로 사용 하는 이유도
여기에 있습니다.)
국가 코드 하나에 대해서 이론적으로 사용 가능한 아이템 수는 00000 부터 99999 까지 10만개의 제조공장에 대해서
0000 부터 9999 까지 만개의 아이템으로 곱해 보면 10억개의 아이템 관리가 가능 하답니다.
(이정도면 아직 풀나지는 않겠네요...)
잡설은 이만 하고 구성원리 알아 보도록 하죠..
EAN - 13 코드는 모두 숫자로만 이루어져야 하고요.. 코드 12자리에 대해서 마지막 체크 디지트를 구해야 합니다.
방법은 12자리 코드 홀수 번째 숫자에는 1을 곱하고 짝수 번째 코드에는 3을 곱한 값을 모두 더합니다.
예)
8 8 0 1 0 3 7 0 0 6 3 9
1 3 1 3 1 3 1 3 1 3 1 3
8 + 24 + 0 + 3 + 0 + 9 + 7 + 0 + 0 + 18 + 3 + 27 = 99
체크섬 = mod(10 - mod( 99 , 10), 10) = 1
바코드 풀 코드 = 8801037006391 (맥심모카골드)
체크 디지트을 구한뒤 첨부화일 ean-13엔코딩 방법에 따라 엔코딩 합니다.
첫번째 디지트에 따라서 엔코딩 방법이 다릅니다.
첫번쨰 디지트가 8인 경우는 코드 6자리를 LGLGGL 엔코딩 테이블에 따라
엔코딩 합니다. (첨부 화일 참고)
체크디지트를 포함한 나머지 코드 6자리는 RRRRRR 방법으로 엔코딩 합니다.
스타트 바와 엔드바는 101 로 엔코딩 하면 되고요..
(101 이란 라인 공백 라인 , 111 이라면 라인세개 연속..)
중간바는 10101 으로 엔코딩 합니다.
G 코드 모양
L 코드 모양
R 코드 모양
--------------
구성 원리 모두 설명 했으니.. 이제 바코드 폰트 없이 바코드 그려 봅시다..
EAN-13엔코딩.xls
GS1국가코드.xls
첫댓글 헐~~ 공부꺼리 생겼습니다.
이걸 파워빌더를 이용해서 그리라는 이야기죠 !
열심히 공부해서 결과를 만들어 보겠습니다.
폰트 안쓰고 Dw로 다이나믹하게 그려내는 모듈 만들수 있으면 팔아먹기 가능 그리 어렵진 않을듯