Account Node

The account node requires several fields be set appropriately before it attempts a lookup in the account table.

If ibmIntAccountPrefix or ibmNprAccount have not been set or ibmNprValidAccount is false, the lookup is not attempted. Normally, the ibmNprAccount field would come from the client application, and ibmIntAccountPrefix would come from an upstream PVR node table lookup. The ibmNprValidAccount 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 account 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

The account node table record layout is shown in Table 1.
Table 1. Account Node Table Record Layout
Field Type Field Name Data Type Length Notes
Key ibmIntAccountPrefix byte 2  
Start Key ibmIntAccountLow char 20  
End Key ibmIntAccountHigh char 20  
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
ibmIntField4Prefix byte 2 Field 4 table key
ibmIntEpcPrefix byte 2 Extended process code table key
ibmIntAuxPrefix byte 2 AuxOnUs table key

Fields that can Change

Fields that can change in the account node are:
Table 2. Account Node Fields that can Change
Field Name Data Type Length
ibmNprRecorId 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

The account node results can be shown as:
Table 3. Account Node Results
If Condition Results Notes
ibmIntAccountPrefix Not set SUCCESS Without doing the lookup
ibmNprValidAccount false FAILURE Without doing the lookup
ibmNprAccount Not set SUCCESS Without doing the lookup
Lookup Fails FAILURE  
Lookup Succeeds SUCCESS  
Validation Succeeds/Fails SUCCESS  

Initialize

Not applicable

Process

The account node does the following in sequence:
  1. Checks that the ibmIntAccountPrefix field has been set. If it is not present, sets the node’s response to success and goes to step 10.
  2. Checks the value of the ibmNprValidAccount field. If it is false, sets the node’s response to failure and goes to step 10.
  3. Checks that the ibmNprAccount field has a value in it. If it is not present, sets the node’s response to success and goes to step 10.
  4. Saves a copy of the ibmNprRecordId field.
  5. If the user exit is present, calls its preProcess routine.
  6. Performs the lookup in the account table.
  7. If the record is not found, sets the node’s response to failure and goes to step 10.
  8. If the record is found, reads the payload fields into DecisionRequest and sets the node’s response to success.
  9. Checks if the ibmNprRecordId field was modified from the table lookup. If it was, it continues with the validate the payment field operation (see Validating the Payment Fields Operation).
  10. If the user exit is present, calls its buildClientResponse routine.
  11. Returns to the workflow controller.