Field 4 Node
The Field 4 node (Field4Node) requires several fields be set appropriately before it attempts a lookup in the amount table.
If ibmIntField4Prefix or ibmNprField4 have not been set or ibmNprValidField4 is false, the lookup is not attempted. Normally, the ibmNprField4 field would come from the client application, and ibmIntField4Prefix would come from an upstream payment validation rule node table lookup. The ibmNprValidField4 field is set to false when a prior node lookup for a record ID was invalid or comes in that way from the client.
When the Field 4 table record is successfully located and the ibmNprRecordId value has changed, a lookup in the record ID validation table is performed and the fields are validated according to the record ID validation node (see Record ID Validation).
Table Record Layout
| Field Type | Field Name | Data Type | Length | Notes |
|---|---|---|---|---|
| Key | ibmIntField4Prefix | byte | 2 | |
| Start Key | ibmNprField4 | char | 4 | |
| End Key | ibmField4High | char | 4 | |
| Payload | ibmNprRecordType | byte | 2 | |
| ibmNprControlDoc | char | 1 | ||
| ibmNprRecordId | byte | 2 | Used as one of the keys in the record ID validation table | |
| ibmNprCredit | char | 1 | ||
| ibmIntEndorseId | byte | 2 | Endorse table key | |
| ibmIntAmountPrefix | byte | 2 | Amount table key | |
| ibmIntPcPrefix | byte | 2 | Process Control table key | |
| ibmIntAccountPrefix | byte | 2 | Account table key | |
| ibmIntEpcPrefix | byte | 2 | Extended process code table key | |
| ibmIntAuxPrefix | byte | 2 | AuxOnUs table key |
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 |
Results
| If | Condition | Results | Notes |
|---|---|---|---|
| ibmIntField4Prefix | Not set | SUCCESS | Without doing the lookup |
| ibmNprValidField4 | false | FAILURE | Without doing the lookup |
| ibmNprField4 | Not set | SUCCESS | Without doing the lookup |
| Lookup | Fails | FAILURE | |
| Lookup | Succeeds | SUCCESS | |
| Validation | Succeeds/Fails | SUCCESS |
Initialize
Not applicable
Process
- Checks that the ibmIntField4Prefix field has been set. If it is not present, sets the node’s response to success and goes to step 10.
- Checks the value of the ibmNprValidField4 field. If it is false, sets the node’s response to failure and goes to step 10.
- Checks that the ibmNprField4 field has a value in it. If it is not present, sets the node’s response to success and goes to step 10.
- Saves a copy of the ibmNprRecordId value.
- If the user exit is present, calls its preProcess routine.
- Performs the lookup in the field 4 table.
- If the record file is not found, sets the node’s response to failure and goes to step 10.
- If the record file is found, reads the payload fields into DecisionRequest and sets the node’s response to success.
- Checks if the ibmNprRecordId was modified from the table lookup. If it was, it continues with the validate the payment field operation (see Validating the Payment Fields Operation ).
- If the user exit is present, calls its buildClientResponse routine.
- Returns to the workflow controller.