Cognitive Solutions A776 All in One Printer User Manual


 
Chapter 5: Programming commands120
A776 (B780) Programming Guide A776-PG00001 C 12/09
In this example, without an exception table entry, the rmware would always pick the rightmost four-digit number as
the check serial number following rule two above. The bank with the three digit check serial number and the four digit
extension after the “on us” symbol would need to be exceptionally recognized:
txxxxxxxxxt ccc-xxxxxxxxxxoxxxx
txxxxxxxxxt xxx-xxxxxxxxxxocccc
In this example, without an exception table entry, the rmware would not be able to pick out the check serial number
because it is not separated from the rest of the account number:
txxxxxxxxxt ccccxxxxxxxxxxo
In this example, without an exception table entry, the rmware would not be able to pick out the check serial number
correctly, because it is imbedded within the rest of the account number:
txxxxxxxxxt xxx-ccc-xxxxxxxxxxo
Loading the exception table
The exception table begins at word 20 in NVRAM. Each entry takes ve words. There is room for eight exceptions. An
application can load local exceptions into the printer using the write NVRAM command:
0x1B 0x73 n1 n2 k
which writes the two byte word n1:n2 to word k in NVRAM.
Exception table entry format
Each exception table entry consists of ve words. The rst two words contain the rst eight characters of the transit
number by packing the low order nibble of the numeric transit number characters. For Canadian checks, eliminate the
dash and store the eight numerics.
The next three words are used as six individual bytes to tell the rmware how to interpret the MICR characters that fall
to the right of the rightmost transit symbol. Each of the six bytes is positional and consists of two parts: character type
and number.
The three high order bits of each byte mark the character type. The characters can be marked in three ways: check
serial # character, account # character, or “skip this character or symbol.”
The ve low order bits of each byte contain the number of characters of that type to extract. Most exceptions will not
need to use all six bytes; in that case clear the unused bytes to zero.
Bits within byte 7 6 5 4 3 2 1 0
Check serial # 0 0 1 n n n n n
character string
Account # 0 1 0 n n n n n
character string
Character string 1 0 0 n n n n n
to ignore
Example 1
t123456780t12349876543210o
1234 is the check serial #
9876543210 is the account #
To load the second table entry, which starts at word 25, the transit number 123456780 would be stored in the rst two
words of its table entry using this string of commands:
0x1B 0x73 0x12 0x34 25
0x1B 0x73 0x56 0x78 26
Continued . . .