Record ID Validation

The record ID validation is not a node, but is a common operation executed by the routing transit, account, process control, amount, and AuxOnUs nodes.

Each time a payments record ID (ibmNprRecordId) is altered by a node’s primary lookup, the record ID table is searched for each of the seven MICR fields.

The two key fields in this table are the Record ID and the MICR Field ID (see MICR Field Validation). It is not required to have an entry for each MICR field. In fact, it is not required to have a record ID represented in this table at all.
Note: This table is different from other tables supported by Business Rules in that no new key or payload fields can be added by the customer.
Types of validations performed are:
  • Missing field (on any single field)
  • Digit (on any single field)
  • Minimum length (on any single field)
  • Maximum length (on any single field)
  • Modulus (on any single field)
  • Mutual exclusion (on any pair of fields)
  • Mutual inclusion (on any pair of fields)
  • Treasury (on any single field)
Missing errors
Occur when the value is blank
Digit errors
Occur when the value contains characters other than digits or dashes
Length errors
Occur when the number of characters in the value is less than a minimum or greater than a maximum
Modulus errors
Occur when one of two optional algorithms fail
Mutual exclusion
Means one and only one field must be set.
Mutual inclusion
Means one or both of the fields must be set. May be disabled.
Treasury checks
Only apply to a treasury document. It validates the date in the process control field.

Each of these checks can be enabled or disabled. It is permitted to enable all, none, or any combination of them. Associated with the validity checks is an optional error record ID, which replaces the current record ID field. It is optional when set to ‘-1’. This means the field validity flag is marked invalid, but the record ID is left unchanged. Six separate error record IDs exist; minimum and maximum length share the length error and mutual exclusion and mutual inclusion share the mutual error.

The list also shows the order of precedence. Should a field fail two or more validations, the first one is the validation error assigned.

Table Record Layout

The table record layout for the record ID validation is shown in Table 1.
Table 1. Record ID Validation Table Record Layout
Field Type Field Name Data Type Length Notes
Key ibmNprRecordID byte 2  
Key ibmIntField byte 2 MICR index (see MICR Field Validation)
Payload ibmIntRequired char 1 Identifies if the length, digit, and modulus are required
ibmIntVerify char 1 If field is set, it identifies if validation is performed
ibmSetMutualIncl byte 2 MICR index (see MICR Field Validation)
ibmSetMutualExcl byte 2 MICR index (see MICR Field Validation)
ibmIntMutualError byte 2 Invalid record ID
ibmIntMin byte 2  
ibmIntMax byte 2  
ibmIntMissingError byte 2 Invalid record ID
ibmIntDigitError byte 2 Invalid record ID
ibmIntLengthError byte 2 Invalid record ID
ibmSetModulus byte 2  
ibmSetModRemainder byte 2  
ibmSetModWeights char 48  
ibmSetModOption byte 2  
ibmSetModError byte 2 Invalid record ID
ibmIntTreasury char 1 Y or N
ibmIntTreasuryError byte 2 Invalid record ID

Fields that can Change

Table 2 shows which fields can change for the record ID validation.
Table 2. Record ID Validation Fields that can Change
Field Name Data Type Length
ibmNprRecordId byte 2
ibmNprValidationError byte 1
ibmNprValidAmount byte 1
ibmNprValidPc byte 1
ibmNprValidAccount byte 1
ibmNprValidField4 byte 1
ibmNprValidRT byte 1
ibmNprValidExtProcCode byte 1
ibmNprValidAuxOnUs byte 1