EAN-13

EAN-13-viivakoodi on 13-merkkinen standardoitu viivakoodi, joka on laajennus alun perin Yhdysvalloissa kehitetystä 12-numeroisesta Universal Product Code -koodista (UPC). EAN-13-viiva­koodit määrittelee standardointi­järjestö GS1. Viivakoodin nimi oli aluksi European Article Number (eurooppalainen tavara­numero). Myöhemmin sen nimeksi vahvistettiin International Article Number (kansain­välinen tavara­numero), mutta lyhenne EAN säilyi. EAN-13 -viivakoodeja käytetään maailman­laajuisesti vähittäis­kaupassa yleisesti myytyjen tuotteiden tunnuksina. Viiva­koodeilla merkityt numero­sarjat ovat tuote­kohtaisia tunniste­numeroita, joita Japanissa sanotaan myös japanilaisiksi tavara­numeroiksi (JAN). Kaikki numerot, jotka koodataan UPC- tai EAN- viiva­koodeilla, tunnetaan nimellä GTIN (Global Trade Item Number, maailman­laajuinen kauppa­tavara­numero, ja ne voidaan koodata myös muilla GS1-viiva­koodeilla. EAN-13-viivakoodin ohella on käytössä myös EAN-8-viiva­koodi. Sitä käytetään lähinnä joillekin pienemmille tuotteille kuten makeisille. EAN-13-koodiin lisätään joskus ylimääräinen kaksi­numeroinen EAN-2- tai viisi­numeroinen EAN-5-koodi, jolloin saadaan yhteensä 14- tai 17-merkkinen koodi. Näitä käytetään lähinnä aika­kaus­lehdelle niiden eri numeroiden erottamiseksi toistaan, kirjoille sekä kaupassa punnittaville elintarvike- ym. tuotteille niiden painon ilmaisemiseen. == GTIN-13-numerot == === Numerosarjan osat === Viivakoodilla koodattu GTIN-13 -numerosarja muodostuu neljästä osasta: * GS1-etuliite, kaksi tai kolme ensimmäistä numeroa, osoittaa yleensä sen kansallisen GS1:n jäsen­järjestön, johon tavaran valmistaja on rekisteröitynyt; ei kuitenkaan välttämättä samassa maassa, jossa tavara todellisuudessa on valmistettu.. Kun kirjan ISBN-numero muunnetaan EAN-13 -numerosarjaksi, GS1-etuliite on 978 tai 979. Etuliite 979 vastaa myös ISMN-numeroita, kun taas ISSN-numerot muunnetaan 977-alkuisiksi EAN-13-koodeiksi. * Yhtiönumero käsittää kolmesta kahdeksaan numeroa riippuen siitä, kuinka monta tunnistetta yhtiö tarvitsee tuotteidensa yksilöimiseen. ISBN- ja ISSN-numeroiden yhteydessä tämä osa yksilöi julkaisun kielen tai maan, jossa teos on julkaistu, sekä edelleen julkaisijan; monilla mailla on kuitenkin useampia ISSN- ja ISBN-numeroiden maatunnuksia. * Tuotetunnus käsittää kahdesta kolmeen numeroa ja erottaa saman valmistajan eri tuotteet toisistaan, tai ISBN- ja ISSN-koodien tapauksessa eri julkaisut. * Yksinumeroinen tarkistusmerkki koodin lopussa. Numero lasketaan kertomalla numerosarjan muut numerot vuorotellen 3:lla tai 1:llä, laskemalla näin saadut tulot yhteen, ottamalla saadusta luvusta jakojäännös kymmenellä jaettaessa ja vähentämällä tämä jakojäännös kymmenestä. Numerosarjaa kokonaisuudessaan käytetään hakuavaimena, jonka avulla tuotteen tiedot haetaan tietokannasta. Numeroa ei normaalisti koskaan jaeta osiinsa vähittäis­kauppojen tieto­järjestelmissä. === GS1-etuliitteet === GTIN-koodin kaksi tai kolme ensimmäistä numeroa osoittavat sen GS1:n jäsenjärjestön, johon valmistaja on liittynyt. Harvoin esiintyvät nollalla alkavat EAN-13-koodit tarkoittavat 12-numeroisia UPC-koodeja, joiden alkuun on lisätty nolla, ja ne koodataan viiva­koodeiksi samalla tavalla. Maakoodit 200-299 ovat oma lukunsa: useimmat GS1:n jäsen­järjestöt ovat varanneet nämä vähittäis­kauppa­ketjujen tai muiden yritysten sisäiseen käyttöön. Jotkut vähittäiskaupat käyttävät näitä omiin tuotteisiinsa, toiset taas ainakin osaa näistä kaupassa pakatuille tuotteille. Viivakoodi voi sisältää tuotteen tunnisteen lisäksi sen hinnan, määrän tai painon kaupan määrittämällä tavalla. Kauppa­ketjut, jotka aikaisemmin ovat käyttäneet UPC-viivakoodeja, ovat yhä yleisemmin ryhtyneet käyttämään GS1-etu­liitteitä 04 tuotteille ja 02 kaupassa pakatuille tuotteille. === Tarkistusmerkin laskenta === Tarkistusmerkki on laskettava numerosarjan muiden numeroiden avulla, ennen kuin viiva­koodi voidaan muodostaa. Tarkistusmerkki lasketaan kertomalla numerosarjan kukin numero painokertoimilla ja laskemalla näin saadut luvut yhteen. Tarkistusmerkiksi asetetaan luku, joka näin saatuun summaan on lisättävä, jotta saataisiin kymmenellä jaollinen luku. ==== Painokertoimet ==== EAN-koodin kunkin numeron painokerroin on joko 3 tai 1, jotka vuorottelevat siten, että viimeisen tarkistusmerkkiä edeltävän numeron painokerroin on 3. Samaa algoritmia käytetään muillekin GTIN-numeroille ja merikuljetuskonttien sarjanumeroille (SSCC). EAN-13-koodissa paino on 3 parillisissa ja 1 parittomissa positioissa; EAN-8-koodissa asian laita on päinvastoin.Check Digit Calculator, GS1. Kaikki GTIN - ja SSCC-koodit saavat painoarvonsa seuraavan taulukon mukaisesti oikeasta laidasta lukien: Painokertoimet EAN-8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 Painokertoimet EAN-13 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 === Laskuesimerkkejä === Esimerkki: EAN-8-koodille, joka ilman tarkistusmerkkiä on 7351353, saadaan seuraavat painokertoimet: Viivakoodien painokerrointen määritys Position 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Weight 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 Code 7 3 5 1 3 5 3 Sums 21 3 15 1 9 5 9 Tämän viivakoodin summa on siis 21+3+15+1+9+5+9 = 63. Tähän on lisättävä 7, jotta saataisiin 10:llä jaollinen luku (70). Näin ollen tarkistusmerkiksi tulee 7. Numerosarja kokonaisuudessaan on siis 73513537 == Numerosarjan muuntaminen viivakoodiksi == Kun EAN-13-numerosarja muunnetaan viivakoodiksi, numerot jaetaan ensin kolmeen ryhmään. Ensimmäisen niistä muodostaa ensimmäinen numero yksinään, toisen kuusi seuraavaa ja kolmannen kuusi viimeistä numeroa. Ensimmäisessä kuuden numeron ryhmässä numerot koodataan viivakoodin osiksi kahdella eri tavalla, joista toisella (L-koodit) on parillinen ja toisella (G-koodit) pariton pariteettibitti. Ensimmäinen numero ei sellaisenaan näy viivakoodissa, vaan se ilmaistaan sillä, kumpaa näistä koodaustavoista on käytetty millekin seuraavista kuudesta numerosta, alla olevan taulukon mukaisesti. Kuusi viimeistä numeroa koodataan aina samalla tavalla (R-koodit), jota käytetään myös UPC-viivakoodeissa. Jos ensimmäinen numero on nolla, kaikki ensimmäisen kuuden numeron ryhmän numerot koodataan samoin kuin UPC-koodissa; sen vuoksi UPC-viivakoodi on samalla EAN- viivakoodi, jonka ensimmäinen numero on nolla. EAN-13-viivakoodin rakenne Ensimmäinen numero Ensimmäinen kuuden numeron ryhmä Toinen kuuden numeron ryhmä `0` `LLLLLL` `RRRRRR` `1` `LLGLGG` `RRRRRR` `2` `LLGGLG` `RRRRRR` `3` `LLGGGL` `RRRRRR` `4` `LGLLGG` `RRRRRR` `5` `LGGLLG` `RRRRRR` `6` `LGGGLL` `RRRRRR` `7` `LGLGLG` `RRRRRR` `8` `LGLGGL` `RRRRRR` `9` `LGGLGL` `RRRRRR` Numeroita vastaavat koodit Numero L-koodi G-koodi R-koodi `0` `0001101` `0100111` `1110010` `1` `0011001` `0110011` `1100110` `2` `0010011` `0011011` `1101100` `3` `0111101` `0100001` `1000010` `4` `0100011` `0011101` `1011100` `5` `0110001` `0111001` `1001110` `6` `0101111` `0000101` `1010000` `7` `0111011` `0010001` `1000100` `8` `0110111` `0001001` `1001000` `9` `0001011` `0010111` `1110100` Näissä taulukoissa nollat vastaavat viivakoodin valkoisia ja ykköset mustia raitoja. Jokaista R-koodia vastaa saman numero L-koodi siten, että jokainen koodin nolla vaihdetaan ykköseksi (valkoinen viiva mustaksi) ja päinvastoin. G-koodit taas ovat samoja kuin R-koodit takaperin. Viivakoodin alussa, keskellä ja lopussa on lisäksi kaksi muita pidempää, yhden yksikön levyistä mustaa kohdistus­viivaa, jotka eivät vastaa mitään numeroa. Niiden perusteella viivakoodinlukija tunnistaa yksikön koon ja käytetyn järjestelmän. ==Kirjojen tunnisteet == Julkaistuja kirjoja varten otettiin 1980-luvulla käyttöön EAN-"maakoodi" 978 ja myöhemmin myös "maakoodi" 979. Näitä käytetään kirjojen EAN-koodeissa riippumatta siitä, missä maassa ne on julkaistu. Täten kirjojen EAN-koodien loppuosana voidaan käyttää ISBN-numeroa tarvitsematta numeroida niitä erikseen EAN-kooditusta varten. Samanlaisia järjestelyjä on otettu käyttöön myös aikakauslehtien ISSN-koodeille ja nuottijulkaisujen ISMN-koodeille. == Lähteet == === Aiheesta muualla === * Ladattava Open Source -viivakoodigeneraattori EAN-13:lle (C++, VB, Excel Macros, etc.) * Barcode Perl -ohjelmia CPAN:ssa * Esimerkki EAN8/13-toteutuksesta * EAN MediaWiki extension , MediaWiki-laajennus, joka havainnollistaa EAN-13/EAN-8/UPC-A/Code39/Codabar -viivakoodeja, kun annetaan vain wiki-tekstissä olevat numerot tai symbolit. * EAN database * upcdatabase, toinen online -viivakooditietokanta * Online tarkistustyökalu ja graafinen EAN-8- ja EAN-13-viivakoodigeneraattori * Ohjelma, joka muuntaa annetun numerosarjan viivakoodiksi Luokka:Logistiikka Luokka:Tunnisteet Luokka:Seulonnan keskeiset artikkelit