TapeTrack Documentation

Because there is more to tape management than you ever realized

User Tools

Site Tools


technote:modulo43-barcodes

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
000 11B 22M 33X
011 12C 23N 34Y
022 13D 24O 35Z
033 14E 25P 36-
044 15F 26Q 37.
055 16G 27R 38space
066 17H 28S 39$
077 18I 29T 40/
088 19J 30U 41+
099 20K 31V 42%
10A 21L 32W

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.

See Also

technote/modulo43-barcodes.txt · Last modified: 2021/07/20 01:28 by fnicol