A few months ago, Logic Apps team has introduced the preview release of X12 built-in connector, one of the issues that customer encounters during the migration of X12 decode action is X12 decode response is different from the managed X12 connector response. We will attempt to address that problem in this blog post. The built-in X12 connector response adheres to the hierarchical structure defined by X12 standard more accurately.
Some scenarios make it hard to handle the managed X12 decode response because it has a flat structure where all X12 transactions are either good messages, bad messages (if they fail), or receivedAcks (if there are received acknowledgements).
.
This non-hierarchical structure has the following issues which we addressed in built-in X12 decode connector:
The transaction set information is irrelevant and wrong (if there are different kinds of ST 810 or 850 messages in the same GS or ISA).
"transactionSet": {
"sT01": "810",
"sT02": "ST02",
"sE01": "90",
"sE02": "ST02"
},
Each ISA should have one technical ack and each GS segment should have one functional ack. To match the ack to the corresponding GS Control number, customer should loop through all functional ack and check the ak102 field which is non-trivial.
"generatedAcks": [
{
"technicalAcknowledgement": {
"tA101": "111111891",
},
},
{
"functionalAcknowledgement": {
"header": {
"aK101": "AA",
"aK102": "0123456789"
},
},
},
{
"functionalAcknowledgement": {
"header": {
"aK101": "AA",
"aK102": "1123456789"
},
},
}
],
How to migrate the existing managed X12 Decode action?
You may have many reasons to use the built-in X12 connector. The built-in X12 connector has better performance, large message processing, and VNET support without extra work. You may also need to switch from the X12 managed connector to the built-in X12 connector with minimal changes in the workflow definition. There are some scenarios where you require such minimal changes on workflow definition, when you move ISE workflows to Logic Apps Standard, or when you upgrade from Logic Apps Consumption to Standard, or when you replace the X12 managed connector in Logic Apps Standard.
One of the solution is to create a child workflow within the same Logic Apps and invoke from your existing workflow which you are migrating.
Change the name of the workflow invoke action to the same name as the X12 decode action preferably using code-view, as shown below. This way, you don't need to change anything in the workflow actions later where you use the X12 decode response.
.
The workflow mapping for EDIFACT message processing is similar, you only need to modify the child workflow definition mostly header and trailer names from ISA , GS and AK to UNB, UNH, UCI and UCT properties name in the child workflow.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.