Ensemble X12 Development Guide
Settings for X12 Business Processes
[Home] [Back] [Next]
InterSystems: The power behind what matters   
Class Reference   
Search:    

Provides reference information for settings of an X12 business process.
Summary
X12 business processes have the following settings:
Group Settings See
Basic Settings Validation section in this topic
Business Rule Name Settings for Routing Processes in Ensemble Virtual Documents
Additional Settings Response Target Config Names sections in this topic
Act On Transform Errors, Act On Validation Errors, Alert On Bad Message, Bad Message Handler, Response From, Response Timeout, Force Sync Send Settings for Routing Processes in Ensemble Virtual Documents
Development and Debugging Rule Logging Settings for Routing Processes in Ensemble Virtual Documents
The remaining settings are common to all business processes. See Settings for All Business Processes in Configuring Ensemble Productions.
Response Target Config Names
A comma-separated list of configured items within the production. If specified, this list identifies the destinations, in addition to the caller, to which responses will be forwarded. If empty, responses are only returned to the caller. This setting takes effect only if the Response From field has a value.
Validation
The Validation setting of an X12 Document Router controls how the router validates the incoming message. If the incoming message fails the specified validation, Ensemble reports the failure in the event log, and the X12 routing process passes the message to its bad message handler only; see the Bad Message Handler setting. If the message fails the specified validation but there is no bad message handler, an error is logged but the message is not sent to any target. If the message passes validation, the X12 routing process sends the message to the targets specified by the routing rules.
Ideally, you can use routing rules and data transformations to ensure each message is acceptable to the target system, and can, consequently, avoid using validation. This ensures that all messages are processed by the appropriate target. If you enable validation, Ensemble applies the validation tests before the routing rules. Any message that fails validation will not be sent to a target based on the routing rules; it will be sent only to the Bad Message Handler. However, there are some environments where X12 message validation is the preferred way to filter messages. For example, in the following situations, using X12 validation is a good choice:
X12 validation does add overhead to the routing process. This overhead can be significant and can reduce the maximum load of messages that your production can handle.
The Validation property allows you to specify flags that control the following:
If you specify an empty string as the Validation property value, the message router skips validation and routes all messages. When you create a new X12 routing process in the Management Portal, the Validation setting is initialized to an empty string.
The message validation sequence is as follows:
  1. Validate that the message object has a DocType property value.
  2. Validate the segment order.
Note:
A message can pass validation and not conform exactly to the schema definition depending on the Validation flags specified.
The following table lists the X12 validation flags and describes how the routing process validates the message when each is specified.
Flag Routing Process
d Validation examines the DocType property of the document to see if it has a value.
m Validation verifies that the document segment structure is well formed, and that it can be parsed using the schema identified in the DocType property of the document. This ensures that all required segments in the schema definition are included in the message and that the message does not contain any misplaced segments that are not allowed by the schema.
dm Both d and m are active.
1 Same as dm, for backward compatibility with previous releases.
(empty string) Skips validation and routes all messages. This is the default.