Asynchronous and Synchronous Process in BODs

An inbound Process BOD is either synchronous or asynchronous. For a synchronous inbound Process BOD, an Acknowledge BOD is returned by the Process agreement. The mapping then reads the input Process BOD, processes it and creates an output Acknowledge BOD. For an asynchronous inbound Process BOD, the Acknowledge BOD is returned by a separate outbound Acknowledge agreement, having the same noun. The mapping in the Process agreement then reads the input Process BOD, processes it but does not create an output Acknowledge BOD. In both cases, if something goes wrong in the Process BOD mapping, an error Acknowledge BOD is returned by the error handling in the Process agreement. An error Acknowledge mapping is always needed for inbound Process BODs. It can either be an existing standard mapping or a custom mapping.

When you publish an inbound Process mapping for the first time, you must choose which agreement type to generate, either a synchronous agreement or an asynchronous agreement. The agreement type cannot be changed for existing agreements.

Selecting synchronous or asynchronous agreement type determines what type of agreement is generated:

Agreement type Definition Processes tab contents Error handling tab contents
Synchronous Generates an agreement where the Acknowledge BOD is returned by the Process IEC agreement. This is the most common agreement type.
  • XML Transform
  • Apply Envelope
  • Send
  • Create ConfirmBOD
  • Send
  • XML Transform
  • Apply Envelope
  • Send
Asynchronous Generates an agreement where an Acknowledge BOD is not returned, except for error Acknowledge BODs. M3 needs to process the request separately before a non-error Acknowledge BOD is created. A separate outbound Acknowledge agreement is then triggered by M3. This is used for the standard inbound ProcessItemMaster BOD.
  • XML Transform
  • Create ConfirmBOD
  • Send
  • XML Transform
  • Apply Envelope
  • Send