There’s a question that arises in configuring Arc that comes up often:
I have a transport connector (like AS2 or SFTP) that receives multiple EDI files that are addressed to different interchange relationships. How can I support this in my flow if each EDIFACT connector expects one EDI relationship (Interchange Sender ID and Interchange Receiver ID)?
By default, the EDIFACT connector is meant to be used in a 1:1 relationship with the interchange relationship in the EDI document, so if you had a sender that was using different interchange IDs for different document types - 123A and 123P for instance, you would set up EDIFACT connectors where the Sender Identifier is configured in each one, and EDI files would need to be routed to the correct connector accordingly.
Support multiple EDI relationships in a single connector (only supported in unlimited EDI licenses)
If you are using a license that supports unlimited use of the EDI connectors, you will find an option in the Advanced tab to relax the validation of the interchange sender and receiver in the Advanced section of the connector:
When this is set, you can route multiple EDI documents with different interchange headers through the same EDIFACT connector. Note that since this setting allows for the processing of any number of EDI relationships, this setting is only supported when the license of Arc supported unlimited numbers of EDI connectors.
Scanning the EDIFACT envelope to direct the request to a matching EDIFACT connector configuration
If you are not using a license that supports unlimited EDI connectors, you can still support multiple EDI relationships in a single transport layer and use the Branch connector to route an incoming message to the right connector based on the EDI relationship. There is an operation in arcScript called edifactScan that you can use to scan a file for EDI metadata:
If this is what you need, in the attached EDIFACTScan.arcflow, you will find a simple flow that uses the edifactScan operation to determine the sender of a message for routing.
CreateTestEDI is a simple script connector that will generate 2 EDI files addressed from two different senders if you click on the Receive button in the output tab (this is to act as a stand-in for a transport step where you can receive EDI from multiple senders). You would just use this to generate the test data to demonstrate the flow.
Script_EDIFACTHeaders is a simple Script connector that will scan the file and add metadata about the sender and receiver of the file to the message to assist in routing. If you examine the file in the output tab of the connector, you will see that several new headers are added:
The From123EDI connector is a simple Branch connector that is designed to make a choice on the headers added in that step:
And finally, based on the decision in that step, the EDIFACT123A and EDIFACT13P connectors are the EDIFACT connectors configured for the matching relationships.