ACHEnvelope Business Process

The ACHEnvelope business process performs four primary activities.

The ACHEnvelope business processes performs the following primary activities:

  1. Starting with one or more EDI documents, the ACHEnvelope services applies CTX envelope properties at the document level to each document, and then applies a message group header and trailer for documents with CTX Rule requirements.
  2. The ACHEnvelope service takes one or more transaction sets and applies a functional group envelope.
  3. The ACHEnvelope service takes a functional group and applies the interchange-level envelope and searches for a matching contract.
  4. Using the interchange-level envelope data, the service either looks up a contract or runs a business process.

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

ACHEnvelope business process model
ACHEnvelope business process model
ACHEnvelope business process model

The following BPML code makes up the AchEnvelope business process:


<process name="ACHEnvelope">
  <rule name="contract">
    <condition>CONTRACT_FOUND = &quot;YES&quot;</condition>
  </rule>

  <sequence>
    <sequence>
      <operation>
        <participant name="EnvelopeACH"/>
        <output message="Xout">
          <assign to="." from="*"></assign>
        </output>
        <input message="Xin">
          <assign to="." from="*"></assign>
        </input>
      </operation>

      <onFault>
        <operation>
          <participant name="BPExceptionService"/>
          <output message="Xout">
            <assign to="exceptionCode" from="'Translation Error'"></assign>
          </output>
          <input message="Xin">
          </input>
        </operation>

      </onFault>
      <onFault code="Translation-Error-Some-Docs">
        <assign to="BREAK">YES</assign>
      </onFault>
    </sequence>
    <choice>
      <select>
        <case ref="contract" activity="invoke_contract_workflow"/>
      </select>

      <sequence name="invoke_contract_workflow">
        <operation>
          <participant name="InvokeBusinessProcessService"/>
          <output message="Xout">
            <assign to="INVOKE_MODE">ASYNC</assign>
            <assign to="." from="*"></assign>
          </output>
          <input message="Xin">
            <assign to="." from="*"></assign>
          </input>
        </operation>

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