ipdRtnWorkflow

<?xml version="1.0" ?>
<workflowDescriptor name="ipdRtnWorkflow">
<!--
     Each node is followed by a comment that indicates which Payment Feature Services
     component it is associated with. The nodes that are not labeled are provided
     as part of Business Rules itself. If all of the components are not being used,
     the nodes that are associated with the unused components must be removed from the
     Workflow, and the 'connection' entries for those nodes must also be updated to
     flow around the removed nodes. Sample connection changes with the
     Billing and Settlement components removed are shown.
 -->
   <nodes>
      <node name="ValContextEnvelopeNode"/>
      <node name="ValContextExclusiveNode"/>
      <node name="ValContextNode"/>
      <node name="ValContentNode"/>
      <node name="ValCollectorsNode"/>
      <node name="DepositProdAvailNode"/>      <!-- Accounting  (note 1) -->
      <node name="RtnValEndpointNode"/>        <!-- Distribution          -->
      <node name="RtnEndpointErrorNode"/>      <!-- Distribution          -->
      <node name="RtnReclearNode"/>            <!-- Billing              -->
      <node name="ValMICRValNode"/>
      <node name="SettlementNode"/>            <!-- Settlement           -->
      <node name="DebitAvailabilityDaysNode"/> <!-- Accounting           -->
      <node name="RtnCreditAvailDaysNode"/>    <!-- Accounting           -->
      <node name="CreditAvailabilityNode"/>    <!-- Accounting           -->
      <node name="RtnBillingNode"/>            <!-- Billing              -->
      <node name="RtnValBofdRtNode"/>
   </nodes>
   <assignments>
      <assignment field="ibmValMICRPrefix" value="100" type="decimal" 
                  executionPoint="onEntry" conditions="notCurrent"/>
      <assignment field="ibmCLBillingCode" value=""    type="string" 
                 executionPoint="onEntry" conditions="notCurrent"/>
   </assignments>
   <connections>
      <connection srcName="ValContextEnvelopeNode"   dstName="ValContextExclusiveNode"/>
      <connection srcName="ValContextExclusiveNode"  dstName="ValContextNode" />
      <connection srcName="ValContextNode"           dstName="ValContentNode"/>
      <connection srcName="ValContentNode"           dstName="ValCollectorsNode"/>
      <connection srcName="ValCollectorsNode"        dstName="DepositProdAvailNode">
         <paymentCheck field="ibmValIsItem" operator="EQ" value="Y"/>
      </connection>
      <connection srcName="DepositProdAvailNode"     dstName="RtnValEndpointNode"/>
      <connection srcName="RtnValEndpointNode"       dstName="RtnEndpointErrorNode" 
                  results="FAILURE"/>
      <connection srcName="RtnValEndpointNode"       dstName="RtnReclearNode">
         <paymentCheck field="ibmIntReclearServiceCode" operator="CurrentNotNull"/>
      </connection>
      <connection srcName="RtnReclearNode"           dstName="ValMICRValNode"/>
      <connection srcName="RtnValEndpointNode"       dstName="ValMICRValNode"/>
      <connection srcName="ValMICRValNode"           dstName="SettlementNode">
         <paymentCheck field="ibmNprBofdValidRT" operator="EQ" value="Y"/>
      </connection>
<!--
          If the Business Rules component of Settlement is not installed, the previous
          connection needs to be replaced with

      <connection srcName="ValMICRValNode"           dstName="DebitAvailabilityDaysNode">
         <paymentCheck field="ibmNprBofdValidRT" operator="EQ" value="Y"/>
      </connection>

          and the next connection (marked with an 'S') needs to be removed.
-->
      <connection srcName="SettlementNode"           dstName="DebitAvailabilityDaysNode"/> <!-- S -->
      <connection srcName="DebitAvailabilityDaysNode"  dstName="RtnCreditAvailDaysNode">
         <paymentCheck field="ibmClientType" operator="EQ" value="Gateway"/>
      </connection>
      <connection srcName="RtnCreditAvailDaysNode"   dstName="CreditAvailabilityNode"/>
      <connection srcName="CreditAvailabilityNode"   dstName="RtnBillingNode"/>
<!--
          If the Business Rules component of Billing is not installed, the previous
          connection needs to be replaced with

      <connection srcName="CreditAvailabilityNode"   dstName="RtnValBofdRtNode"/>

          and the next connection (marked with a 'B') needs to be removed.
-->
      <connection srcName="RtnBillingNode"  dstName="RtnValBofdRtNode" results="SUCCESS"/> <!-- B -->
   </connections>
   <responses>
      <response>
         <responseFields>
            <responseField name="ibmCLBillingCode"  message="decision"/>
         </responseFields>
      </response>
   </responses>
<!-- 
     Note 1: The Accounting, Billing, and Settlement components of Business Rules,
             in addition to MICR Validation, are dependent on the endpoint assignment
             that is done as part of the Business Rules component of Distribution.
             If Distribution is not installed, none of those other components nodes can
             be used by the default installation. However, you can modify the workflow to use
             MICR Validation and Settlement without Distribution, but no sample is
             provided. Accounting and Billing have a prerequisite of Distribution, so
             you cannot modify those components to work without Distribution.
 -->
</workflowDescriptor>
Table 1. ipdRtnWorkflow nodes and related components
Node Related component
ValContextEnvelopeNode Business Rules
ValContextExclusiveNode Business Rules
ValContextNode Business Rules
ValContentNode Business Rules
ValCollectorsNode Business Rules
DepositProdAvailNode Accounting
RtnValEndpointNode Distribution
RtnEndpointErrorNode Distribution
RtnReclearNode Billing
ValMICRValNode Business Rules
SettlementNode Settlement
DebitAvailabilityDaysNode Accounting
RtnCreditAvailDaysNode Accounting
CreditAvailabilityNode Accounting
RtnBillingNode Billing
RtnValBofdRtNode Business Rules