Table Record Layout

The table record layout for MICR validation is shown in Table 1.
Table 1. MICR Validation Table Record Layout
Field Type Field Name Data Type Length Description
Key ibmValMICRPrefix byte 2  
Key ibmValMICRRuleNumber byte 2 Sequential counter to allow any number of rules to be associated with a single MICR prefix
Payload ibmIntField byte 2 MICR index. For more information, see MICR Field Validation.
Payload ibmIntRequired char 1 Length, digit, or modulus validation
Payload ibmIntVerify char 1 Identifies if validation should be performed
Payload ibmIsNumeric char 1 Indicates if the field must be numeric only (only includes digits instead of also allowing all valid MICR characters). It can be combined with ibmValSpecialCharsAllowed to indicate the field allows digits and the dash character.
Payload ibmValSpecialCharsAllowed char 100 A list of optional special characters that, in addition to digits, are allowed. The list is enclosed in braces with the special characters separated by the pipe symbol (|). To designate a space as a special character, use the word SPACE.
The following example shows how to specify a list of special characters:
{ * | - | SPACE }
Digits, the asterisk, the dash and the space characters are allowed
Payload ibmValSpecialCharSubstitutions char 100 An optional list of characters that are substituted for the special characters specified in ibmValSpecialCharsAllowed. The list is enclosed in braces with the special characters separated by the pipe symbol (|). When using a space as a special character, indicate it with the word SPACE. A space can be used as a substitute for other characters.
The following example shows how to specify a list of substitution characters:
{ *=1 | -=2 | SPACE=3 }
Indicates that:
  • all asterisks are replaced with a 1
  • all dashes are replaced with a 2
  • all spaces are replaced with a 3
Payload ibmValFormat char 100 An optional list of formats allowed for a value. The list is enclosed in braces with the formats separated by the pipe symbol (|).
The pre-defined format characters are:
N
is a numeric character
YYYYMMDD
is a date with the four-digit year followed by the two-digit month and then the two-digit day
The following examples show format specifications:
{ NNNNN | NNNN- | NNNN*}
Allows the values 12345, 1234-, and 1234*, but not the values 1-234 or 1234@.
{ YYYYMMDD }
Allows the date 20110915, but not the dates 09152011 or 20111301.
Payload ibmFormatErrorcode char 7 Format error code
Payload ibmFormatReject byte 2 Format error rejection level
Payload ibmFormatOverride char 1 Format error override flag
Payload ibmValValues1 char 100 An optional list of the allowed values. The list of values is enclosed in braces preceded by the value in or value not in operators. Specific values or ranges of values are separated by the pipe symbol (|). Use a dash between the starting and ending values of a range.
The following examples show how to specify allowed values:
value in { 1 - 10 | 123 | 90 - 99 }
The values allowed are 1 through 10, 123, and 90 through 99
value not in { 0 }
Values equal to zero are not allowed
Payload ibmValue1Errorcode char 7 Value 1 error code
Payload ibmValue1Reject byte 2 Value 1 error rejection level
Payload ibmValue1Override char 1 Value 1 override flag
Payload ibmValMutualIncl char 14 Comma separated list of MICR indices. For more information, see MICR Field Validation.
Payload ibmValMutualExcl char 14 Comma separated list of MICR indices. For more information, see MICR Field Validation.
Payload ibmValMutualError char 7 Mutual inclusion or exclusion error code
Payload ibmValMutualReject byte 2 Mutual inclusion or exclusion rejection error
Payload ibmValMutualOverride char 1 Mutual inclusion or exclusion override flag
Payload ibmIntMin byte 2 Minimum field length
Payload ibmIntMax byte 2 Maximum field length
Payload ibmValDigitError char 7 Digit error code
Payload ibmValDigitReject byte 2 Digit error rejection level
Payload ibmValDigitOverride char 1 Digit error override flag
Payload ibmValMissingError char 7 Missing error code
Payload ibmValMissingReject byte 2 Missing error rejection level
Payload ibmValMissingOverride char 1 Missing error override flag
Payload ibmValLengthError char 7 Length error code
Payload ibmIntLengthReject byte 2 Length error rejection level
Payload ibmValLengthOverride char 1 Length error override flag
Payload ibmIntTreasury char 1 Perform treasury check. Options are:
  • Y - Perform check
  • N - Do not perform check
Payload ibmValTreasuryError char 7 Treasury error code
Payload ibmValTreasuryReject byte 2 Treasury error rejection level
Payload ibmValTreasuryOverride char 1 Treasury error override flag
Payload ibmSetModRoutines char 32 The list of modulus operations to be performed. Each modulus operation has an integer modulus routine ID, which is contained the EXT_MOD_ROUTINES_V database view. Specify the IDs of the operations to be performed, separating them with commas. For example: 10,5.
The MICR modulus fields are shown in Table 2.
Table 2. MICR Validation Modulus Fields
Field Type Field Name Data Type Length Description
Payload ibmSetModulus byte 2 Modulus value
Payload ibmSetModRemainder byte 2 Correct remainder after modulus operation
Payload ibmSetModWeights char 48 Modulus weights separated by commas
Payload ibmSetModOption byte 2 Modulus option:
  • 1 - Sum of the digits of each multiplication (weight times value digit)
  • 2 - Sum of the multiplications
Payload ibmValModError char 7 Modulus error code
Payload ibmValModReject byte 2 Modulus error rejection level
Payload ibmValModOverride char 1 Modulus error override flag