Modulo 43 Barcodes
Modulo 43, or Code 39 Mod 43, is an extension of the Code 39 barcode symbology.
How it works
- Each character of the Barcode in turn is looked up in the following string 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%
- When the character is found the offset of that character is added to a running total
- At the end of the string the subtotal is divided by 43
- The offset of the remainder of the division is then looked up in the search string and appended to the barcode
00 | 0 | 11 | B | 22 | M | 33 | X | |||
01 | 1 | 12 | C | 23 | N | 34 | Y | |||
02 | 2 | 13 | D | 24 | O | 35 | Z | |||
03 | 3 | 14 | E | 25 | P | 36 | - | |||
04 | 4 | 15 | F | 26 | Q | 37 | . | |||
05 | 5 | 16 | G | 27 | R | 38 | space | |||
06 | 6 | 17 | H | 28 | S | 39 | $ | |||
07 | 7 | 18 | I | 29 | T | 40 | / | |||
08 | 8 | 19 | J | 30 | U | 41 | + | |||
09 | 9 | 20 | K | 31 | V | 42 | % | |||
10 | A | 21 | L | 32 | W |
Example
- 229446L6
- Using the Barcode 229446L6.
- Substituting the characters for the positional values gives 2 + 2 + 9 + 4 + 4 + 6 + 21 + 6 = 54
- The subtotal (54) divided by 43 gives a remainder of 11.
- Character 11 in the search string is B.
- So a modulo 43 Barcode with value 229446L6 would be 229446L6B
How TapeTrack caters for Module 43
If your tape library consists only of media volumes that use the Modulo 43 check digit the simplest approach would be to create a Barcode definition that says (presuming all of your Barcodes have 6 digits) the volume serial portion of the Barcode is made up of digits 1-6 of what is scanned.
In reality things are probably not going to be that simple. So if you have some Barcodes with Modulo 43 and some without this is how TapeTrack manages them:
When the Media Option Barcodes Use Modulo43
to true, all Barcodes are treated as Modulo43 barcodes. Any barcode scanned will then confirm the Modulo43 check value is correct before removing this value and inputing the truncated barcode into TapeTrack.
For example, Barcode 229446L6B will scan, check that B is the correct modulo43 check value, trim the B off the end of the Barcode and input 229446L6 into TapeTrack.
When you have a mix of standard and Modulo43 Barcodes within your inventory, expanding out the Media Option Barcodes Use Modulo43
allows barcodes of different lengths to be handled as either a standard or Modulo43 Barcode.
Setting Barcodes Use Modulo43
and Exclude Length 8
to true will have the effect of any 8 character Barcode scanned without being handled by Modulo43 input rules. Any other length Barcode will be treated as a Modulo43 Barcode and handled appropriately.
For example, Barcode 123456L6 will scan as 123456L6 without alteration, where as 22944L6B will scan in as 22944L6.