Contact Us 1-800-596-4880

X12 EDI Connector 2.17 Reference - Mule 4

Default Configuration

Parameters

Name Type Description Default Value Required

Name

String

Name for this configuration. Connectors reference the configuration with this name.

x

Expiration Policy

ExpirationPolicy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. This does not mean that the instance expires at the exact moment that it becomes eligible. Mule purges the instances when appropriate.

Mule ID qualifier

String

ID qualifier for Mule in the exchange (ISA) segment. This value is used in combination with the Self Identification Interchange ID value, and if one is set, the other must also be set.

If this value is set, it affects both send and receive message handling:

  • On the receive side, the ISA Interchange Receiver ID Qualifier must match this value.

  • On the send side, this value is used as the default ISA Interchange Sender ID Qualifier when it is not set in the message data.

Mule interchange ID

String

ID for Mule in the exchange (ISA) segment. This value is used in combination with the Self Identification Interchange ID qualifier value, and if one is set the other must also be set.

If this value is set, it affects both send and receive message handling:

  • On the receive side, the ISA Interchange Receiver ID must match this value.

  • On the send side, this value is used as the default ISA Interchange Sender ID when it is not set in the message data.

Mule application code

String

Application Code for Mule in the group (GS segment).

If this value is set, it affects both send and receive message handling:

  • On the receive side, the GS Application Receiver’s Code must match this value.

  • On the send side, this value is used as the default GS Application Sender’s Code when it is not set in the message data.

Partner ID qualifier

String

ID qualifier for the partner in the exchange (ISA segment). This value is used in combination with the Partner Identification Interchange ID value, and if one is set the other must also be set.

If this value is set, it affects both send and receive message handling:

  • On the receive side, the ISA Interchange Sender ID Qualifier must match this value.

  • On the send side, this value is used as the default ISA Interchange Receiver ID Qualifier when it is not set in the message data.

Partner interchange ID

String

ID for the partner in the exchange (ISA segment). This value is used in combination with the Partner Identification Interchange ID qualifier value, and if one is set the other must also be set.

If this value is set, it affects both send and receive message handling:

  • On the receive side, the ISA Interchange Sender ID must match this value.

  • On the send side, this value is used as the default ISA Interchange Receiver ID when it is not set in the message data.

Partner application code

String

Application Code for the partner in the group (GS segment).

If this value is set, it affects both send and receive message handling:

  • On the receive side, the GS Application Sender’s Code must match this value.

  • On the send side, this value is used as the default GS Application Receiver’s Code when it is not set in the message data.

Form and validation

Enumeration, one of:

  • X12

  • HIPAA_SNIP1

  • HIPAA_SNIP2

Schema form and validation level. Schemas used in the configuration must match the selected form. SNIP Type 1 and SNIP Type 2 validation applies to HIPAA schemas only.

X12

Schema definitions

Array of String

List of paths for the schemas that the connector uses. The paths can be file systems or classpaths.

x

Character encoding

Enumeration, one of:

  • ASCII

  • IBM1047

  • ISO8859_1

  • PLATFORM

  • UTF8

Character encoding for messages. This character encoding is always used for both send and receive messages.

PLATFORM

Character set

Enumeration, one of:

BASIC EXTENDED ** UNRESTRICTED

Characters allowed in string data. Invalid characters are replaced by the substitution character, if specified, or rejected as errors if no substitution character is set or enabled for receive messages in parser options. Either way, the invalid characters are logged.

For receive messages, the invalid characters are reported in 997 functional acknowledgments.

UNRESTRICTED

Substitution character

String

Substitution character used to replace invalid characters in string values.

Version identifier suffix

String

Version identifier code suffix for the group (GS segment).

If this value is set, it affects both send and receive message handling:

  • On the receive side, the GS Version, Release, and Industry Identifier Code must consist of the X12 schema version (004010, 005010, and so forth) followed by this suffix. If this value is not set, the receive only verifies that the GS version identifier code starts with the configured schema version.

  • On the send side, the combination of the X12 schema version and this suffix is used as the GS version identifier code.

Timezone offset

String

Timezone offset from the UTC to apply to the date and time elements in the Interchange Header (ISA) segment. This field accepts only values compliant with ISO 8601, which are UTC-based; for example, -01:00, +0100, -0130, and so on.

If you don’t specify a value for this field, the ISA segment date and time is set to the local date and time of Mule runtime.

Enforce length limits

Boolean

Whether to enforce minimum and maximum lengths for parser and writer values:

For parser values:

  • If true, the connector rejects transactions with values that are too long or too short.

  • If false, the connector uses the values and does not reject the transactions.

In either case the error is logged and reported in 997/999 acknowledgments.

For writer values:

  • If true, the connector rejects a transaction that has values that are too long or too short.

  • If false, the connector uses the values and does not reject the transaction.

true

Enforce character set

Boolean

Whether to enforce the allowed character sets:

  • If true, the connector rejects transactions that have invalid characters.

  • If false, the characters are either passed through or substituted, and the connector does not reject the transactions.

In either case, the error is reported in 997/999 acknowledgments.

true

Enforce value repeats

Boolean

Whether to enforce repetition count limits for receive values:

  • If true, the connector rejects transactions that have values repeated too many or too few times.

  • If false, the connector accepts the values and does not reject the transactions.

In either case the error is reported in 997/999 acknowledgments.

true

Allows unknown segments

Boolean

Whether to allow unknown segments in a transaction set:

  • If true, the connector ignores the unknown segments and does not reject the transaction.

  • If false, the connector rejects a transaction that contains unknown segments.

In either case, the error is reported in 997/999 acknowledgments.

false

Enforce segment order

Boolean

Whether to enforce the segment order in a transaction set:

  • If true, the connector rejects transactions that have out-of-order segments.

  • If false, and the connector reorders the segments and does not reject the transactions.

In either case the error is reported in 997/999 acknowledgments.

true

Allow unused segments

Boolean

Whether to allow segments marked as Unused in a transaction set:

  • If true, the connector ignores the unused segments and does not reject the transactions.

  • If false, the connector rejects transactions that contain segments marked as unused in the schema.

In either case, the error is reported in 997/999 acknowledgments.

false

Enforce segment repeats

Boolean

Whether to enforce segment repetition count limits in transaction sets.

  • If true, the connector rejects transactions that repeat the segment too many times.

  • If false, the connector ignores the repeated segments and does not reject the transactions.

In either case the error is reported in 997/999 acknowledgments.

true

Require unique interchanges

Boolean

Whether to require unique Interchange Control Numbers (ISA13) for received interchanges:

  • If true, the connector records the previously processed interchange numbers and rejects duplicate interchange numbers from the same partner (as determined by the interchange sender and receiver identification).

  • If false, the connector continues processing the received interchange numbers and leaves it to the application flow to track interchange numbers and handle them appropriately.

true

Require unique groups

Boolean

Whether to enforce globally unique Group Control Numbers (GS06) for received functional groups:

  • If true, group numbers must be unique across all interchanges received from the same partner and application (as determined by the interchange sender and receiver identification, combined with the functional group sender and receiver application codes).

  • If false, group numbers must be unique within an interchange.

false

Require unique transactions

Boolean

Whether to enforce globally unique Transaction Set Control Numbers (ST02) for received transaction sets:

  • If true, transaction set numbers must be unique across all functional groups received from the same partner and application (as determined by the interchange sender and receiver identification, combined with the functional group sender and receiver application codes).

  • If false, transaction set control numbers must be unique within a particular functional group.

false

Store time-to-live

Number

Minimum number of days to store interchange, group, and transaction set numbers for checking uniqueness. This value is used only when the configuration requires unique interchange, group, or transaction set numbers.

The default persistent object store from the Mule configuration is always used for storing the received identifier numbers. This parameter sets the entry time-to-live for these stored values.

30

Acknowledge every transaction

Boolean

Whether to include a separate AK2/AK5 (997) or AK2/IK5 (999) acknowledgment for every received transaction set:

  • If true, the connector explicitly acknowledges each received transaction set.

  • If false, the connector includes in the acknowledgement only transaction sets that contains errors. Nonincluded transaction sets are implicitly acknowledged.

false

Generate 999 acknowledgments

Boolean

Whether to generate 999 Implementation Acknowledgments rather than 997 Functional Acknowledgments:

  • If true, The connector generates 999 Implementation Acknowledgments for each received interchange instead of 997 Functional Acknowledgement transaction sets. Support for 999 Implementation Acknowledgments does not include CTX segment generation.

  • If false, the connector generates 997 Functional Acknowledgment transaction sets for each received interchange.

false

Report segment details

Boolean

Whether Report segment error details to the sender in 997/999 Functional Acknowledgements:

  • If true, the details of segment errors are included in a generated 997/999.

  • If false, the details are not included.

true

Include Acknowledgment schema

Boolean

Whether to expect 997 or 999 Functional Acknowledgments and to include the 997 or 999 schema:

  • If true, the connector automatically includes the schema for 997 or 999 acknowledgment transaction sets in the set of schemas used by X12 Connector.

  • If false, you must directly specify the 997 schema, 999 schema, or both if you want these to be processed as input. The schemas used for generating 997 or 999 Functional Acknowledgments are hardcoded and cannot be modified.

true

Data element separator

String

Data element separator character. The configured value is used by default for all output messages, but can be overridden at the message level.

*

Component element separator

String

Component element separator character. The configured value is used by default for all output messages, but can be overridden at the message level.

>

Repetition separator

String

Repetition separator character (if used). The configured value is used by default for all output messages, but can be overridden at the message level. The value U means repetitions are not used.

U

Segment terminator

String

Segment terminator character. The configured value is used by default for all output messages, but can be overridden at the message level.

~

Segment line ending

Enumeration, one of:

  • NONE

  • LF

  • CRLF

  • CR

Line ending to add between segments to improve the readability of the output message text.

NONE

Unique group numbers

Boolean

Whether to send globally unique Group Control Numbers (GS06):

  • If true, the connector assigns unique group numbers across all interchanges sent to the same partner and application (as determined by the interchange sender and receiver identification, combined with the functional group sender and receiver application codes).

  • If false, the connector assigns functional group control numbers sequentially within each interchange and reuses the numbers in different interchanges.

false

Unique transaction numbers

Boolean

Whether to send globally unique Transaction Set Control Numbers (ST02):

  • If true, the connector assigns unique transaction set numbers across all interchanges sent to the same partner and application (as determined by the interchange sender and receiver identification, combined with the functional group sender and receiver application codes).

  • If false, the connector assigns transaction set control numbers sequentially within each functional group and reuses the control numbers in different groups.

false

Implementation reference

String

Implementation convention reference for transactions (ST03). If this value is set, it is used as the ST03 Implementation Convention Reference unless it is overridden in the message parameters.

Initial interchange number

Number

Initial Interchange Control Number used for outgoing messages.

1

Initial group number

Number

Initial Group Control Number used for outgoing messages.

1

Initial transaction number

Number

Initial Transaction Set Control Number used for outgoing messages.

1

Requests acknowledgments

Boolean

Whether to request acknowledgments such as TA1 for the sent transactions flag (ISA14):

  • If true, TA1 acknowledgments are requested for all sent transactions.

  • If false, TA1 acknowledgements are not requested.

false

Default usage indicator

String

Default interchange usage indicator (ISA15):

  • I: Information

  • P: Production data

  • T: Test data

P

Set acknowledgement schema by inbound message

Boolean

If the acknowledgmentSchemaPath is EMPTY and this property is true it will use the Version / Release / Industry Identifier Code (GS08) field value from the inbound message to set the Functional/Implementation Acknowledgment structure. When false it uses a hardcoded Functional/Implementation Acknowledgment structure of the 005010 version.

false

Acknowledgement schema path

String

The path from the file system or the classpath. If the path is specified, it overwrites the default acknowledgment path.

Enforce conditional rules

Boolean

Whether to apply conditional rules in transactions:

  • If true, the connector rejects transactions with values that don’t meet conditional rules.

  • If false, the values are used and the transaction is not rejected.

false

Truncate values exceeding the length limits

Boolean

Whether to truncate values that exceed the length limits when the Enforce length limits field is true:

  • If true, the connector trims the values that exceed the maximum length limit.

  • If false, the connector writes the values as-is.

false

Enforce code set validations

Boolean

Whether to enforce code set validations:

  • If true, the connector enforces code set validations, as defined in the X12 schemas.

  • If false, the connector does not enforce code set validations.

false

Use segment line ending in last line

Boolean

Whether to use the configured line ending in the last line of the IEA segment:

  • If true, adds the configured Segment line ending field value to the end of the IEA segment.

  • If false, does not add the configured Segment line ending value to the IEA segment.

false

Report non-fatal errors in acknowledgments

Boolean

Whether to report non-fatal errors in acknowledgements:

  • If true, non-fatal errors are displayed at segments IK3/AK3 in acknowledgments.

  • If false, non-fatal errors are not displayed at segments IK3/AK3 in acknowledgments.

true

Include trailer segment details

Boolean

Whether to include interchange and group trailer details in the map:

  • If true, interchange trailer, group trailer, and set trailer details are included in each transaction.

  • If false, only set trailer details are included in each transaction.

false

Lock Mechanism

Enumeration, one of:

  • AUTO

  • RUNTIME_LOCK_MANAGER

  • OBJECT_STORE

Determines the mechanism used to manage locks for control number sequencing:

  • AUTO

    The connector chooses between OBJECT_STORE and RUNTIME_LOCK_MANAGER based on the environment in which the Mule app is running.

    • When the app is deployed to CloudHub 1.0, the connector uses the OBJECT_STORE mechanism for lock management.

    • When the app is deployed to stand-alone Mule runtime, Runtime Fabric, or CloudHub 2.0, the connector uses the runtime’s distributed locking.

    You can use this option with:

    • CloudHub 1.0 deployments, including multiple workers or replicas

    • CloudHub 2.0 and Runtime Fabric deployments with one worker or replica

    • Hybrid standalone deployments, including clustered Mule runtimes

  • RUNTIME_LOCK_MANAGER

    The connector always uses the runtime’s distributed locking mechanism. (Recommended when the environment has only one worker.)

    You can use this option with:

    • CloudHub 1.0, CloudHub 2.0, and Runtime Fabric deployments with one worker or replica

    • Hybrid standalone deployments, including clustered Mule runtimes

  • OBJECT_STORE

    The connector always uses an alternative mechanism in environments in which the runtime’s distributed locking mechanism doesn’t work. (Recommended when the environment has more than one worker.)

    You can use this option with:

    • CloudHub 1.0, CloudHub 2.0, and Runtime Fabric deployments, including multiple workers or replicas

    • Hybrid standalone deployments, including clustered Mule runtimes

AUTO

Include ignored segments

Boolean

Whether to include data elements from segments with Ignore as the usage type in the output map and metadata.

  • If true, all segments with Ignore as the usage type are included in both the output map and metadata.

  • If false, all segments with Ignore as the usage type are ignored in both the output map and metadata.

false

Associated Operations

  • Read

  • Write

  • Write batch

Read

<x12:read>

Transforms an input stream of EDI text into the maps and lists structure of the EDI data.

Parameters

Name Type Description Default Value Required

Configuration

String

Name of the configuration to use.

x

Read Content

Binary

Input payload.

#[payload]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Output

Type

Object

For Configurations

  • config

Throws

  • X12:UNKNOWN

  • X12:WRITE

  • X12:SCHEMA

  • X12:PARSE

Write

<x12:write>

Transforms the maps and lists structure of EDI data into an EDI text stream.

Parameters

Name Type Description Default Value Required

Configuration

String

Name of the configuration to use.

x

Write Content

Object

Output payload.

#[payload]

Streaming Strategy

Enumeration, one of:

Configures how Mule processes streams.

Repeatable file store stream

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Output

Type

Binary

For Configurations

  • config

Throws

  • X12:UNKNOWN

  • X12:WRITE

  • X12:SCHEMA

  • X12:PARSE

Write batch

<x12:write-batch>

Merges individual X12 messages created and accumulated over a period of time into a single interchange (UNB).

Parameters

Name Type Description Default Value Required

Configuration

String

Name of the configuration to use.

x

Write Content

Object

Output payload.

#[payload]

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Output

Type

Binary

For Configurations

  • config

Throws

  • X12:UNKNOWN

  • X12:WRITE

  • X12:SCHEMA

  • X12:PARSE

Expiration Policy Type

Field Type Description Default Value Required

Max Idle Time

Number

Scalar time value for the maximum amount of time a dynamic configuration instance should be allowed to be idle before it’s considered eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit that qualifies the Max Idle Time field.

Repeatable In Memory Stream Type

Configures the in-memory streaming strategy by which the request fails if the data exceeds the Max Buffer Size field value. Always run performance tests to find the optimal buffer size for your specific use case.

Field Type Description Default Value Required

Initial Buffer Size

Number

Initial amount of memory to allocate to the data stream. If the streamed data exceeds this value, the buffer expands by Buffer Size Increment, with an upper limit of Max Buffer Size.

Buffer Size Increment

Number

Amount by which the buffer size expands if it exceeds its initial size. Setting a value of 0 or lower specifies that the buffer can’t expand.

Max Buffer Size

Number

Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a STREAM_MAXIMUM_SIZE_EXCEEDED error. A value of less than or equal to 0 means no limit.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the Initial Buffer Size, Buffer Size Increment, and Max Buffer Size fields.

Repeatable File Store Stream Type

Configures the repeatable file-store streaming strategy by which Mule keeps a portion of the stream content in memory. If the stream content is larger than the configured buffer size, Mule backs up the buffer’s content to disk and then clears the memory.

Field Type Description Default Value Required

Max In Memory Size

Number

Maximum memory size. If more memory is consumed, then the connector buffers the content on disk.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the Max In Memory Size field.

System Properties

You can configure the following system property for the connector:

Property Description Default Value

strictValidationOfYear

Enables strict validation for the year 0000. If true, the year 0000 is invalid.

false

For more information about system properties, refer to System Properties.

View on GitHub