Workflow
The workflow has the following nodes:
- StartOfWorkflow
- Execution of the workflow begins with this node.
- NachaContextNode and NachaContentNode
- The context and content validation nodes validate each record in a transmission.
- FwdPaymentMethodOutNode and CurrencyOutNode
- These nodes are executed for the transaction records. FwdPaymentMethodOutNode is only run if ibmNprStandardNameOut and ibmNprMessageTypeNameOut are not yet set.
- BankCodeVerificationNode
- This eSort node validates that the destination bank code is in the bank code table. This node always returns successfully.
- AccountValidationNode
- This eSort node validates that the account number is in the large account table and corresponds to the transaction code. This node always returns successfully.
- EndpointAssignFtmNode
- This node assigns an endpoint based on the outbound message type field. If an endpoint is not assigned to a transaction, the node assigns a relevant error code to the transaction.
- AccumAssignFtmNode and BillingNode
- After these nodes are executed, the workflow is complete.
The XML workflow configuration is shown here:
<?xml version="1.0" ?>
<workflowDescriptor name="AchWorkflow">
<nodes>
<node name="StartOfWorkflow"/>
<node name="NachaContextNode"/>
<node name="NachaContentNode"/>
<node name="NachaCollectorsNode"/>
<node name="FwdPaymentMethodOutNode"/>
<node name="CurrencyOutNode"/>
<node name="BankCodeVerificationNode"/>
<node name="AccountValidationNode"/>
<node name="EndpointAssignFtmNode"/>
<node name="EndpointAssignErrorFtmNode"/>
<node name="AccumAssignFtmNode"/>
<node name="BillingNode"/>
<node name="EndOfWorkflow"/>
</nodes>
<connections>
<connection srcName="StartOfWorkflow" dstName="NachaContextNode"/>
<connection srcName="StartOfWorkflow" dstName="EndOfWorkflow"/>
<connection srcName="NachaContextNode" dstName="NachaContentNode"/>
<connection srcName="NachaContentNode" dstName="NachaCollectorsNode"/>
<connection srcName="NachaCollectorsNode" dstName="FwdPaymentMethodOutNode">
<paymentCheck field="ibmValIsItem" operator="EQ" value="Y" and="true"/>
<paymentCheck field="ibmNprStandardNameOut" operator="NotCurrent"/>
<paymentCheck field="ibmValIsItem" operator="EQ" value="Y" and="true"/>
<paymentCheck field="ibmNprMessageTypeNameOut" operator="NotCurrent"/>
</connection>
<connection srcName="NachaCollectorsNode" dstName="CurrencyOutNode">
<paymentCheck field="ibmValIsItem" operator="EQ" value="Y"/>
</connection>
<connection srcName="NachaCollectorsNode" dstName="EndOfWorkflow"/>
<connection srcName="FwdPaymentMethodOutNode" dstName="CurrencyOutNode"/>
<connection srcName="CurrencyOutNode" dstName="BankCodeVerificationNode"/>
<connection srcName="BankCodeVerificationNode" dstName="AccountValidationNode"/>
<connection srcName="AccountValidationNode" dstName="EndpointAssignFtmNode"/>
<connection srcName="EndpointAssignFtmNode" dstName="EndpointAssignErrorFtmNode"
results="FAILURE"/>
<connection srcName="EndpointAssignFtmNode" dstName="AccumAssignFtmNode"/>
<connection srcName="EndpointAssignErrorFtmNode" dstName="EndOfWorkflow"/>
<connection srcName="AccumAssignFtmNode" dstName="BillingNode"/>
<connection srcName="BillingNode" dstName="EndOfWorkflow"/>
</connections>
</workflowDescriptor>