How do the hardware MICR sorting rules work on the Canon CR-180?

How do the hardware MICR sorting rules work on the Canon CR-180?

The following section, found in the CR180options.ini file, pertains to the MICR sorting rules when the SortBy is set to 'scanner':
  1. ////////////////////////////////////////////////////////////////////////////////
  2. //  SortBy
  3. //      When set to "Scanner": The application cannot make a pocket decision on each item.
  4. //                            The scanner will select it based on "micr rules" set below in
  5. //                            this file.  Upstream imaging will be available.
  6. ////////////////////////////////////////////////////////////////////////////////
  7. //
  8. // MICR sorting rules
  9. //
  10. // Enabled:
  11. //
  12. //  true            - this MICR sort rule is enabled.
  13. //
  14. //  false (default) - this MICR sort rule is not enabled.
  15. //
  16. // Pocket:
  17. //
  18. //  1 (default) - the item will be sent to pocket 1 if the item MICR data
  19. //                satisfies this MICR sort rule criteria.
  20. //
  21. //  2          - the item will be sent to pocket 2 if the item MICR data
  22. //                satisfies this MICR sort rule criteria.
  23. //
  24. // SortMethod:
  25. //
  26. //  None (default) - no sorting.
  27. //
  28. //  Equal          - the item will be sent to the "Pocket" specified by this
  29. //                    rule if the item's MICR data matches the data defined by
  30. //                    this rule.
  31. //
  32. //  Smaller        - the item will be sent to the "Pocket" specified by this
  33. //                    rule if the item's MICR data is less than the data defined
  34. //                    by this rule.
  35. //
  36. //  Larger        - the item will be sent to the "Pocket" specified by this
  37. //                    rule if the item's MICR data is greater than the data
  38. //                    defined by this rule.
  39. //
  40. //  Range          - the item will be sent to the "Pocket" specified by this
  41. //                    rule if the item's MICR data falls within the range
  42. //                    defined by this rule.
  43. //
  44. // UseStartChar:
  45. //
  46. //  true            - the scanner will use "StartCharacter" as the start
  47. //                    delimiter of the item's MICR data that will be used for
  48. //                    comparison.
  49. //
  50. //  false (default) - the scanner will not use "StartCharacter" as the start
  51. //                    delimiter of the item's MICR data that will be used for
  52. //                    comparison.
  53. //                    "Position" should be specified if "UseStartChar" is false.
  54. //
  55. // StartCharacter:
  56. //
  57. //  ':' (0x3A) when translated by Ranger this character is a 'd'
  58. //  ';' (0x3B) when translated by Ranger this character is a 'b'
  59. //  '<' (0x3C) when translated by Ranger this character is a 'c'
  60. //  '=' (0x3D) when translated by Ranger this character is a '-'
  61. //  '>' (0x3E) NOTE - can be used only when [MICR]Font=CMC7
  62. //
  63. // UseEndChar:
  64. //
  65. //  true            - the scanner will use "EndCharacter" as the end
  66. //                    delimiter of the item's MICR data that will be used for
  67. //                    comparison.
  68. //
  69. //  false (default) - the scanner will not use "EndCharacter" as the end
  70. //                    delimiter of the item's MICR data that will be used for
  71. //                    comparison.
  72. //                    "Length" should be specified if "UseEndChar" is false.
  73. //
  74. // EndCharacter:
  75. //
  76. //  The same characters that are valid for "StartCharacter" are valid for
  77. //  "EndCharacter".
  78. //
  79. // Length:
  80. //
  81. //  If "EndCharacter" is set to false, "Length" defines the end of the MICR
  82. //  data that will be used for comparison.
  83. //
  84. // Position:
  85. //
  86. //  The zero (0) indexed starting postion in the actual MICR data that will
  87. //  be used for comparison.
  88. //
  89. // ComparisonString:
  90. //
  91. //  The data to be compared against the actual MICR data using the sort
  92. //  method specified.
  93. //  More than one string may be specified using the '|' character to separate
  94. //  the discrete strings.
  95. //
  96. // Polarity:
  97. //
  98. ///////////////////////////////////////////////////////////////////////////////
  99. [MicrSortRule1]
  100. Enabled= true
  101. Pocket= 1
  102. SortMethod= Equal
  103. UseStartChar= true
  104. UseEndChar= true
  105. // If 'UseStartChar = false', the 'position' value will be used as the index of the first MICR
  106. // character to locate a MICR substring used for comparisons against the any substrings
  107. // contained by 'ComparisonString'. The first character in the MICR line is at position 0.
  108. Position= 0
  109. // If 'UseEndChar = false', 'Length' is used to determine how many characters to capture from
  110. //the MICR line for comparison purposes.
  111. Length= 0
  112. // If 'UseEndChar= true'
  113. EndCharacter= :
  114. // If 'smaller' or 'larger' sorting rules are used:
  115. ComparisonString= "[string1]"
  116. // If the 'range' sorting rule is used:
  117. ComparisonString= "[string1]|[string2]"
  118. // If the 'equal' sorting rule is used, up to nine comparison substrings can be specified:
  119. ComparisonString= "[string1]|[string2]|...|[string 9]"
  120. Polarity=
  121. // If 'UseStartChar= true'
  122. StartCharacter= :
According to the sorting method chosen in the above settings, all items containing a substring, which starts after the first ':' and ends before the second ':', that is identical to one of the substrings specified by 'comparisonString' will be sent to pocket 1.

If the MICR read is "<123<4567=89" and if UseStartChar = true, UseEndChar = true, the StartChar ='<', and the EndChar ='=', then the extracted substring is "4567".  This is the string that will be used for comparisons based on the sorting rule specified and the contents of 'ComparisonString'.

If the sorting rule is 'Range', all items containing MICR lines with substrings in the range between string 1 and string 2 of 'ComparisonString' will be send to pocket 1.  If the sorting rule is either 'smaller' or 'larger' and there are several strings in the 'ComparisonString', the first string will be used for comparison.

Ranger® - The universal check scanner interface
Copyright © 2023 Silver Bullet Technology
www.sbullet.com