# 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 NameDescription

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 CONTRL acknowledgments that are generated by the module during the Read operation.

FunctionalAcksToSend (write only)

A list of CONTRL acknowledgments that are sent by the module during the Write operation.

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 D96A. For example, if you are using version D96.A ORDERS and CUSRES messages, the Messages contain a map with one key, D96A. The value of this key is another map, one with two keys, ORDERS and CUSRES. Each of these contains a list of individual ORDERS and CUSRES messages that are processed.

Individual messages have their own maps, with the following keys:
KeyDescription

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:

  • For a read message, the map consists of data from the enclosing group. The map is a single map linked from all transaction sets in the group.

  • For a write message, the map value creates the enclosing group. If there are no values for the map, it consists of values taken from the group map at the message level by default.

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.

Generated CONTRL functional acknowledgment messages differ from Received messages in their handling of interchange information:
Key nameDescription

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.

## Next Step After you complete the prerequisites, you are ready to create your own app and configure the connector using [Anypoint Studio](https://docs.mulesoft.com/edifact-edi-connector/2.10/edifact-edi-connector-studio). ## See Also [Salesforce Help](https://help.salesforce.com) --- product: EDIFACT EDI Connector version: 2.10 --- # EDIFACT EDI Connector 2.10 Batch Outbound EDIFACT Messages > For the full documentation index, see: https://docs.mulesoft.com/llms.txt For EDI messages that are not time-sensitive, such as invoice and payment remittances, use the Write batch operation to merge multiple individual messages into a single interchange to send to your trading partners. ## Batching Stages Use the Anypoint Connector for EDIFACT EDI (EDIFACT EDI Connector) Write batch operation to merge individual EDIFACT messages into a single transmission to send to your trading partners. > [!NOTE] The EDIFACT Write batch operation does not support merging CONTRL acknowledgement > messages. You implement a batch in two stages: 1. Accumulate the transactions. 2. Release the batch. ### Accumulate the Transactions To accumulate transactions for a batch: 1. Transform the payloads into EDIFACT messages using DataWeave and EDIFACT as you receive application messages (such as a JSON invoice) from the backend systems. 2. Create EDIFACT payloads using temporary control number keys in the EDIFACT Write operation. This enables sending the accumulated EDIFACT as a batch later. The batch is created using control numbers that are not used in the final batch sent to the trading partner, for example, ``. 3. Store the intermediate EDIFACT message payloads in your choice of storage, such as a database table: ![Accumulate the transactions](/mulesoft/current/en-us/edifact-edi-connector/2.10/_images/edifact-edi-connector-batch-flow-1.png) For example, this implementation of a Mule flow: - Receives JSON payloads from the backend systems. - Transforms to an `EDIFACT D97A ORDERS` message. - Generates the intermediate EDIFACT message payload using the EDIFACT Write operation. - Stores the EDIFACT payload in a database table. ### Release the Batch Trading partners have varying criteria for how they want transactions batched: - Release the batch at a specific time interval or a specific time of the day. - Release the batch when a specific number of transactions are accumulated. - Release the batch when the total size of the accumulated transactions is near a specified threshold. To release the batch: 1. Implement the logic or module to monitor the transactions accumulated in the temporary storage and determine when a particular batch is released. 2. Retrieve the accumulated intermediate EDIFACT messages from the temporary storage based on the batch criteria, group the transactions together, and then send the appended payload to the EDIFACT Write batch operation. You can either use the control number key on the Write batch operation or leave the control number key fields empty at the time of Write batch operation execution, allowing the EDIFACT EDI Connector to generate the control number sequence automatically based on the sender and receiver identifier combination: ` `. 3. Ensure that the input payload sent to the Write batch operation contains EDI transactions with data elements in the UNB envelope segments, such as `Sender ID`, `Receiver ID`, and `Version number`: ![Release the batch](/mulesoft/current/en-us/edifact-edi-connector/2.10/_images/edifact-edi-connector-batch-flow-2.png) For example, this implementation of a Mule flow: - Receives an HTTP request to release accumulated EDIFACT messages transactions for a specific partner. The request is triggered after the batch release criteria are met. - Retrieves the intermediate EDIFACT messages from the database table. - Applies a transformation to group the individual EDIFACT messages. - Sends the appended payload through the EDIFACT Write batch operation to merge the messages into a single transaction. - Prints the generated control numbers, which reconcile the inbound functional acknowledgments received from the partners. - Delivers the batched EDIFACT transaction to the trading partner’s SFTP site. If the input payload contains EDI transactions with non-matching data elements in the envelope segments, the Write batch operation throws an exception. --- product: EDIFACT EDI Connector version: 2.10 --- # EDIFACT EDI Connector 2.10 Configuring Schemas > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Standard versions of the schemas for all defined EDIFACT messages and supported versions are included with this connector. If your implementation conventions differ from the standard, you can create schemas to describe your messages. ## Set Your Schema Locations To configure schemas in Anypoint Studio: 1. Switch to the XML view by clicking **Configuration XML**. 2. Modify your EDIFACT EDI configuration to include a list of all schemas by adding an `` element for each document type: ```xml ``` After you create a global element for your EDIFACT EDI in Studio, configure any schemas and operations. ### Configuration Options in XML All values listed in the Studio configuration can be set directly in XML. General parameters control both Send and Receive document handling.
XML ValueStudio Option

schemas=list of values

List of schema paths the connector can use. Each path can be either a file system or classpath.

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.

## Self-Identification Parameters Use these parameters to identify your side of the trading partner relationship:
XML ValueStudio Option

interchangeIdSelf

Mule interchange Sender or Receiver ID (UNB2.1/UNB3.1).

interchangeIdQualifierSelf

Interchange Sender or Receiver ID qualifier (UNB2.2/UNB3.2).

## Partner Identification Parameters These identify your partner.
XML ValueStudio 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).

## Parser Parameters for Error Conditions These control the parser operation and the types of error conditions that reject Receive messages.
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 UNOA and UNOB.

allowUnknownSegments="false"

Allow unknown segments in a message.

enforceSegmentOrder="true"

Enforce the segment order in a message.

allowUnusedSegments="false"

Allow segments marked as Unused in a message.

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 false enables received interchange processing to continue and relies on the application flow to track the numbers and manage them appropriately.

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 true requires group numbers to be unique across all interchanges received from the same partner and application, as determined by the interchange sender and recipient identification.

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 true requires message reference numbers to be unique across all interchanges received from the same partner and application, as determined by the interchange sender and recipient identification.

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.

## Writer Parameters These control the types of writer operations.
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 true means a UNA is always sent.

enforceWriteCharacters="true"

Enforce valid characters for a Write operation. This applies when using syntax levels UNOA and UNOB.

useWriteFunctionalGroups="false"

If true, the connector classifies each message by the corresponding functional group (UNG-UNE), according to its type. By default, the connector doesn’t classify messages by functional group.

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 true, the connector assigns unique message numbers across all interchanges sent to the same partner, as determined by the interchange sender and recipient identification.

sendUniqueMessageNumbers="false"

Send unique Message Reference Numbers (UNH.1). false (default) assigns message reference numbers sequentially within each interchange and reuses them in a different interchange. true assigns unique transaction set numbers across all interchanges sent to the same partner. It is derived by the interchange sender and recipient identification.

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 UNB and UNZ segments or use the supplied values. false always generates control numbers when writing letting you choose values.

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 true throws an exception when an element is too long or too short. false leaves the values as-is.

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.

## Write-Batch Parameters These control the types of write-batch operations.
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 true means a UNA is always sent.

batchEnforceWriteCharacters="true"

Enforce valid characters for a Write operation. This applies when using syntax levels UNOA and UNOB.

batchSendUniqueMessageNumbers="false"

Send unique Message Reference Numbers (UNH.1). false (default) assigns Message Reference Numbers sequentially within each interchange and reuses them in a different interchange. true assigns unique transaction set numbers across all interchanges sent to the same partner. It is derived by the interchange sender and recipient identification.

useBatchFunctionalGroups="false"

If true, the connector classifies each message by the corresponding functional group (UNG-UNE). By default, messages are not classified by functional group.

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 true, the connector assigns unique message reference numbers across all interchanges sent to the same partner, as determined by the interchange sender and recipient identification.

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 UNB and UNZ segments or use the supplied values. false always generates control numbers when writing, letting you choose values.

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.

## Next Step After you complete configuring the connector, you can try the [Examples](https://docs.mulesoft.com/edifact-edi-connector/2.10/edifact-edi-connector-examples). ## See Also - [Salesforce Help](https://help.salesforce.com) --- product: EDIFACT EDI Connector version: 2.10 --- # EDIFACT EDI Connector 2.10 Control Numbers > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Using the Write operation in the Anypoint Connector for EDIFACT EDI (EDIFACT EDI Connector), you can generate control numbers on the generated EDIFACT payload by: - Managing global control numbers through control number keys - Managing identifier combination control numbers - Using your own control number ## Manage Global Control Numbers Through Control Number Keys If your organization or your trading partner must maintain unique interchange, group, or transaction set control numbers across different identifier combinations and document types: - Set the configuration `Use supplied values` to `false`. - Leverage the control number key configurations (at the configuration level or operation level) to set a key unique to the partner. By default, the control number key configurations pass dynamically at the operation level. You can then use this group control number key across different identifiers and transaction types for the same partner. ![EDIFACT EDI Connector Control Numbers](/mulesoft/current/en-us/edifact-edi-connector/2.10/_images/edifact-edi-connector-control-number.jpg) ## Manage Identifier Combination Control Numbers If you want the connector to automatically maintain control number sequencing based on the sender/receiver identifiers and you do not require global control numbers at a partner level, then set the Write configuration `Use supplied values` to `false`. When no value passes into the optional interchange, group, or transaction number key configurations, the sender/receiver identifier combination is the default. ## Use Your Own Control Number If you must generate the control numbers and use them on the EDI payload, you can set the parameter `Use supplied values` to `true`, and map the control number in the payload to the DataWeave map. --- product: EDIFACT EDI Connector version: 2.10 --- # EDIFACT EDI Connector 2.10 Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt The following examples show how to read, validate, and write EDI messages. In addition, you can send functional and interchange acknowlegments to your trading partners. ## XML for EDIFACT Studio Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule app: ```xml ``` ## Read and Validate EDIFACT EDI Messages 1. To read an EDIFACT message, search the **Mule Palette** for EDIFACT EDI, and drag the EDIFACT **Read** operation into a flow. 2. Go to the properties view, select the connector configuration you created and select the **Read** operation. This reads any byte stream into the structure described by your EDIFACT schemas. The EDIFACT module validates the message when it reads it. Message validation includes checking the syntax and content of the envelope segments UNB and UNZ as well as the actual messages within the message. Normally errors are both logged, accumulated, and reported in CONTRL acknowledgment messages and all accepted messages (whether error free or with non-fatal errors) are passed on for processing as part of the output message Map. Exceptions are thrown Errors when reading the input data. Error data entered in the receive data map uses the `EdifactError` class. This is a read-only JavaBean with these properties:
PropertyDescription

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

Error data is returned by the Read operation as optional lists with the `Errors` key at both the root level of the data structure and at the message level. For the message level, the list contains non-fatal errors encountered during the message parsing. For the root level, the list contains both interchange errors and fatal message errors. ## Write EDIFACT EDI Messages - To write an outgoing message, search the **Mule Palette** for EDIFACT EDI and drag the EDIFACT **Write** operation into a flow. - Construct an outgoing EDIFACT EDI message according to the structure as defined for input to the write operation. If no fatal errors are found in the Write operation, the normal flow continues. Otherwise, an exception is thrown that describes the error. ## Send Functional Acknowledgments Sending generated functional acknowledgments (CONTRL messages) is the same as writing any other type of EDI message except that transactions are set to the acknowledgments that were generated during the Read operation. For example: ```xml ... ``` The generated functional acknowledgments have interchange data set up for sending back to the sender of the original message, so it’s not required to change anything in the transactions to perform the send. ## See Also - [Salesforce Help](https://help.salesforce.com) --- product: EDIFACT EDI Connector version: 2.10 --- # EDIFACT EDI Connector 2.10 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt ## Default Configuration ### Parameters
NameTypeDescriptionDefault ValueRequired

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.

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

  • On the receive side, the UNB interchange recipient identification must match this value.

  • On the send side, the connector uses this value as the UNB interchange sender identification unless it is overridden in the message parameters.

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.

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

  • On the receive side, the UNB interchange recipient identification code qualifier must match this value.

  • On the send side, the connector uses this value as the UNB interchange sender identification code qualifier unless it is overridden in either the send configuration or the message parameters.

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.

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

  • On the receive side, the UNG group recipient identification must match this value.

  • On the send side, the connector uses this value as the UNG group sender identification unless it is overridden in the message parameters.

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.

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

  • On the receive side, the UNG group recipient identification code qualifier must match this value.

  • On the send side, the connector uses this value as the UNG group sender identification code qualifier unless it is overridden in either the send configuration or the message parameters.

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.

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

  • On the receive side, the UNB interchange sender identification must match this value.

  • On the send side, the connector uses this value as the UNB interchange recipient identification code unless it is overridden in either the send configuration or the message parameters.

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.

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

  • On the receive side, the UNB interchange sender identification code qualifier must match this value.

  • On the send side, the connector uses this value as the UNB interchange recipient identification code qualifier unless it is overridden in either the send configuration or the message parameters.

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.

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

  • On the receive side, the UNG group sender identification must match this value.

  • On the send side, the connector uses this value as the UNG group recipient identification code unless it is overridden in either the send configuration or the message parameters.

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.

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

  • On the receive side, the UNG group sender identification code qualifier must match this value.

  • On the send side, the connector uses this value as the UNG group recipient identification code qualifier unless it is overridden in either the send configuration or the message parameters.

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 UNOA or UNOB. The use of this substitution character, if set, is controlled by separate parser and writer flags.

Separators usage

Enumeration, one of:

  • USE_DEFAULTS

  • USE_SPECIFIED_FOR_WRITES

  • USE_SPECIFIED_FOR_ALL

Defines how specified separator and release characters are used:

  • USE_DEFAULTS

    Use defaults as defined by EDIFACT syntax version standards.

  • USE_SPECIFIED_FOR_WRITES

    Use standard default delimiters for reads and specified delimiters as defaults for writes.

  • USE_SPECIFIED_FOR_ALL

    Use specified delimiters as the defaults for both reads and writes.

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, -01:00, `0100`, `-0130`, and so on. {sp}
If you don’t specify a value for this field, the Interchange Header segment date and times are set to the local time of the Mule runtime.

Enforce length limits

Boolean

Enforce minimum and maximum lengths for receive values:

  • true

    The connector rejects messages with values that are too long or too short.

  • false

    The connector uses the values and does not reject the messages.

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:

  • true

    The connector rejects messages that have values repeated too many or too few times.

  • false

    The connector uses the values and does not reject the messages.

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

    The connector rejects received messages that contain characters that the syntax level does not allow.

  • false

    If a substitution character is set, the connector uses it in place of the disallowed characters. Otherwise, the connector passes the disallowed characters through.

true

Allow unknown segments

Boolean

Allow unknown segments in a message:

  • true

    The connector ignores the unknown segments and does not reject the messages.

  • false

    The connector rejects messages that contain unknown segments.

In either case, the error is reported in CONTRL functional acknowledgments.

false

Enforce segment order

Boolean

Enforce segment order in a message:

  • true

    The connect rejects messages that have out-of-order segments.

  • false

    The connector does not reject messages if their out-of-order segments can be reordered.

In either case, the error is reported in CONTRL functional acknowledgments.

true

Allow unused segments

Boolean

Allow segments marked as Unused in the schema:

  • true

    The connector ignores unused segments and does not reject the messages.

  • false

    The connector rejects messages that contain segments marked as Unused in the schema.

    In either case, the error is reported in CONTRL functional acknowledgments.

true

Enforce segment repeats

Boolean

Enforce segment repetition count limits in a message:

  • true

    The connector rejects messages that have a segment repeated too many times.

  • false

    The connector does not reject the messages.

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:

  • true

    Record the interchange numbers previously processed and reject any duplicate interchange numbers from the same partner, as determined by the interchange sender and receiver identification.

  • false

    The application flow tracks the numbers and handles them appropriately.

false

Require unique groups

Boolean

Reject a group if the group control reference was processed previously:

  • true

    Record the group numbers processed previously and reject duplicate group numbers from the same partner, as determined by the interchange sender and receiver identification.

  • false

    The application flow tracks the numbers and handles them appropriately.

false

Require unique messages

Boolean

Enforce globally unique Message Reference Numbers (UNH.1) for received messages:

  • true

    Message reference numbers must be unique across all interchanges received from the same partner and application, as determined by the interchange sender and recipient identification.

  • false

    Message reference numbers must be unique within a particular interchange.

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:

  • ASCII_A

  • ASCII_B

  • ISO8859_1

  • ISO8859_2

  • ISO8859_3

  • ISO8859_4

  • ISO8859_5

  • ISO8859_6

  • ISO8859_7

  • ISO8859_8

  • ISO8859_9

  • UTF8

Character encoding used for writing messages.

ASCII_B

Syntax version

Enumeration, one of:

  • VERSION1

  • VERSION2

  • VERSION3

  • VERSION4

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:

  • NONE

  • LF

  • CRLF

  • CR

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

NONE

Always send UNA

Boolean

  • true

    Always send a UNA service segment.

  • false

    Include a UNA in an interchange when the syntax separator characters don’t match the defaults for the syntax version and character encoding in use.

false

Enforce valid characters

Boolean

Enforce valid characters when using syntax levels UNOA and UNOB.

  • true

    The connector rejects received messages that contain characters not allowed by the syntax level.

  • false

    The connector either uses a substitution character if one is set, or passes the disallowed characters through.

true

Use Functional Groups

Boolean

Group messages with the same functional group identifier inside UNG-UNE envelopes:

  • true

    Groups messages into UNG-UNE segments.

  • false

    Writes all messages in the same interchange.

false

Unique group numbers

Boolean

Send unique message reference numbers (UNG.5):

  • true

    Assigns unique transaction set numbers across all groups sent to the same partner, as determined by the group sender and recipient identification.

  • false

    Assigns message reference numbers sequentially within each group and reuses them in different interchanges.

false

Unique message numbers

Boolean

Send unique Message Reference Numbers (UNH.1):

  • true

    Assigns unique transaction set numbers across all interchanges sent to the same partner, as determined by the interchange sender and recipient identification.

  • false

    Assigns message reference numbers sequentially within each interchange and reuses them in different interchanges.

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):

  • true

    Requests CONTRL acknowledgments in all sent interchanges.

  • false

    Requests receipt confirmations.

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:

  • true

    The connector uses the provided control-segment information.

  • false

    The connector automatically generates control numbers when writing.

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:

  • true

    If the Enforce length limits field is also true, the connector trims values that exceed the maximum length.

  • false

    The connector writes the values as they are.

false

Enforce code set validations

Boolean

Whether to enforce code set validations:

  • true

    The connector enforces code set validations, as defined in the EDIFACT schemas.

  • false

    The connector does not enforce code set validations.

false

Use Version Association Code

Boolean

Whether to use UNH0205 (Version Association Code):

  • true

    The connector uses UNH0205 (Version Association Code).

  • false

    The connector does not 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:

  • true

    The connector uses the configured Segment line ending value at the end of the last line in the segment.

  • false

    The connector does not use the configured Segment line ending value at the end of the last line in the segment.

false

Lock Mechanism

Enumeration, one of:

  • AUTO

  • RUNTIME_LOCK_MANAGER

  • OBJECT_STORE

Determines the mechanism used to manage locks for control number sequencing. Valid values are:

  • 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 standalone 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 with 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 with multiple workers or replicas

    • Hybrid standalone deployments, including clustered Mule runtimes

AUTO

Acknowledge every transaction

Boolean

Whether to include the UCM Segment in the acknowledgement of every transaction:

  • true

    The connector uses the configured ackAllSets value to include the UCM Segment for every transaction, even if the EDIFACT message is not rejected.

  • false

    The connector only includes the UCM segment when the EDIFACT message is rejected, not for every transaction.

false

## Operations - [Read](#read) - [Write](#write) - [Write batch](#write-batch) ### Read `` Transforms an input stream of EDI text into maps and lists the structure of EDI data. #### Parameters
NameTypeDescriptionDefault ValueRequired

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 expression outcome is stored in the Target Variable field.

#[payload]

#### Output

Type

Object

#### For Configurations - config #### Throws - EDIFACT:SCHEMA - EDIFACT:WRITE - EDIFACT:UNKNOWN - EDIFACT:PARSE ### Write `` Transforms the maps and lists the structure of EDI data in the EDI text stream. #### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Write Content

Object

Input 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 - EDIFACT:SCHEMA - EDIFACT:WRITE - EDIFACT:UNKNOWN - EDIFACT:PARSE ### Write batch `` Merges individual EDIFACT messages created and accumulated over a period of time into a single interchange (UNB). #### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Batch 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

Binary

#### For Configurations - config #### Throws - EDIFACT:SCHEMA - EDIFACT:WRITE - EDIFACT:UNKNOWN - EDIFACT:PARSE ## Types ### Expiration Policy
FieldTypeDescriptionDefault ValueRequired

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:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

A time unit that qualifies the Max Idle Time field.

### Repeatable in memory stream
FieldTypeDescriptionDefault ValueRequired

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 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

The unit in which the fields in this table are expressed.

### Repeatable file store stream
FieldTypeDescriptionDefault ValueRequired

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:

  • Configure a larger buffer size to avoid the number of times Mule needs to write the buffer on disk.

    This increases performance, but it also limits the number of concurrent requests your application can process, because it requires additional memory.

  • Configure a smaller buffer size to decrease memory load at the expense of response time.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the Max In Memory Size field.

## See Also - [Salesforce Help](https://help.salesforce.com) --- product: EDIFACT EDI Connector version: 2.10 --- # EDIFACT EDI Connector 2.10 Supported Versions > For the full documentation index, see: https://docs.mulesoft.com/llms.txt This connector supports these EDIFACT versions with supplied schema definitions for all standard messages.
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

## See Also - [Salesforce Help](https://help.salesforce.com) --- product: EDIFACT EDI Connector version: 2.10 --- # EDIFACT EDI Connector 2.10 XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Studio: - If you manually code a Mule runtime engine (Mule) app in XML either from the Anypoint Studio XML editor or from a text editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. - If you add the connector in Studio, Studio automatically populates the XML code with the connector’s namespace and schema location and it also adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/edifact-edi http://www.mulesoft.org/schema/mule/edifact-edi/current/mule-edifact-edi.xsd ``` This example shows how the namespace statements are placed in the XML: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. When you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml com.mulesoft.connectors mule-edifact-extension x.x.x mule-plugin ``` Replace `` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `EDIFACT EDI`. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## Next Step After completing your namespace and `pom.xml` file, you can try the [Examples](https://docs.mulesoft.com/edifact-edi-connector/2.10/edifact-edi-connector-examples). ## See Also - [Salesforce Help](https://help.salesforce.com) --- product: EDIFACT EDI Connector version: 3.0 is-latest-version: true --- # EDIFACT EDI Connector 3.0 > 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/latest/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 EDIFACT 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 NameDescription

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 CONTRL acknowledgments that are generated by the module during the Read operation.

FunctionalAcksToSend (write only)

A list of CONTRL acknowledgments that are sent by the module during the Write operation.

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 D96A. For example, if you are using version D96.A ORDERS and CUSRES messages, the Messages contain a map with one key, D96A. The value of this key is another map, one with two keys, ORDERS and CUSRES. Each of these contains a list of individual ORDERS and CUSRES messages that are processed.

Individual messages have their own maps, with the following keys:
KeyDescription

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:

  • For a read message, the map consists of data from the enclosing group. The map is a single map linked from all transaction sets in the group.

  • For a write message, the map value creates the enclosing group. If there are no values for the map, it consists of values taken from the group map at the message level by default.

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.

Generated CONTRL functional acknowledgment messages differ from Received messages in their handling of interchange information:
Key nameDescription

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.

## Next Step After you complete the prerequisites, you are ready to create your own app and configure the connector using [Anypoint Studio](https://docs.mulesoft.com/edifact-edi-connector/latest/edifact-edi-connector-studio). ## See Also [Salesforce Help](https://help.salesforce.com) --- product: EDIFACT EDI Connector version: 3.0 is-latest-version: true --- # EDIFACT EDI Connector 3.0 Batch Outbound EDIFACT Messages > For the full documentation index, see: https://docs.mulesoft.com/llms.txt For EDI messages that are not time-sensitive, such as invoice and payment remittances, use the Write batch operation to merge multiple individual messages into a single interchange to send to your trading partners. ## Batching Stages Use the Anypoint Connector for EDIFACT EDI (EDIFACT EDI Connector) Write batch operation to merge individual EDIFACT messages into a single transmission to send to your trading partners. > [!NOTE] The EDIFACT Write batch operation does not support merging CONTRL acknowledgment messages. You implement a batch in two stages: 1. Accumulate the transactions. 2. Release the batch. ### Accumulate the Transactions To accumulate transactions for a batch: 1. Transform the payloads into EDIFACT messages using DataWeave and EDIFACT as you receive application messages (such as a JSON invoice) from the backend systems. 2. Create EDIFACT payloads using temporary control number keys in the EDIFACT Write operation. This enables sending the accumulated EDIFACT as a batch later. The batch is created using control numbers that are not used in the final batch sent to the trading partner, for example, ``. 3. Store the intermediate EDIFACT message payloads in your choice of storage, such as a database table: ![Accumulate the transactions](/mulesoft/current/en-us/edifact-edi-connector/latest/_images/edifact-edi-connector-batch-flow-1.png) For example, this implementation of a Mule flow: - Receives JSON payloads from the backend systems. - Transforms to an `EDIFACT D97A ORDERS` message. - Generates the intermediate EDIFACT message payload using the EDIFACT Write operation. - Stores the EDIFACT payload in a database table. ### Release the Batch Trading partners have varying criteria for how they want transactions batched: - Release the batch at a specific time interval or a specific time of the day. - Release the batch when a specific number of transactions are accumulated. - Release the batch when the total size of the accumulated transactions is near a specified threshold. To release the batch: 1. Implement the logic or module to monitor the transactions accumulated in the temporary storage and determine when a particular batch is released. 2. Retrieve the accumulated intermediate EDIFACT messages from the temporary storage based on the batch criteria, group the transactions together, and then send the appended payload to the EDIFACT Write batch operation. You can either use the control number key on the Write batch operation or leave the control number key fields empty at the time of Write batch operation execution, allowing the EDIFACT EDI Connector to generate the control number sequence automatically based on the sender and receiver identifier combination: ` `. 3. Ensure that the input payload sent to the Write batch operation contains EDI transactions with data elements in the UNB envelope segments, such as `Sender ID`, `Receiver ID`, and `Version number`: ![Release the batch](/mulesoft/current/en-us/edifact-edi-connector/latest/_images/edifact-edi-connector-batch-flow-2.png) For example, this implementation of a Mule flow: - Receives an HTTP request to release accumulated EDIFACT messages transactions for a specific partner. The request is triggered after the batch release criteria are met. - Retrieves the intermediate EDIFACT messages from the database table. - Applies a transformation to group the individual EDIFACT messages. - Sends the appended payload through the EDIFACT Write batch operation to merge the messages into a single transaction. - Prints the generated control numbers, which reconcile the inbound functional acknowledgments received from the partners. - Delivers the batched EDIFACT transaction to the trading partner’s SFTP site. If the input payload contains EDI transactions with non-matching data elements in the envelope segments, the Write batch operation throws an exception. --- product: EDIFACT EDI Connector version: 3.0 is-latest-version: true --- # EDIFACT EDI Connector 3.0 Configuring Schemas > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Standard versions of the schemas for all defined EDIFACT messages and supported versions are included with this connector. If your implementation conventions differ from the standard, you can create schemas to describe your messages. ## Set Your Schema Locations To configure schemas in Anypoint Studio: 1. Switch to the XML view by clicking **Configuration XML**. 2. To include a list of all schemas, add an `` element for each document type to your EDIFACT EDI configuration: ```xml ``` After you create a global element for your EDIFACT EDI in Studio, configure any schemas and operations. ### Configuration Options in XML All values listed in the Studio configuration can be set directly in XML. General parameters control both Send and Receive document handling.
XML ValueStudio Option

schemas=list of values

List of schema paths the connector can use. Each path can be either a file system or classpath.

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.

## Self-Identification Parameters Use these parameters to identify your side of the trading partner relationship:
XML ValueStudio Option

interchangeIdSelf

Mule interchange Sender or Receiver ID (UNB2.1/UNB3.1).

interchangeIdQualifierSelf

Interchange Sender or Receiver ID qualifier (UNB2.2/UNB3.2).

## Partner Identification Parameters These identify your partner.
XML ValueStudio 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).

## Parser Parameters for Error Conditions These control the parser operation and the types of error conditions that reject Receive messages.
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 UNOA and UNOB.

allowUnknownSegments="false"

Allow unknown segments in a message.

enforceSegmentOrder="true"

Enforce the segment order in a message.

allowUnusedSegments="false"

Allow segments marked as Unused in a message.

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 false enables received interchange processing to continue and relies on the application flow to track the numbers and manage them appropriately.

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 true requires group numbers to be unique across all interchanges received from the same partner and application, as determined by the interchange sender and recipient identification.

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 true requires message reference numbers to be unique across all interchanges received from the same partner and application, as determined by the interchange sender and recipient identification.

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.

## Writer Parameters These control the types of writer operations.
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 true means a UNA is always sent.

enforceWriteCharacters="true"

Enforce valid characters for a Write operation. This applies when using syntax levels UNOA and UNOB.

useWriteFunctionalGroups="false"

If true, the connector classifies each message by the corresponding functional group (UNG-UNE), according to its type. By default, the connector doesn’t classify messages by functional group.

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 true, the connector assigns unique message numbers across all interchanges sent to the same partner, as determined by the interchange sender and recipient identification.

sendUniqueMessageNumbers="false"

Send unique Message Reference Numbers (UNH.1). false (default) assigns message reference numbers sequentially within each interchange and reuses them in a different interchange. true assigns unique transaction set numbers across all interchanges sent to the same partner. It is derived by the interchange sender and recipient identification.

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 UNB and UNZ segments or use the supplied values. false always generates control numbers when writing letting you choose values.

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 true throws an exception when an element is too long or too short. false leaves the values as-is.

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.

## Write-Batch Parameters These control the types of write-batch operations.
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 true means a UNA is always sent.

batchEnforceWriteCharacters="true"

Enforce valid characters for a Write operation. This applies when using syntax levels UNOA and UNOB.

batchSendUniqueMessageNumbers="false"

Send unique Message Reference Numbers (UNH.1). false (default) assigns Message Reference Numbers sequentially within each interchange and reuses them in a different interchange. true assigns unique transaction set numbers across all interchanges sent to the same partner. It is derived by the interchange sender and recipient identification.

useBatchFunctionalGroups="false"

If true, the connector classifies each message by the corresponding functional group (UNG-UNE). By default, messages are not classified by functional group.

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 true, the connector assigns unique message reference numbers across all interchanges sent to the same partner, as determined by the interchange sender and recipient identification.

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 UNB and UNZ segments or use the supplied values. false always generates control numbers when writing, letting you choose values.

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.

## Next Step After you complete configuring the connector, you can try the [Examples](https://docs.mulesoft.com/edifact-edi-connector/latest/edifact-edi-connector-examples). ## See Also - [Salesforce Help](https://help.salesforce.com) --- product: EDIFACT EDI Connector version: 3.0 is-latest-version: true --- # EDIFACT EDI Connector 3.0 Control Numbers > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Using the Write operation in the Anypoint Connector for EDIFACT EDI (EDIFACT EDI Connector), you can generate control numbers on the generated EDIFACT payload by: - Managing global control numbers through control number keys - Managing identifier combination control numbers - Using your own control number ## Manage Global Control Numbers Through Control Number Keys If your organization or your trading partner must maintain unique interchange, group, or transaction set control numbers across different identifier combinations and document types: - Set the configuration `Use supplied values` to `false`. - Leverage the control number key configurations (at the configuration level or operation level) to set a key unique to the partner. By default, the control number key configurations pass dynamically at the operation level. You can then use this group control number key across different identifiers and transaction types for the same partner. ![EDIFACT EDI Connector Control Numbers](/mulesoft/current/en-us/edifact-edi-connector/latest/_images/edifact-edi-connector-control-number.jpg) ## Manage Identifier Combination Control Numbers If you want the connector to automatically maintain control number sequencing based on the sender/receiver identifiers and you do not require global control numbers at a partner level, then set the Write configuration `Use supplied values` to `false`. When no value passes into the optional interchange, group, or transaction number key configurations, the sender/receiver identifier combination is the default. ## Use Your Own Control Number If you must generate the control numbers and use them on the EDI payload, you can set the parameter `Use supplied values` to `true`, and map the control number in the payload to the DataWeave map. --- product: EDIFACT EDI Connector version: 3.0 is-latest-version: true --- # EDIFACT EDI Connector 3.0 Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt The following examples show how to read, validate, and write EDI messages. In addition, you can send functional and interchange acknowledgments to your trading partners. ## XML for EDIFACT Studio Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule app: ```xml ``` ## Read and Validate EDIFACT EDI Messages 1. To read an EDIFACT message, search the **Mule Palette** for EDIFACT EDI, and drag the EDIFACT **Read** operation into a flow. 2. Go to the properties view, select the connector configuration you created and select the **Read** operation. This reads any byte stream into the structure described by your EDIFACT schemas. The EDIFACT module validates the message when it reads it. Message validation includes checking the syntax and content of the envelope segments UNB and UNZ as well as the actual messages within the message. Normally errors are both logged, accumulated, and reported in CONTRL acknowledgment messages and all accepted messages (whether error free or with non-fatal errors) are passed on for processing as part of the output message Map. Exceptions are thrown for errors encountered when reading the input data. Error data entered in the receive data map uses the `EdifactError` class. This is a read-only JavaBean with these properties:
PropertyDescription

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

Error data is returned by the Read operation as optional lists with the `Errors` key at both the root level of the data structure and at the message level. For the message level, the list contains non-fatal errors encountered during the message parsing. For the root level, the list contains both interchange errors and fatal message errors. ## Write EDIFACT EDI Messages - To write an outgoing message, search the **Mule Palette** for EDIFACT EDI and drag the EDIFACT **Write** operation into a flow. - Construct an outgoing EDIFACT EDI message according to the structure as defined for input to the write operation. If no fatal errors are found in the Write operation, the normal flow continues. Otherwise, an exception is thrown that describes the error. ## Send Functional Acknowledgments Sending generated functional acknowledgments (CONTRL messages) is the same as writing any other type of EDI message except that transactions are set to the acknowledgments that were generated during the Read operation. For example: ```xml ... ``` The generated functional acknowledgments have interchange data set up for sending back to the sender of the original message, so it’s not required to change anything in the transactions to perform the send. ## See Also - [Salesforce Help](https://help.salesforce.com) --- product: EDIFACT EDI Connector version: 3.0 is-latest-version: true --- # EDIFACT EDI Connector 3.0 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt ## Default Configuration ### Parameters
NameTypeDescriptionDefault ValueRequired

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.

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

  • On the receive side, the UNB interchange recipient identification must match this value.

  • On the send side, the connector uses this value as the UNB interchange sender identification unless it is overridden in the message parameters.

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.

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

  • On the receive side, the UNB interchange recipient identification code qualifier must match this value.

  • On the send side, the connector uses this value as the UNB interchange sender identification code qualifier unless it is overridden in either the send configuration or the message parameters.

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.

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

  • On the receive side, the UNG group recipient identification must match this value.

  • On the send side, the connector uses this value as the UNG group sender identification unless it is overridden in the message parameters.

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.

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

  • On the receive side, the UNG group recipient identification code qualifier must match this value.

  • On the send side, the connector uses this value as the UNG group sender identification code qualifier unless it is overridden in either the send configuration or the message parameters.

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.

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

  • On the receive side, the UNB interchange sender identification must match this value.

  • On the send side, the connector uses this value as the UNB interchange recipient identification code unless it is overridden in either the send configuration or the message parameters.

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.

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

  • On the receive side, the UNB interchange sender identification code qualifier must match this value.

  • On the send side, the connector uses this value as the UNB interchange recipient identification code qualifier unless it is overridden in either the send configuration or the message parameters.

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.

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

  • On the receive side, the UNG group sender identification must match this value.

  • On the send side, the connector uses this value as the UNG group recipient identification code unless it is overridden in either the send configuration or the message parameters.

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.

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

  • On the receive side, the UNG group sender identification code qualifier must match this value.

  • On the send side, the connector uses this value as the UNG group recipient identification code qualifier unless it is overridden in either the send configuration or the message parameters.

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 UNOA or UNOB. The use of this substitution character, if set, is controlled by separate parser and writer flags.

Separators usage

Enumeration, one of:

  • USE_DEFAULTS

  • USE_SPECIFIED_FOR_WRITES

  • USE_SPECIFIED_FOR_ALL

Defines how specified separator and release characters are used:

  • USE_DEFAULTS

    Use defaults as defined by EDIFACT syntax version standards.

  • USE_SPECIFIED_FOR_WRITES

    Use standard default delimiters for reads and specified delimiters as defaults for writes.

  • USE_SPECIFIED_FOR_ALL

    Use specified delimiters as the defaults for both reads and writes.

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, -01:00, `0100`, `-0130`, and so on. {sp}
If you don’t specify a value for this field, the Interchange Header segment date and times are set to the local time of the Mule runtime.

Enforce length limits

Boolean

Enforce minimum and maximum lengths for receive values:

  • true

    The connector rejects messages with values that are too long or too short.

  • false

    The connector uses the values and does not reject the messages.

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:

  • true

    The connector rejects messages that have values repeated too many or too few times.

  • false

    The connector uses the values and does not reject the messages.

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

    The connector rejects received messages that contain characters that the syntax level does not allow.

  • false

    If a substitution character is set, the connector uses it in place of the disallowed characters. Otherwise, the connector passes the disallowed characters through.

true

Allow unknown segments

Boolean

Allow unknown segments in a message:

  • true

    The connector ignores the unknown segments and does not reject the messages.

  • false

    The connector rejects messages that contain unknown segments.

In either case, the error is reported in CONTRL functional acknowledgments.

false

Enforce segment order

Boolean

Enforce segment order in a message:

  • true

    The connect rejects messages that have out-of-order segments.

  • false

    The connector does not reject messages if their out-of-order segments can be reordered.

In either case, the error is reported in CONTRL functional acknowledgments.

true

Allow unused segments

Boolean

Allow segments marked as Unused in the schema:

  • true

    The connector ignores unused segments and does not reject the messages.

  • false

    The connector rejects messages that contain segments marked as Unused in the schema.

    In either case, the error is reported in CONTRL functional acknowledgments.

true

Enforce segment repeats

Boolean

Enforce segment repetition count limits in a message:

  • true

    The connector rejects messages that have a segment repeated too many times.

  • false

    The connector does not reject the messages.

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:

  • true

    Record the interchange numbers previously processed and reject any duplicate interchange numbers from the same partner, as determined by the interchange sender and receiver identification.

  • false

    The application flow tracks the numbers and handles them appropriately.

false

Require unique groups

Boolean

Reject a group if the group control reference was processed previously:

  • true

    Record the group numbers processed previously and reject duplicate group numbers from the same partner, as determined by the interchange sender and receiver identification.

  • false

    The application flow tracks the numbers and handles them appropriately.

false

Require unique messages

Boolean

Enforce globally unique Message Reference Numbers (UNH.1) for received messages:

  • true

    Message reference numbers must be unique across all interchanges received from the same partner and application, as determined by the interchange sender and recipient identification.

  • false

    Message reference numbers must be unique within a particular interchange.

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:

  • ASCII_A

  • ASCII_B

  • ISO8859_1

  • ISO8859_2

  • ISO8859_3

  • ISO8859_4

  • ISO8859_5

  • ISO8859_6

  • ISO8859_7

  • ISO8859_8

  • ISO8859_9

  • UTF8

Character encoding used for writing messages.

ASCII_B

Syntax version

Enumeration, one of:

  • VERSION1

  • VERSION2

  • VERSION3

  • VERSION4

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:

  • NONE

  • LF

  • CRLF

  • CR

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

NONE

Always send UNA

Boolean

  • true

    Always send a UNA service segment.

  • false

    Include a UNA in an interchange when the syntax separator characters don’t match the defaults for the syntax version and character encoding in use.

false

Enforce valid characters

Boolean

Enforce valid characters when using syntax levels UNOA and UNOB.

  • true

    The connector rejects received messages that contain characters not allowed by the syntax level.

  • false

    The connector either uses a substitution character if one is set, or passes the disallowed characters through.

true

Use Functional Groups

Boolean

Group messages with the same functional group identifier inside UNG-UNE envelopes:

  • true

    Groups messages into UNG-UNE segments.

  • false

    Writes all messages in the same interchange.

false

Unique group numbers

Boolean

Send unique message reference numbers (UNG.5):

  • true

    Assigns unique transaction set numbers across all groups sent to the same partner, as determined by the group sender and recipient identification.

  • false

    Assigns message reference numbers sequentially within each group and reuses them in different interchanges.

false

Unique message numbers

Boolean

Send unique Message Reference Numbers (UNH.1):

  • true

    Assigns unique transaction set numbers across all interchanges sent to the same partner, as determined by the interchange sender and recipient identification.

  • false

    Assigns message reference numbers sequentially within each interchange and reuses them in different interchanges.

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):

  • true

    Requests CONTRL acknowledgments in all sent interchanges.

  • false

    Requests receipt confirmations.

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:

  • true

    The connector uses the provided control-segment information.

  • false

    The connector automatically generates control numbers when writing.

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:

  • true

    If the Enforce length limits field is also true, the connector trims values that exceed the maximum length.

  • false

    The connector writes the values as they are.

false

Enforce code set validations

Boolean

Whether to enforce code set validations:

  • true

    The connector enforces code set validations, as defined in the EDIFACT schemas.

  • false

    The connector does not enforce code set validations.

false

Use Version Association Code

Boolean

Whether to use UNH0205 (Version Association Code):

  • true

    The connector uses UNH0205 (Version Association Code).

  • false

    The connector does not 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:

  • true

    The connector uses the configured Segment line ending value at the end of the last line in the segment.

  • false

    The connector does not use the configured Segment line ending value at the end of the last line in the segment.

false

Lock Mechanism

Enumeration, one of:

  • AUTO

  • RUNTIME_LOCK_MANAGER

  • OBJECT_STORE

Determines the mechanism used to manage locks for control number sequencing. Valid values are:

  • 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 standalone 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 with 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 with multiple workers or replicas

    • Hybrid standalone deployments, including clustered Mule runtimes

AUTO

Acknowledge every transaction

Boolean

Whether to include the UCM Segment in the acknowledgement of every transaction:

  • true

    The connector uses the configured ackAllSets value to include the UCM Segment for every transaction, even if the EDIFACT message is not rejected.

  • false

    The connector only includes the UCM segment when the EDIFACT message is rejected, not for every transaction.

false

Send UNA segment

Enumeration, one of:

  • ALWAYS

  • DEPEND_ON_SEPARATORS

  • NEVER

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:

  • ALWAYS

    Includes UNA at the start of every interchange, even when the separators match the defaults for the selected syntax version and character encoding. Existing configuration Always send UNA has same behavior.

  • NEVER

    Omits UNA, including when custom separators are used. The interchange begins with UNB. A configuration error is thrown if this option is combined with Always send UNA.

  • DEPEND_ON_SEPARATORS

    Includes UNA when the resolved separators differ from the defaults for the selected syntax version and character encoding, otherwise omits it. When Always send UNA configuration is true, the setting overrides this value and forces UNA to be included.

DEPEND_ON_SEPARATORS

## Operations - [Read](#read) - [Write](#write) - [Write batch](#write-batch) ### Read `` Transforms an input stream of EDI text into maps and lists the structure of EDI data. #### Parameters
NameTypeDescriptionDefault ValueRequired

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 expression outcome is stored in the Target Variable field.

#[payload]

#### Output

Type

Object

#### For Configurations - config #### Throws - EDIFACT:SCHEMA - EDIFACT:WRITE - EDIFACT:UNKNOWN - EDIFACT:PARSE ### Write `` Transforms the maps and lists the structure of EDI data in the EDI text stream. #### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

The name of the configuration to use.

x

Write Content

Object

Input 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 - EDIFACT:SCHEMA - EDIFACT:WRITE - EDIFACT:UNKNOWN - EDIFACT:PARSE ### Write batch `` Merges individual EDIFACT messages created and accumulated over a period of time into a single interchange (UNB). #### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Batch 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

Binary

#### For Configurations - config #### Throws - EDIFACT:SCHEMA - EDIFACT:WRITE - EDIFACT:UNKNOWN - EDIFACT:PARSE ## Types ### Expiration Policy
FieldTypeDescriptionDefault ValueRequired

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:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

A time unit that qualifies the Max Idle Time field.

### Repeatable in memory stream
FieldTypeDescriptionDefault ValueRequired

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 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

The unit in which the fields in this table are expressed.

### Repeatable file store stream
FieldTypeDescriptionDefault ValueRequired

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:

  • Configure a larger buffer size to avoid the number of times Mule needs to write the buffer on disk.

    This increases performance, but it also limits the number of concurrent requests your application can process, because it requires additional memory.

  • Configure a smaller buffer size to decrease memory load at the expense of response time.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the Max In Memory Size field.

## See Also - [Salesforce Help](https://help.salesforce.com) --- product: EDIFACT EDI Connector version: 3.0 is-latest-version: true --- # EDIFACT EDI Connector 3.0 Supported Versions > For the full documentation index, see: https://docs.mulesoft.com/llms.txt This connector supports these EDIFACT versions with supplied schema definitions for all standard messages.
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

## See Also - [Salesforce Help](https://help.salesforce.com) --- product: EDIFACT EDI Connector version: 3.0 is-latest-version: true --- # EDIFACT EDI Connector 3.0 XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Studio: - If you manually code a Mule runtime engine (Mule) app in XML either from the Anypoint Studio XML editor or from a text editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. - If you add the connector in Studio, Studio automatically populates the XML code with the connector’s namespace and schema location and it also adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/edifact-edi http://www.mulesoft.org/schema/mule/edifact-edi/current/mule-edifact-edi.xsd ``` This example shows how the namespace statements are placed in the XML: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. When you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml com.mulesoft.connectors mule-edifact-extension x.x.x mule-plugin ``` Replace `` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `EDIFACT EDI`. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## Next Step After completing your namespace and `pom.xml` file, you can try the [Examples](https://docs.mulesoft.com/edifact-edi-connector/latest/edifact-edi-connector-examples). ## See Also - [Salesforce Help](https://help.salesforce.com) --- product: EDIFACT EDI Connector version: 2.10 --- # Using Anypoint Studio to Configure EDIFACT EDI Connector 2.10 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure a source for the connector’s flow](#configure-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). 6. [Configure the other connector fields](#configure-other-fields). If, after reading this topic, you need additional information about the connector fields, see the [EDIFACT EDI Reference](https://docs.mulesoft.com/edifact-edi-connector/2.10/edifact-edi-connector-reference). ## Create a Mule Project In Studio, create a new Mule project in which to add and configure the connector: 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add EDIFACT EDI Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In the **Mule Palette** view, click **(X) Search in Exchange**. 2. In the **Add Dependencies to Project** window, type `EDIFACT EDI` in the search field. 3. Click EDIFACT EDI in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure this source to use with EDIFACT EDI Connector: - HTTP Listener Initiates a flow each time it receives a request on the configured host and port. For example, to configure an HTTP Listener source, follow these steps: 1. In the **Mule Palette** view, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the HTTP Listener source in the app. 6. On the **General** tab, specify connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you are specifying an action for that connector to perform. To add an operation for EDIFACT EDI Connector, follow these steps: 1. In the **Mule Palette** view, select **EDIFACT EDI** and then select the desired operation. 2. Drag the operation onto the Studio canvas to the right of the input source. ## Configure a Global Element for the Connector When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target EDIFACT EDI system. To configure the global element for EDIFACT EDI Connector, follow these steps: 1. Select the operation in the Studio canvas. 2. In the configuration screen for the operation, click the plus sign (**+**) next to the **Connector configuration** field to access the global element configuration fields. 3. On the **General** tab, in **Connection**, select the authentication method to configure. You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. 4. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 5. Click **Test Connection** to confirm that Mule can connect with the specified server. 6. Click **OK**. ## Configure Additional Connector Fields After you configure a global element for EDIFACT EDI, configure other optional or required fields for the connector. The required fields vary depending on which connector operation you use. ## Next Step See [Configuring Schemas](https://docs.mulesoft.com/edifact-edi-connector/2.10/edifact-edi-connector-config-topics) for more configuration steps. ## See Also - [EDIFACT EDI Connector Reference](https://docs.mulesoft.com/edifact-edi-connector/2.10/edifact-edi-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: EDIFACT EDI Connector version: 3.0 is-latest-version: true --- # Using Anypoint Studio to Configure EDIFACT EDI Connector 3.0 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure a source for the connector’s flow](#configure-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). 6. [Configure the other connector fields](#configure-other-fields). If, after reading this topic, you need additional information about the connector fields, see the [EDIFACT EDI Reference](https://docs.mulesoft.com/edifact-edi-connector/latest/edifact-edi-connector-reference). ## Create a Mule Project In Studio, create a new Mule project in which to add and configure the connector: 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add EDIFACT EDI Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In the **Mule Palette** view, click **(X) Search in Exchange**. 2. In the **Add Dependencies to Project** window, type `EDIFACT EDI` in the search field. 3. Click EDIFACT EDI in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure this source to use with EDIFACT EDI Connector: - HTTP Listener Initiates a flow each time it receives a request on the configured host and port. For example, to configure an HTTP Listener source, follow these steps: 1. In the **Mule Palette** view, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the HTTP Listener source in the app. 6. On the **General** tab, specify connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you are specifying an action for that connector to perform. To add an operation for EDIFACT EDI Connector, follow these steps: 1. In the **Mule Palette** view, select **EDIFACT EDI** and then select the desired operation. 2. Drag the operation onto the Studio canvas to the right of the input source. ## Configure a Global Element for the Connector When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target EDIFACT EDI system. To configure the global element for EDIFACT EDI Connector, follow these steps: 1. Select the operation in the Studio canvas. 2. In the configuration screen for the operation, click the plus sign (**+**) next to the **Connector configuration** field to access the global element configuration fields. 3. On the **General** tab, in **Connection**, select the authentication method to configure. You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. 4. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 5. Click **Test Connection** to confirm that Mule can connect with the specified server. 6. Click **OK**. ## Configure Additional Connector Fields After you configure a global element for EDIFACT EDI, configure other optional or required fields for the connector. The required fields vary depending on which connector operation you use. ## Next Step See [Configuring Schemas](https://docs.mulesoft.com/edifact-edi-connector/latest/edifact-edi-connector-config-topics) for more configuration steps. ## See Also - [EDIFACT EDI Connector Reference](https://docs.mulesoft.com/edifact-edi-connector/latest/edifact-edi-connector-reference) - [Salesforce Help](https://help.salesforce.com)