ACHDeenvelope Business Process

The ACHDeenvelope business process primarily splits documents into interchanges, puts delimiters sent into the process data, and can either look up a contract or run a business process.

The ACHDeenvelope business process performs the following primary activities:

  1. The ACHDeenvelope service splits documents into interchanges and puts delimiters sent into the process data.
  2. Depending upon configuration, the service either looks up a contract or runs a business process.

The following figures show the ACHDeenvelope business process model as it displays in the GPM:

ACHDeenvelope business process model
ACHDeenvelope business process model

The following BPML code makes up the Achdeenvelope business process:


<process name="ACHDeenvelope">
  <rule name="BPOnError">
    <condition>InvokeBPOnError/text()='YES'</condition>
  </rule>

  <rule name="PostProcess">
    <condition>InvokePostProcessBP/text()='YES'</condition>
  </rule>

  <sequence>
    <assign to="NACHA-Interchange" from="PrimaryDocument/@SCIObjectID"></assign>
    <operation name="ACHDeEnvelope">
      <participant name="DeenvelopeACH"/>
      <output message="Xout">
        <assign to="." from="*"></assign>
      </output>
      <input message="Xin">
        <assign to="." from="*"></assign>
      </input>
    </operation>

    <choice>
      <select>
        <case ref="PostProcess" activity="PostACHDeEnvelope"/>
      </select>

      <sequence name="PostACHDeEnvelope">
        <operation>
          <participant name="InvokeSubProcessService"/>
          <output message="Xout">
            <assign to="INVOKE_MODE">INLINE</assign>
            <assign to="WFD_NAME" from="//SuccessBPName/text()"></assign>
          </output>
          <input message="Xin">
            <assign to="." from="*"></assign>
          </input>
        </operation>

      </sequence>
    </choice>
    <onFault>
      <choice>
        <select>
          <case ref="BPOnError" activity="ErrorBP"/>
        </select>
<sequence name="ErrorBP">
          <operation>
            <participant name="InvokeSubProcessService"/>
            <output message="Xout">
              <assign to="INVOKE_MODE">INLINE</assign>
              <assign to="WFD_NAME" from="//ErrorBPName/text()"></assign>
            </output>
            <input message="Xin">
              <assign to="." from="*"></assign>
            </input>
          </operation>

        </sequence>
      </choice>
    </onFault>
  </sequence>
</process>