# mulesoft EDIFACT EDI Connector - Full Documentation --- product: EDIFACT EDI Connector version: 2.10 --- # EDIFACT EDI Connector 2.10 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for EDIFACT EDI (EDIFACT Connector) enables you to convert EDIFACT messages to and from DataWeave-compatible representations using lists and maps. You can check the [supported EDIFACT versions](https://docs.mulesoft.com/edifact-edi-connector/2.10/edifact-edi-versions) for supplied schema definitions for all standard messages. ## Before You Begin To use this connector, you must be familiar with: - Anypoint Connectors - Mule runtime engine (Mule) - Elements and global elements in a Mule flow - Creating a Mule app using Anypoint Studio or Anypoint Code Builder To use EDIFACT EDI Connector, you must have: - A MuleSoft license for Anypoint B2B - Anypoint Studio or Anypoint Code Builder > [!NOTE] EDIFACT Connector supports files of up to 15 MB in size, and the memory requirement is > approximately 40 to 1. For example, a 1-MB file requires up to 40 MB of memory to process, so it’s > important to consider this memory requirement in conjunction with your Transactions Per Second > (TPS) needs for large X12 files. This is not an exact figure; the value varies according to the > complexity of the mapping instructions. ### Understanding the EDI Schema Language The EDIFACT EDI Connector uses a YAML format called EDI Schema Language (ESL) to represent EDI schemas. Basic ESLs define the structure of EDI messages in terms of: - Structures, known as messages, in EDIFACT terminology - Groups, segments, composites, and elements You can customize the EDIFACT schema definitions to suit your data by defining an _overlay schema_. An _overlay schema_ is a type of ESL that enables you to modify a base schema, such as an EDIFACT D.98B ORDERS schema, with your specific conventions. You don’t need an _overlay schema_ if you’re using the structure defined by the standard, but most EDI exchanges modify the base definitions in an implementation convention. You can also define your schemas, or copy and edit a base EDIFACT schema definition to suit your data as shown in the [EDI Schema Language Reference](https://docs.mulesoft.com/x12-edi-connector/latest/x12-edi-schema-language-reference). ## Finding Schema Locations To use the connector, you need to know the locations of the schemas in your project. If you’re using base EDIFACT schemas and not customizing anything, the schema location follows the `/edifact/{version}/{message}.esl` convention. For example, using the D.98B version of the ORDERS message, your schema location is `/edifact/d98b/ORDERS.esl`. If you’re using one or more custom schemas, place these in the `src/main/resources` directory and refer to the location relative to this directory. For example, if you’ve put your ORDERS schema (either overlay or full) in `src/main/resources/mypartner/ORDERS.esl`, your schema location is `/mypartner/ORDERS.esl`. ## The Hierarchy of EDIFACT Connector Message Structure Use this connector to read or write EDIFACT documents in (or from) the canonical EDI message structure. This structure is a hierarchy of Java Map and List objects. You use either DataWeave or code to manipulate them. Each transaction has its own structure as defined in the schemas. The message contains the following keys, some of which apply to either the Read operation or the Write operation, as indicated:
| Key Name | Description |
|---|---|
Delimiters | An optional set of delimiters used in the message. If used in a Read operation, the delimiters are based on the most recent interchange processed by a Read operation. If used for a Write operation, the delimiters override the values in the module configuration. The characters in the string of delimiters are interpreted based on their position in string, in the following order: data element separator, component element separator, repetition separator, segment terminator, release character. |
Errors (read only) | A list of errors that are associated either with the input as a whole or with interchanges that have no valid transaction sets. |
FunctionalAcksGenerated (read only) | A list of |
FunctionalAcksToSend (write only) | A list of |
Interchange (write only) | Map of UNB interchange header segment values used as defaults during an interchange Write operation. |
Messages | A hierarchy of messages that are either read by the module during a Read operation or sent by the module during a Write operation. The value of this top-level key is a map with standard versions as keys, in the form |
| Key | Description |
|---|---|
Detail | Map of segments or loops from the detail section of the message. Values are maps for segments or loops that occur once. Lists of maps are for values that occur more than once. |
Errors (read only) | A list of errors associated with the message. |
Heading | A map of segments or loops from the heading section of the message. Values are maps for segments or loops that occur once. Lists of maps exist for values that occur more than once. |
Id | The Message ID must match the key of the containing message list. |
Interchange | A map of UNB interchange header segment values. For a Read message, the map is the actual data from the enclosing interchange. It is a single map linked from all messages in the interchange. For a Write message, the map value creates the enclosing interchange. For example, gathering messages with the same interchange values into a single interchange, regardless of whether the actual maps are the same. If there are no values for this map, then the default is the value taken from the Interchange map at the message level. |
Group | A map that contains the UNG group header segment values:
|
MessageHeader | Map of UNH message header segment values. This provides the actual header data for a Read operation, and enables you to provide overrides for Write operation configuration settings. |
Name | Message name |
Summary | Map of segments or loops from the summary section of the message. Values are maps for segments or loops that occur once. Lists of maps are for values that occur more than once. |
| Key name | Description |
|---|---|
Interchange | For functional acknowledgments generated by Receive processing, this map is a copy of the data for the containing interchange with Sender and Receiver identification components (UNB2.1/UNB2.2 and UNB2.1/UNB3.2). For a Write message, these values are used for creating the enclosing interchange. For example, messages are gathered with the same interchange values into a single interchange, regardless of whether the actual maps are the same. If there are no values for this map, then the default is the value taken from the Interchange map at the message level. |
| XML Value | Studio Option |
|---|---|
schemas=list of values | List of schema paths the connector can use. Each path can be either a file system or |
stringSubstitutionChar | Substitution character used to replace invalid characters within string values when using the syntax level UNOA or UNOB. |
separatorUsage="USE_DEFAULTS"/"USE_SPECIFIED_FOR_WRITES"/"USE_SPECIFIED_FOR_ALL" | Specification to use either separator or release characters as defaults for messages. |
dataSeparator="+" | Data element separator character. |
componentSeparator=":" | Component element separator character. |
repetitionSeparator="*" | Repetition separator character. |
segmentTerminator="'" | Segment terminator character. |
releaseCharacter="?" | Release character. |
lockMechanism="AUTO"/"RUNTIME_LOCK_MANAGER"/"OBJECT_STORE" | Mechanism to use to manage locks for control number sequencing. |
| XML Value | Studio Option |
|---|---|
interchangeIdSelf | Mule interchange Sender or Receiver ID (UNB2.1/UNB3.1). |
interchangeIdQualifierSelf | Interchange Sender or Receiver ID qualifier (UNB2.2/UNB3.2). |
| XML Value | Studio Option |
|---|---|
interchangeIdPartner | Partner interchange Sender or Receiver ID for Mule application (UNB2.1/UNB3.1). |
interchangeIdQualifierPartner | Partner interchange Sender or Receiver ID qualifier (UNB2.2/UNB3.2). |
| XML Value (default) | Studio Option |
|---|---|
enforceLengthLimits="true" | Enforce the minimum and maximum lengths for receive values. |
truncateExceedingMaxLength="false" | Truncate to the maximum lengths for received values. |
enforceValueRepeats="true" | Enforce the repetition count limits for receive values. |
enforceReadCharacters="true" | Enforce valid characters for a Read operation. Only applies when using syntax levels |
allowUnknownSegments="false" | Allow unknown segments in a message. |
enforceSegmentOrder="true" | Enforce the segment order in a message. |
allowUnusedSegments="false" | Allow segments marked as |
enforceSegmentRepeats="true" | Enforce segment repetition count limits in a message. |
receiveEncodingOverride="false" | Java character encoding used for Receive messages. This overrides receive UNB. |
requireUniqueInterchanges="true" | Require unique interchange control references (such as UNB.5). The default behavior records the interchange numbers previously processed and rejects duplicate interchange numbers from the same partner. It is derived from the interchange Sender and Receiver identification. Setting to |
requireUniqueGroups="false" | Enforce globally unique group control numbers (UNG.5) for received functional groups. By default, group control numbers must be unique only within an interchange. Setting this value to |
requireUniqueMessages="false" | Enforce globally unique message reference numbers (UNH.1) for received messages. By default, message reference numbers must be unique only within a particular interchange. Setting this value to |
daysToStore="30" | Minimum number of days to store interchange, group, and message numbers for uniqueness checking. |
enforceCodeSetValidationsParse="false" | Enforce code set validations on the Read operation. |
parseUseVersionAssociationCode="false" | Enforce Edifact version using UNH0205 (association code) on the Read operation. |
| XML Value (default) | Studio Option |
|---|---|
characterEncoding="ASCII_B" | Character encoding used for writing messages. There must be one defined in each EDIFACT syntax version. |
sendSyntaxVersion="VERSION4" | Syntax version for Send messages. Used to determine the data structures for service segments and CONTRL acknowledgment message structures in DataSense metadata for both Send and Receive. |
lineEnding="NONE" "LF" "CRLF" "CR" | Line ending to add between segments. Improves the readability of the output message text by adding line endings between segments. |
writeUseCRLFLastLine="false" | Use the configured Segment Line Ending value at the end of the last line. |
alwaysSendUNA="false" | Always send the UNA service segment. A UNA is included only in an interchange when the syntax separator characters don’t match the defaults for both the syntax version and character encoding when in use. Setting to |
enforceWriteCharacters="true" | Enforce valid characters for a Write operation. This applies when using syntax levels |
useWriteFunctionalGroups="false" | If |
sendUniqueGroupNumbers="false" | Send unique group reference numbers (UNG.1). By default, message reference numbers are assigned sequentially within each interchange and are reused in a different interchange. If |
sendUniqueMessageNumbers="false" | Send unique Message Reference Numbers (UNH.1). |
initialInterchangeReference="1" | The initial interchange control reference used for outgoing messages. |
initialGroupReference="1" | The initial group reference number used for outgoing messages. |
initialMessageReference="1" | The initial Message Reference Number used for outgoing messages. |
requestAcks="false" | Request acknowledgments for Send interchanges using the Acknowledgment Request field (UNB.9). |
testIndicator="" | Test indicator digit used on Send interchanges (UNB.11). By default interchanges are not sent as tests. |
useSuppliedValues="false" | Choose your own data values for control-segment identifiers such as |
outputEdiMimeType="APPLICATION_PLAIN"/"APPLICATION_EDIFACT" | Output MIME type of the message. |
writeInterchangeControlNumberKey="" | Interchange number key for the object store. If a key is specified, it is used for subsequent operations that use the object store for interchange control numbers. |
writeGroupControlNumberKey="" | Group control number key for the object store. If a key is specified, it is used for subsequent operations that use the object store for group control numbers. |
writeMessageControlNumberKey="" | Message control number key for the object store. If a key is specified, it is used for subsequent operations that use the object store for message control numbers. |
writeEnforceLengthLimits="true" | Enforce minimum and maximum lengths for write values. The default of |
writeTruncateExceedingMaxLength="false" | Truncate to the maximum lengths for received values. |
enforceCodeSetValidationsWrite="false" | Enforce code set validations on the Write operation. |
writeUseVersionAssociationCode="false" | Enforce Edifact version using UNH0205 (association code) on the Write operation. |
| XML Value (default) | Studio Option |
|---|---|
batchCharacterEncoding="ASCII_B" | Character encoding used for writing messages. There must be one defined in each EDIFACT syntax version. |
batchSendSyntaxVersion="VERSION4" | Syntax version for Send messages. Used to determine the data structures for service segments and CONTRL acknowledgment message structures in DataSense metadata for both Send and Receive. |
batchLineEnding="NONE"/"LF"/"CRLF"/"CR" | Line ending to add between segments. Improves the readability of the output message text by adding line endings between segments. |
batchUseCRLFLastLine="false" | Use the configured Segment Line Ending value at the end of the last line. |
batchAlwaysSendUNA="false" | Always send the UNA service segment. A UNA is included only in an interchange when the syntax separator characters don’t match the defaults for both the syntax version and character encoding when in use. Setting to |
batchEnforceWriteCharacters="true" | Enforce valid characters for a Write operation. This applies when using syntax levels |
batchSendUniqueMessageNumbers="false" | Send unique Message Reference Numbers (UNH.1). |
useBatchFunctionalGroups="false" | If |
batchSendUniqueGroupNumbers="false" | Send unique group reference numbers (UNG.1). By default, the connector assigns message reference numbers sequentially within each interchange and reuses them in different interchanges. If |
batchInitialInterchangeReference="1" | The initial interchange control reference used for outgoing messages. |
batchInitialGroupReference="1" | The initial group reference number used for outgoing messages. |
batchInitialMessageReference="1" | The initial Message Reference Number used for outgoing messages. |
batchRequestAcks="false" | Request acknowledgments for Send interchanges using the Acknowledgment Request field (UNB.9). |
batchTestIndicator="" | Test indicator digit used on Send interchanges (UNB.11). By default interchanges are not sent as tests. |
batchUseSuppliedValues="false" | Choose your own data values for control-segment identifiers such as |
batchOutputEdiMimeType="APPLICATION_PLAIN"/"APPLICATION_EDIFACT" | Output MIME type of the message. |
batchInterchangeControlNumberKey="" | Interchange number key for object store. If a key is specified, then that key is used for subsequent operations involving the object store for interchange control numbers. |
batchGroupNumberKey="" | Group control number key for the object store. If a key is specified, it is used for subsequent operations that use the object store for the group control numbers. |
batchMessageControlNumberKey="" | Message control number key for an object store. If a key is specified, it is used for subsequent operations that use the object store for the message control number. |
batchEnforceLengthLimits="true" | Enforce minimum and maximum lengths for write values. If true, a element with values too long or too short throws an exception; if false, the values are used anyway. |
batchTruncateExceedingMaxLength="false" | Truncate to the maximum lengths for received values. |
enforceCodeSetValidationsBatch="false" | Enforce code set validations on the Write Batch operation. |
batchUseVersionAssociationCode="false" | Enforce Edifact version using UNH0205 (association code) on the Write Batch operation. |
| Property | Description |
|---|---|
segment | The zero-based index within the input of the segment causing the error |
fatal | Flag for a fatal error. This means the associated message, group, or interchange is rejected as a result of the error. |
errorCode | EDIFACT syntax error code |
errorText | Text description of the error |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
Name | String | ID used to reference this configuration. | 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 interchange ID | String | Identification for the Mule app in the exchange (UNB segment). This value is used in combination with the value of the Mule ID qualifier field, and if one field is set, the other must also be set.
| ||
Mule ID qualifier | String | Identification qualifier for the Mule app in the exchange (UNB segment). This value is used in combination with the value of the Mule interchange ID field, and if one field is set, the other must also be set.
| 1 | |
Mule application sender/recipient ID | String | Identification for the Mule app in the exchange (UNG segment). This value is used in combination with the value of the Mule application sender/recipient ID qualifier field, and if one field is set, the other must also be set.
| ||
Mule application sender/recipient ID qualifier | String | Identification qualifier for the Mule app in the exchange (UNG segment). This value is used in combination with the value of the Mule application sender/recipient ID field, and if one field is set, the other must also be set.
| ||
Partner interchange ID | String | Identification for the partner in the exchange (UNB segment). This value is used in combination with the value of the Partner ID qualifier field, and if one field is set, the other must also be set.
| ||
Partner ID qualifier | String | Identification qualifier for the partner in the exchange (UNB segment). This value is used in combination with the value of the Partner Interchange ID field, and if one field is set, the other must also be set.
| ||
Partner application sender/recipient ID | String | Identification for the partner in the exchange (UNG segment). This value is used in combination with the value of the Partner application sender/recipient ID qualifier field, and if one field is set, the other must also be set.
| ||
Partner application sender/recipient ID qualifier | String | Identification qualifier for the partner in the exchange (UNG segment). This value is used in combination with the value of the Partner application sender/recipient ID field, and if one field is set, the other must also be set.
| ||
Schema definitions | Array of String | List of schema file system paths or class paths for the module to use. | x | |
Substitution character | String | Substitution character used to replace invalid characters in string values when using syntax level | ||
Separators usage | Enumeration, one of:
| Defines how specified separator and release characters are used:
| USE_SPECIFIED_FOR_ALL | |
Data element separator | String | Default data element separator character. | + | |
Component element separator | String | Component element separator character. | : | |
Repetition separator | String | Repetition separator character. | * | |
Segment terminator | String | Segment terminator character. | ' | |
Release character | String | Release character. | ? | |
Timezone offset | String | Time zone offset from the UTC to apply to the date and time elements in the Interchange Header (UNB) segment. This field accepts only values compliant with ISO 8601 (which are UTC-based), for example, | ||
Enforce length limits | Boolean | Enforce minimum and maximum lengths for receive values:
In either case, the error is logged and reported in CONTRL functional acknowledgments. | true | |
Enforce value repeats | Boolean | Enforce repetition count limits for receive values:
In either case, the error is reported in CONTRL functional acknowledgments. | true | |
Enforce valid characters | Boolean | Enforce valid characters when using syntax levels UNOA and UNOB:
| true | |
Allow unknown segments | Boolean | Allow unknown segments in a message:
In either case, the error is reported in CONTRL functional acknowledgments. | false | |
Enforce segment order | Boolean | Enforce segment order in a message:
In either case, the error is reported in CONTRL functional acknowledgments. | true | |
Allow unused segments | Boolean | Allow segments marked as
| true | |
Enforce segment repeats | Boolean | Enforce segment repetition count limits in a message:
In either case, the error is reported in CONTRL functional acknowledgments. | true | |
Character encoding override | String | Character encoding override for receive messages, which must be a Java character encoding name. Normally, character encoding is determined by the syntax identifier in the UNB header segment, but the connector uses this value instead, if it is set. | ||
Require unique interchanges | Boolean | Reject an interchange if the Interchange Control Reference has previously been processed:
| false | |
Require unique groups | Boolean | Reject a group if the group control reference was processed previously:
| false | |
Require unique messages | Boolean | Enforce globally unique Message Reference Numbers (UNH.1) for received messages:
| false | |
Store time-to-live | Number | Minimum number of days to store interchange and message numbers in the default persistent object store. This value is used only when the configuration requires unique interchanges, message numbers, or both. It sets the entry time-to-live for these stored values. | 30 | |
Write character encoding | Enumeration, one of:
| Character encoding used for writing messages. | ASCII_B | |
Syntax version | Enumeration, one of:
| Syntax version for send messages. This version determines the data structures used for service segments and CONTRL acknowledgment message structures in DataSense metadata for both send and receive messages. The actual message data for receive messages reflects the syntax version used in the received interchange. | VERSION4 | |
Segment line ending | Enumeration, one of:
| Line ending to add between segments. This can improve the readability of the output message text. | NONE | |
Always send UNA | Boolean |
| false | |
Enforce valid characters | Boolean | Enforce valid characters when using syntax levels UNOA and UNOB.
| true | |
Use Functional Groups | Boolean | Group messages with the same functional group identifier inside UNG-UNE envelopes:
| false | |
Unique group numbers | Boolean | Send unique message reference numbers (UNG.5):
| false | |
Unique message numbers | Boolean | Send unique Message Reference Numbers (UNH.1):
| false | |
Initial group reference | String | The initial group control reference used for outgoing messages. | 1 | |
Initial interchange reference | String | The initial interchange control reference used for outgoing messages. | 1 | |
Initial message reference | String | The initial message reference number used for outgoing messages. | 1 | |
Request acknowledgments | Boolean | Requests acknowledgments for Send interchanges using the Acknowledgment Request field (UNB.9):
| false | |
Test indicator | String | Test indicator digit to use on Send interchanges. By default, interchanges are not sent as tests. | ||
Use Supplied Values | Boolean | Whether to generate control numbers when writing or use supplied values for control-segment information such as control numbers:
| false | |
Interchange control number key | String | Key-value pair of the interchange control key and interchange control number. | NONE | |
Message control number key | String | Key-value pair of the message control key and message control number. | NONE | |
Group control number key | String | Key-value pair of the group control key and group control number. | NONE | |
Truncate values exceeding the length limits | Boolean | Whether to truncate values that exceed the length limits:
| false | |
Enforce code set validations | Boolean | Whether to enforce code set validations:
| false | |
Use Version Association Code | Boolean | Whether to use UNH0205 (Version Association Code):
| false | |
Use segment line ending in the last line | Boolean | Whether to use segment line ending characters in the last line of the segment:
| false | |
Lock Mechanism | Enumeration, one of:
| Determines the mechanism used to manage locks for control number sequencing. Valid values are:
| AUTO | |
Acknowledge every transaction | Boolean | Whether to include the UCM Segment in the acknowledgement of every transaction:
| false |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
Configuration | String | Name of the configuration to use. | x | |
Read Content | Binary | Input 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 expression outcome is stored in the Target Variable field. |
|
Type | Object |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
Configuration | String | The name of the configuration to use. | x | |
Write Content | Object | Input 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. |
|
Type | Binary |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
Configuration | String | Name of the configuration to use. | x | |
Batch Content | Binary | Input 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. |
|
Type | Binary |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
Max Idle Time | Number | Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. | ||
Time Unit | Enumeration, one of:
| A time unit that qualifies the Max Idle Time field. |
| 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 the Max In Memory Size value. | ||
Buffer Size Increment | Number | Amount by which the buffer size expands if it exceeds its initial size. Setting a value of | ||
Max Buffer Size | Number | Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a | ||
Buffer Unit | Enumeration, one of:
| The unit in which the fields in this table are expressed. |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
Max In Memory Size | Number | Maximum amount of memory that the stream can use for data. If the amount of memory exceeds this value, Mule buffers the content to disk. To optimize performance:
| ||
Buffer Unit | Enumeration, one of:
| Unit for the Max In Memory Size field. |
| Version |
|---|
D.00A |
D.00B |
D.01A |
D.01B |
D.01B.EAN003 |
D.01B.EAN004 |
D.01B.EAN005 |
D.01B.EAN006 |
D.01B.EAN007 |
D.01B.EAN008 |
D.01B.EAN010 |
D.01C |
D.02A |
D.02B |
D.03A |
D.03B |
D.04A |
D.04B |
D.05A |
D.05B |
D.06A |
D.06B |
D.07A |
D.07B |
D.08A |
D.08B |
D.09A |
D.09B |
D.10A |
D.10B |
D.11A |
D.11B |
D.12A |
D.12B |
D.13A |
D.13B |
D.14A |
D.14B |
D.15A |
D.15B |
D.16A |
D.16B |
D.17A |
D.17B |
D.18A |
D.18B |
D.93A |
D.93A.EAN001 |
D.93A.EAN002 |
D.93A.EAN003 |
D.93A.EAN004 |
D.93A.EAN005 |
D.93A.EAN007 |
D.95B |
D.96A |
D.96A.EAN001 |
D.96A.EAN002 |
D.96A.EAN003 |
D.96A.EAN004 |
D.96A.EAN005 |
D.96A.EAN006 |
D.96A.EAN008 |
D.96B |
D.97A |
D.98A |
D.98B |
D.99A |
D.99B |
S.93A |
| Key Name | Description |
|---|---|
Delimiters | An optional set of delimiters used in the message. If used in a Read operation, the delimiters are based on the most recent interchange processed by a Read operation. If used for a Write operation, the delimiters override the values in the module configuration. The characters in the string of delimiters are interpreted based on their position in string, in the following order: data element separator, component element separator, repetition separator, segment terminator, release character. |
Errors (read only) | A list of errors that are associated either with the input as a whole or with interchanges that have no valid transaction sets. |
FunctionalAcksGenerated (read only) | A list of |
FunctionalAcksToSend (write only) | A list of |
Interchange (write only) | Map of UNB interchange header segment values used as defaults during an interchange Write operation. |
Messages | A hierarchy of messages that are either read by the module during a Read operation or sent by the module during a Write operation. The value of this top-level key is a map with standard versions as keys, in the form |
| Key | Description |
|---|---|
Detail | Map of segments or loops from the detail section of the message. Values are maps for segments or loops that occur once. Lists of maps are for values that occur more than once. |
Errors (read only) | A list of errors associated with the message. |
Heading | A map of segments or loops from the heading section of the message. Values are maps for segments or loops that occur once. Lists of maps exist for values that occur more than once. |
Id | The Message ID must match the key of the containing message list. |
Interchange | A map of UNB interchange header segment values. For a Read message, the map is the actual data from the enclosing interchange. It is a single map linked from all messages in the interchange. For a Write message, the map value creates the enclosing interchange. For example, gathering messages with the same interchange values into a single interchange, regardless of whether the actual maps are the same. If there are no values for this map, then the default is the value taken from the Interchange map at the message level. |
Group | A map that contains the UNG group header segment values:
|
MessageHeader | Map of UNH message header segment values. This provides the actual header data for a Read operation, and enables you to provide overrides for Write operation configuration settings. |
Name | Message name |
Summary | Map of segments or loops from the summary section of the message. Values are maps for segments or loops that occur once. Lists of maps are for values that occur more than once. |
| Key name | Description |
|---|---|
Interchange | For functional acknowledgments generated by Receive processing, this map is a copy of the data for the containing interchange with Sender and Receiver identification components (UNB2.1/UNB2.2 and UNB2.1/UNB3.2). For a Write message, these values are used for creating the enclosing interchange. For example, messages are gathered with the same interchange values into a single interchange, regardless of whether the actual maps are the same. If there are no values for this map, then the default is the value taken from the Interchange map at the message level. |
| XML Value | Studio Option |
|---|---|
schemas=list of values | List of schema paths the connector can use. Each path can be either a file system or |
stringSubstitutionChar | Substitution character used to replace invalid characters within string values when using the syntax level UNOA or UNOB. |
separatorUsage="USE_DEFAULTS"/"USE_SPECIFIED_FOR_WRITES"/"USE_SPECIFIED_FOR_ALL" | Specification to use either separator or release characters as defaults for messages. |
dataSeparator="+" | Data element separator character. |
componentSeparator=":" | Component element separator character. |
repetitionSeparator="*" | Repetition separator character. |
segmentTerminator="'" | Segment terminator character. |
releaseCharacter="?" | Release character. |
lockMechanism="AUTO"/"RUNTIME_LOCK_MANAGER"/"OBJECT_STORE" | Mechanism to use to manage locks for control number sequencing. |
| XML Value | Studio Option |
|---|---|
interchangeIdSelf | Mule interchange Sender or Receiver ID (UNB2.1/UNB3.1). |
interchangeIdQualifierSelf | Interchange Sender or Receiver ID qualifier (UNB2.2/UNB3.2). |
| XML Value | Studio Option |
|---|---|
interchangeIdPartner | Partner interchange Sender or Receiver ID for Mule application (UNB2.1/UNB3.1). |
interchangeIdQualifierPartner | Partner interchange Sender or Receiver ID qualifier (UNB2.2/UNB3.2). |
| XML Value (default) | Studio Option |
|---|---|
enforceLengthLimits="true" | Enforce the minimum and maximum lengths for receive values. |
truncateExceedingMaxLength="false" | Truncate to the maximum lengths for received values. |
enforceValueRepeats="true" | Enforce the repetition count limits for receive values. |
enforceReadCharacters="true" | Enforce valid characters for a Read operation. Only applies when using syntax levels |
allowUnknownSegments="false" | Allow unknown segments in a message. |
enforceSegmentOrder="true" | Enforce the segment order in a message. |
allowUnusedSegments="false" | Allow segments marked as |
enforceSegmentRepeats="true" | Enforce segment repetition count limits in a message. |
receiveEncodingOverride="false" | Java character encoding used for Receive messages. This overrides receive UNB. |
requireUniqueInterchanges="true" | Require unique interchange control references (such as UNB.5). The default behavior records the interchange numbers previously processed and rejects duplicate interchange numbers from the same partner. It is derived from the interchange Sender and Receiver identification. Setting to |
requireUniqueGroups="false" | Enforce globally unique group control numbers (UNG.5) for received functional groups. By default, group control numbers must be unique only within an interchange. Setting this value to |
requireUniqueMessages="false" | Enforce globally unique message reference numbers (UNH.1) for received messages. By default, message reference numbers must be unique only within a particular interchange. Setting this value to |
daysToStore="30" | Minimum number of days to store interchange, group, and message numbers for uniqueness checking. |
enforceCodeSetValidationsParse="false" | Enforce code set validations on the Read operation. |
parseUseVersionAssociationCode="false" | Enforce Edifact version using UNH0205 (association code) on the Read operation. |
| XML Value (default) | Studio Option |
|---|---|
characterEncoding="ASCII_B" | Character encoding used for writing messages. There must be one defined in each EDIFACT syntax version. |
sendSyntaxVersion="VERSION4" | Syntax version for Send messages. Used to determine the data structures for service segments and CONTRL acknowledgment message structures in DataSense metadata for both Send and Receive. |
lineEnding="NONE" "LF" "CRLF" "CR" | Line ending to add between segments. Improves the readability of the output message text by adding line endings between segments. |
writeUseCRLFLastLine="false" | Use the configured Segment Line Ending value at the end of the last line. |
alwaysSendUNA="false" | Always send the UNA service segment. A UNA is included only in an interchange when the syntax separator characters don’t match the defaults for both the syntax version and character encoding when in use. Setting to |
enforceWriteCharacters="true" | Enforce valid characters for a Write operation. This applies when using syntax levels |
useWriteFunctionalGroups="false" | If |
sendUniqueGroupNumbers="false" | Send unique group reference numbers (UNG.1). By default, message reference numbers are assigned sequentially within each interchange and are reused in a different interchange. If |
sendUniqueMessageNumbers="false" | Send unique Message Reference Numbers (UNH.1). |
initialInterchangeReference="1" | The initial interchange control reference used for outgoing messages. |
initialGroupReference="1" | The initial group reference number used for outgoing messages. |
initialMessageReference="1" | The initial Message Reference Number used for outgoing messages. |
requestAcks="false" | Request acknowledgments for Send interchanges using the Acknowledgment Request field (UNB.9). |
testIndicator="" | Test indicator digit used on Send interchanges (UNB.11). By default interchanges are not sent as tests. |
useSuppliedValues="false" | Choose your own data values for control-segment identifiers such as |
outputEdiMimeType="APPLICATION_PLAIN"/"APPLICATION_EDIFACT" | Output MIME type of the message. |
writeInterchangeControlNumberKey="" | Interchange number key for the object store. If a key is specified, it is used for subsequent operations that use the object store for interchange control numbers. |
writeGroupControlNumberKey="" | Group control number key for the object store. If a key is specified, it is used for subsequent operations that use the object store for group control numbers. |
writeMessageControlNumberKey="" | Message control number key for the object store. If a key is specified, it is used for subsequent operations that use the object store for message control numbers. |
writeEnforceLengthLimits="true" | Enforce minimum and maximum lengths for write values. The default of |
writeTruncateExceedingMaxLength="false" | Truncate to the maximum lengths for received values. |
enforceCodeSetValidationsWrite="false" | Enforce code set validations on the Write operation. |
writeUseVersionAssociationCode="false" | Enforce Edifact version using UNH0205 (association code) on the Write operation. |
| XML Value (default) | Studio Option |
|---|---|
batchCharacterEncoding="ASCII_B" | Character encoding used for writing messages. There must be one defined in each EDIFACT syntax version. |
batchSendSyntaxVersion="VERSION4" | Syntax version for Send messages. Used to determine the data structures for service segments and CONTRL acknowledgment message structures in DataSense metadata for both Send and Receive. |
batchLineEnding="NONE"/"LF"/"CRLF"/"CR" | Line ending to add between segments. Improves the readability of the output message text by adding line endings between segments. |
batchUseCRLFLastLine="false" | Use the configured Segment Line Ending value at the end of the last line. |
batchAlwaysSendUNA="false" | Always send the UNA service segment. A UNA is included only in an interchange when the syntax separator characters don’t match the defaults for both the syntax version and character encoding when in use. Setting to |
batchEnforceWriteCharacters="true" | Enforce valid characters for a Write operation. This applies when using syntax levels |
batchSendUniqueMessageNumbers="false" | Send unique Message Reference Numbers (UNH.1). |
useBatchFunctionalGroups="false" | If |
batchSendUniqueGroupNumbers="false" | Send unique group reference numbers (UNG.1). By default, the connector assigns message reference numbers sequentially within each interchange and reuses them in different interchanges. If |
batchInitialInterchangeReference="1" | The initial interchange control reference used for outgoing messages. |
batchInitialGroupReference="1" | The initial group reference number used for outgoing messages. |
batchInitialMessageReference="1" | The initial Message Reference Number used for outgoing messages. |
batchRequestAcks="false" | Request acknowledgments for Send interchanges using the Acknowledgment Request field (UNB.9). |
batchTestIndicator="" | Test indicator digit used on Send interchanges (UNB.11). By default interchanges are not sent as tests. |
batchUseSuppliedValues="false" | Choose your own data values for control-segment identifiers such as |
batchOutputEdiMimeType="APPLICATION_PLAIN"/"APPLICATION_EDIFACT" | Output MIME type of the message. |
batchInterchangeControlNumberKey="" | Interchange number key for object store. If a key is specified, then that key is used for subsequent operations involving the object store for interchange control numbers. |
batchGroupNumberKey="" | Group control number key for the object store. If a key is specified, it is used for subsequent operations that use the object store for the group control numbers. |
batchMessageControlNumberKey="" | Message control number key for an object store. If a key is specified, it is used for subsequent operations that use the object store for the message control number. |
batchEnforceLengthLimits="true" | Enforce minimum and maximum lengths for write values. If true, a element with values too long or too short throws an exception; if false, the values are used anyway. |
batchTruncateExceedingMaxLength="false" | Truncate to the maximum lengths for received values. |
enforceCodeSetValidationsBatch="false" | Enforce code set validations on the Write Batch operation. |
batchUseVersionAssociationCode="false" | Enforce Edifact version using UNH0205 (association code) on the Write Batch operation. |
| Property | Description |
|---|---|
segment | The zero-based index within the input of the segment causing the error |
fatal | Flag for a fatal error. This means the associated message, group, or interchange is rejected as a result of the error. |
errorCode | EDIFACT syntax error code |
errorText | Text description of the error |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
Name | String | ID used to reference this configuration. | 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 interchange ID | String | Identification for the Mule app in the exchange (UNB segment). This value is used in combination with the value of the Mule ID qualifier field, and if one field is set, the other must also be set.
| ||
Mule ID qualifier | String | Identification qualifier for the Mule app in the exchange (UNB segment). This value is used in combination with the value of the Mule interchange ID field, and if one field is set, the other must also be set.
| 1 | |
Mule application sender/recipient ID | String | Identification for the Mule app in the exchange (UNG segment). This value is used in combination with the value of the Mule application sender/recipient ID qualifier field, and if one field is set, the other must also be set.
| ||
Mule application sender/recipient ID qualifier | String | Identification qualifier for the Mule app in the exchange (UNG segment). This value is used in combination with the value of the Mule application sender/recipient ID field, and if one field is set, the other must also be set.
| ||
Partner interchange ID | String | Identification for the partner in the exchange (UNB segment). This value is used in combination with the value of the Partner ID qualifier field, and if one field is set, the other must also be set.
| ||
Partner ID qualifier | String | Identification qualifier for the partner in the exchange (UNB segment). This value is used in combination with the value of the Partner Interchange ID field, and if one field is set, the other must also be set.
| ||
Partner application sender/recipient ID | String | Identification for the partner in the exchange (UNG segment). This value is used in combination with the value of the Partner application sender/recipient ID qualifier field, and if one field is set, the other must also be set.
| ||
Partner application sender/recipient ID qualifier | String | Identification qualifier for the partner in the exchange (UNG segment). This value is used in combination with the value of the Partner application sender/recipient ID field, and if one field is set, the other must also be set.
| ||
Schema definitions | Array of String | List of schema file system paths or class paths for the module to use. | x | |
Substitution character | String | Substitution character used to replace invalid characters in string values when using syntax level | ||
Separators usage | Enumeration, one of:
| Defines how specified separator and release characters are used:
| USE_SPECIFIED_FOR_ALL | |
Data element separator | String | Default data element separator character. | + | |
Component element separator | String | Component element separator character. | : | |
Repetition separator | String | Repetition separator character. | * | |
Segment terminator | String | Segment terminator character. | ' | |
Release character | String | Release character. | ? | |
Timezone offset | String | Time zone offset from the UTC to apply to the date and time elements in the Interchange Header (UNB) segment. This field accepts only values compliant with ISO 8601 (which are UTC-based), for example, | ||
Enforce length limits | Boolean | Enforce minimum and maximum lengths for receive values:
In either case, the error is logged and reported in CONTRL functional acknowledgments. | true | |
Enforce value repeats | Boolean | Enforce repetition count limits for receive values:
In either case, the error is reported in CONTRL functional acknowledgments. | true | |
Enforce valid characters | Boolean | Enforce valid characters when using syntax levels UNOA and UNOB:
| true | |
Allow unknown segments | Boolean | Allow unknown segments in a message:
In either case, the error is reported in CONTRL functional acknowledgments. | false | |
Enforce segment order | Boolean | Enforce segment order in a message:
In either case, the error is reported in CONTRL functional acknowledgments. | true | |
Allow unused segments | Boolean | Allow segments marked as
| true | |
Enforce segment repeats | Boolean | Enforce segment repetition count limits in a message:
In either case, the error is reported in CONTRL functional acknowledgments. | true | |
Character encoding override | String | Character encoding override for receive messages, which must be a Java character encoding name. Normally, character encoding is determined by the syntax identifier in the UNB header segment, but the connector uses this value instead, if it is set. | ||
Require unique interchanges | Boolean | Reject an interchange if the Interchange Control Reference has previously been processed:
| false | |
Require unique groups | Boolean | Reject a group if the group control reference was processed previously:
| false | |
Require unique messages | Boolean | Enforce globally unique Message Reference Numbers (UNH.1) for received messages:
| false | |
Store time-to-live | Number | Minimum number of days to store interchange and message numbers in the default persistent object store. This value is used only when the configuration requires unique interchanges, message numbers, or both. It sets the entry time-to-live for these stored values. | 30 | |
Write character encoding | Enumeration, one of:
| Character encoding used for writing messages. | ASCII_B | |
Syntax version | Enumeration, one of:
| Syntax version for send messages. This version determines the data structures used for service segments and CONTRL acknowledgment message structures in DataSense metadata for both send and receive messages. The actual message data for receive messages reflects the syntax version used in the received interchange. | VERSION4 | |
Segment line ending | Enumeration, one of:
| Line ending to add between segments. This can improve the readability of the output message text. | NONE | |
Always send UNA | Boolean |
| false | |
Enforce valid characters | Boolean | Enforce valid characters when using syntax levels UNOA and UNOB.
| true | |
Use Functional Groups | Boolean | Group messages with the same functional group identifier inside UNG-UNE envelopes:
| false | |
Unique group numbers | Boolean | Send unique message reference numbers (UNG.5):
| false | |
Unique message numbers | Boolean | Send unique Message Reference Numbers (UNH.1):
| false | |
Initial group reference | String | The initial group control reference used for outgoing messages. | 1 | |
Initial interchange reference | String | The initial interchange control reference used for outgoing messages. | 1 | |
Initial message reference | String | The initial message reference number used for outgoing messages. | 1 | |
Request acknowledgments | Boolean | Requests acknowledgments for Send interchanges using the Acknowledgment Request field (UNB.9):
| false | |
Test indicator | String | Test indicator digit to use on Send interchanges. By default, interchanges are not sent as tests. | ||
Use Supplied Values | Boolean | Whether to generate control numbers when writing or use supplied values for control-segment information such as control numbers:
| false | |
Interchange control number key | String | Key-value pair of the interchange control key and interchange control number. | NONE | |
Message control number key | String | Key-value pair of the message control key and message control number. | NONE | |
Group control number key | String | Key-value pair of the group control key and group control number. | NONE | |
Truncate values exceeding the length limits | Boolean | Whether to truncate values that exceed the length limits:
| false | |
Enforce code set validations | Boolean | Whether to enforce code set validations:
| false | |
Use Version Association Code | Boolean | Whether to use UNH0205 (Version Association Code):
| false | |
Use segment line ending in the last line | Boolean | Whether to use segment line ending characters in the last line of the segment:
| false | |
Lock Mechanism | Enumeration, one of:
| Determines the mechanism used to manage locks for control number sequencing. Valid values are:
| AUTO | |
Acknowledge every transaction | Boolean | Whether to include the UCM Segment in the acknowledgement of every transaction:
| false | |
Send UNA segment | Enumeration, one of:
| Determines whether the generated EDIFACT interchange begins with a UNA segment. This configuration behavior is dependent on the Always send UNA configuration. Valid values are:
| DEPEND_ON_SEPARATORS |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
Configuration | String | Name of the configuration to use. | x | |
Read Content | Binary | Input 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 expression outcome is stored in the Target Variable field. |
|
Type | Object |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
Configuration | String | The name of the configuration to use. | x | |
Write Content | Object | Input 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. |
|
Type | Binary |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
Configuration | String | Name of the configuration to use. | x | |
Batch Content | Binary | Input 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. |
|
Type | Binary |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
Max Idle Time | Number | Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. | ||
Time Unit | Enumeration, one of:
| A time unit that qualifies the Max Idle Time field. |
| 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 the Max In Memory Size value. | ||
Buffer Size Increment | Number | Amount by which the buffer size expands if it exceeds its initial size. Setting a value of | ||
Max Buffer Size | Number | Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a | ||
Buffer Unit | Enumeration, one of:
| The unit in which the fields in this table are expressed. |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
Max In Memory Size | Number | Maximum amount of memory that the stream can use for data. If the amount of memory exceeds this value, Mule buffers the content to disk. To optimize performance:
| ||
Buffer Unit | Enumeration, one of:
| Unit for the Max In Memory Size field. |
| Version |
|---|
D.00A |
D.00B |
D.01A |
D.01B |
D.01B.EAN003 |
D.01B.EAN004 |
D.01B.EAN005 |
D.01B.EAN006 |
D.01B.EAN007 |
D.01B.EAN008 |
D.01B.EAN010 |
D.01C |
D.02A |
D.02B |
D.03A |
D.03B |
D.04A |
D.04B |
D.05A |
D.05B |
D.06A |
D.06B |
D.07A |
D.07B |
D.08A |
D.08B |
D.09A |
D.09B |
D.10A |
D.10B |
D.11A |
D.11B |
D.12A |
D.12B |
D.13A |
D.13B |
D.14A |
D.14B |
D.15A |
D.15B |
D.16A |
D.16B |
D.17A |
D.17B |
D.18A |
D.18B |
D.93A |
D.93A.EAN001 |
D.93A.EAN002 |
D.93A.EAN003 |
D.93A.EAN004 |
D.93A.EAN005 |
D.93A.EAN007 |
D.95B |
D.96A |
D.96A.EAN001 |
D.96A.EAN002 |
D.96A.EAN003 |
D.96A.EAN004 |
D.96A.EAN005 |
D.96A.EAN006 |
D.96A.EAN008 |
D.96B |
D.97A |
D.98A |
D.98B |
D.99A |
D.99B |
S.93A |