CHIPSExtractMailboxMessage Business Process
This business process receives and deenvelopes (using the EDIDeenvelope business process) each mailbox message received by the CHIPS adapter from the CHIPS Central Computer. This business process is started by a mailbox routing rule that you create. The mailbox routing rule is executed automatically when the MailboxEvaluateAllAutomaticRulesSubMin schedule is enabled.
This table lists the configuration parameters for the CHIPSExtractMailboxMessage business process:
Parameter | Default | Description |
---|---|---|
Document Tracking | False | When document tracking is enabled for a business process, tracking information is carried with the message throughout the process, and the tracking information is persisted about the message regardless of the persistence level you configured globally for Sterling B2B Integrator. |
Set onfault processing | False | Onfault processing allows the process to immediately execute the on-fault activity specified in the process, even if the process has not yet reached that step in the process. For example, if a process fails at step 3, but the on-fault activity is specified in step 7, if onfault processing is enabled, the process proceeds to the step 7 on-fault rather than halting at step 3. |
Queue | 4 | Sterling B2B Integrator enables you to set performance optimizations by queue, defining queue levels to allocate resources. This number indicates the previously allocated queue level that you want for this business process model for processing. |
Persistence Level | System Default | The level of data to retain for generating a status report that describes each step that the business process completes. System default indicates that, for the data, configuration is already defined in Sterling B2B Integrator to retain data. |
Recovery Level | Manual | The level of recovery for this business process if the business process should halt during execution. Manual requires you to resume or restart the business process manually. |
Document Storage Type | System Default | The level of document storage for messages that process when the business process runs. System Default specifies to store messages in the file system or database, according to how you configured archiving and purging in Sterling B2B Integrator. |
Life Span | Life Span Days — 2 Life Span Hours — 0 Life Span Type — System Level Removal Method — Archive |
The length of time, in days and hours, to retain the data in Sterling B2B Integrator, along with the life span type and removal method. |
Complete by Deadline | None Available Note: To set a deadline you must change it in the business process.
|
Complete by – The deadline time, in hours and minutes, by which the business process must complete process once it starts.
|
Event Reporting Level | Full | The level of event reporting that is retrieved for this business process when it runs. Full specifies to generate events for the business process, including the business process start and end time, start and end times for all services or services running as a result of this business process, and any resulting errors and exceptions. |
The following BPML code makes up the CHIPSExtractMailboxMessage business process:
<process name="CHIPSExtractMailboxMessage">
<!-- Keep looping until the message count = 0 -->
<rule name="MailboxMessagesLeftToExtract">
<condition>MailboxMessageIdIndex <= MailboxMessageIdCount</condition>
</rule>
<sequence>
<!-- How many message IDs do we have? -->
<assign to="MailboxMessageIdCount"
from="count(//RoutingRequest/MessageId)"/>
<assign to="MailboxMessageIdIndex" from="'1'"/>
<choice name="MailboxMessageIdLoop">
<select>
<case ref="MailboxMessagesLeftToExtract"
activity="ExtractMessageAndDeenvelope" />
</select>
<!-- Extract and deenvelope a single mailbox message -->
<sequence name="ExtractMessageAndDeenvelope">
<operation name="Mailbox ExtractBegin Service">
<participant name="MailboxExtractBegin"/>
<output message="ExtractBeginRequest">
<assign to="MessageId"
from="//RoutingRequest/MessageId[/ProcessData/MailboxMessageIdIndex/text()]/text(
)"/>
<assign to="CommitNow" from="'Yes'"/>
<assign to="." from="*"/>
</output>
<input message="inmsg">
<assign to="ExtractBeginResponse" from="*"/>
<assign to="." from="PrimaryDocument"/>
</input>
</operation>
<operation name="Deenvelope">
<participant name="InvokeSubProcessService"/>
<output message="InvokeSubProcessServiceTypeInputMessage">
<assign to="INVOKE_MODE">ASYNC</assign>
<assign to="WFD_NAME">EDIDeenvelope</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<!-- Increment the message ID index and loop around to see if we
have more extractions to do -->
<assign to="MailboxMessageIdIndex" from="MailboxMessageIdIndex +
1" />
<repeat ref="MailboxMessageIdLoop" />
</sequence>
</choice>
</sequence>
</process>