Common Database Tables for the File Standards Validation Rules

The samples shipped with Business Rules include the database tables that are used to populate the tables required by the various file standards validation rules. These table definitions are common across all standards:
  • Error categories table
  • Reject level table
  • Error codes table
  • Records table
  • Fields table
  • X9 forward rules map table
  • X9 return rules map table
The error categories table makes it easier to find an error or group of errors by allowing the user to filter based on the type of error requested. The error categories are described in Table 1.
Table 1. Error Categories Table Definitions
Field Name Data Type Length Description
CATEGORY smallint   ID of the category. -1 is required.
DESCRIPTION char 50 Description of the category

The error codes table is a global repository for all error codes. Each error code is listed with the rejection level, override flag, notification flag, and description of the error.

The rejection level allows the user to determine which structure should be rejected when an error is found. For example, most errors found at the transaction level cause the transaction to be rejected. However, some transaction errors might be deemed serious enough to warrant rejecting the bundle in which the transaction is found. Other errors could be serious enough to reject the entire batch or transmission. Determination of the rejection level is a business decision that is left to the user.

The rejection level table is a global list of valid rejection levels that can be associated with error codes. Table 2 describes the rejection levels.
Table 2. Reject Levels Table
Field Name Data Type Length Description
REJECT smallint   Rejection level
DESCRIPTION char 32 Description of the rejection level
The override flag controls how the error is handled by subsequent processing. If the error can be overridden, the rejected object is presented to the user to override the rejection. The override flag gives the operator the opportunity to supersede a rejection decision made by a computer. The error codes are defined in Table 3.
Table 3. Error Codes Table Definition
Field Name Data Type Length Description
ERROR_CODE char 24 Error code
CATEGORY smallint   Must be defined in ERROR_CATEGORIES
REJECT smallint   Options are:
  • -1 - Informational
  • 0 - Warning
  • 1 - Transaction
  • 2 - Bundle or segment
  • 3 - Batch
  • 4 - Transmission
OVERRIDE char 1 Options are:
  • Y - Error can be overridden by the user
  • N - Error cannot be overridden
NOTIFICATION_INCL char 1 Options are:
  • Y - Include error in the notification message
  • N - Error is not included in the notification message
DESCRIPTION char 128 Description of the error
Each record for processing must be listed in the records table. The table stores and manages record types. The record types are associated with the error code returned when the record is found to be out of place. The records are shown in Table 4 for both X9 and NACHA.
Table 4. Record Table Definition
Field Name Data Type Length Description
DATA_TYPE smallint   Data Type. Makes content validation specific to a transmission type. Refer to Table 1
RECORD_TYPE smallint   Type of record. For example,
  • 1 is transmission
  • 10 is X9 batch
  • 20 is X9 bundle
  • 25 is X9 transaction
  • 5 is NACHA batch
  • 6 is NACHA transaction
SEC_TYPE char 3 NACHA Standard Entry Class Code (NACHA only)
ADDENDA_TYPE smallint   NACHA Addenda Type Code. 0 for all records except addenda's. (NACHA only)
CONTEXT_ERROR char 24 Error to return when the record is found in the wrong place in the transmission
DESCRIPTION char 50 Description of the record
LAST_UPDATED_USERID char 32 ID of the user that last updated the record
LAST_UPDATED_TIMESTAMP timestamp   Date and time of the last update
The fields table, shown in Table 5, provides a central place to manage the list of fields for each record type and the error codes that are generated when validation fails.
Table 5. Fields Table Definition
Field Name Data Type Length Description
DATA_TYPE smallint   Data type. Makes content validation specific to a transmission type. Refer to Table 1
RECORD_TYPE smallint   Type of record. For example,
  • 1 is transmission
  • 10 is X9 batch
  • 20 is X9 bundle
  • 25 is X9 transaction
  • 5 is NACHA batch
  • 6 is NACHA transaction
SEC_TYPE char 3 NACHA Standard Entry Class Code (NACHA only)
ADDENDA_TYPE smallint   NACHA Addenda Type Code. 0 for all records except addenda's. (NACHA only)
FIELD_NUMBER smallint   Field number
FWD_RTN_INDICATOR char 1 Forward Return Indicator (NACHA only).
  • F is Forward entry
  • R is Return entry
  • D is Dishonored return entry
  • C is Contested dishonored return entry
FIXED_FIELD_POS int   Offset of the field in the record. It is a one based offset.
FIXED_FIELD_LEN int   For fixed length fields, this is the length of the field. For variable length fields, it is 0.
VAR_LEN_FIELDNUM smallint   The field number of the field containing the variable length field.
DESCRIPTION varchar 50 Description of the field
TYPE char 10 Data type of the field
FORMAT char 10 Required format of the field
MANDATORY_ERR_CODE char 24 Error code to return when the field fails the mandatory check
TYPE_ERR_CODE char 24 Error code to return when the field fails the type check
FORMAT_ERR_CODE char 24 Error code to return when the field fails the format check
VALUE_ERR_CODE char 24 Error code to return when the field fails the value check
JUSTIFICATION_ERR_CODE char 24 Error code to return when the first justification rule is not met
JUSTIFICATION2_ERR_CODE char 24 Error code to return when the second justification rule is not net
VALUE1_ERR_CODE char 24 Error code to return if ibmValValues1 fails evaluation
VALUE2_ERR_CODE char 24 Error code to return if ibmValValues2 fails evaluation
VALUE3_ERR_CODE char 24 Error code to return if ibmValValues3 fails evaluation
VALUE4_ERR_CODE char 24 Error code to return if ibmValValues4 fails evaluation
VALUE5_ERR_CODE char 24 Error code to return if ibmValValues5 fails evaluation
LAST_UPDATED_USERID char 32 ID of the user that last updated the data
LAST_UPDATED_TIMESTAMP timestamp   Date and time of the last update
The X9 forward rules map, shown in Table 6, is used to determine which collection types are used for the X9 forward context rules table for a particular input transmission format.
Table 6. X9_VAL_FORWARD_RULES_MAP Table Definition
Field Name Data Type Length Description
DATA_TYPE smallint   Data Type. Makes content validation specific to a transmission type. Refer to Table 1
COLLECTION_TYPE smallint   Collection type
LAST_UPDATED_USERID char 32 ID of the user that last updated the record
LAST_UPDATED_TIMESTAMP timestamp   Date and time of the last update
The X9 return rules map, shown in Table 7, is similar to the X9 forward rules map table except that it applies to the return rules in the X9 return context rules.
Table 7. X9_VAL_RETURN_RULES_MAP Table Definition
Field Name Data Type Length Description
DATA_TYPE smallint   Data Type. Makes content validation specific to a transmission type. Refer to Table 1
COLLECTION_TYPE smallint   Collection type
LAST_UPDATED_USERID char 32 ID of the user that last updated the record
LAST_UPDATED_TIMESTAMP timestamp   Date and time of the last update