0

Our partner sends a EDIFACT which has some custom segments. I have updated one of the existing edifact schemas to have these custom segments. The happy day scenarios are working. We are now trying to implement negative scenarios. The business wants BizTalk to process the successful message within the interchange and raise an error for the failed ones. I am not using partner agreement. In the EDIFACT fallback settings, I have set the inbound batch processing option to split the interchange as Transaction sets - suspend transaction set on error.

Issue: My partner will send multiple data (in our case, multiple S01Loop) within the same transaction set i.e. within UNH-UNT. If I apply the above logic, the entire interchange is failing.

Requirement: We want the particular Loop data to fail and the remaining positive ones should pass.

What I have tried: For HIPAA based edifact file, there is a concept called subdocument_break. I applied those annotations in the XSD. Unfortunately it didnt work.

If there is no out of the box solution, I am planning to write a EDI splitter pipeline component which will be custom flat file disassembler component which will split the multiple data into separate instances. I will then use the EDI disassembler to parse the data.

Let me know if anyone has got a out of the box feature available in BizTalk to do this.

Dijkgraaf
  • 11,049
  • 17
  • 42
  • 54
Shankar
  • 13
  • 2

1 Answers1

0

In this case, Sub Document Splitting will not help because if there is an syntactical error, the entire Transaction Set will fail anyway.

There is a reason for this. If segments are out of order, the parser cannot reliably determine it's place.

The correct way to handle this is to move such validation to later in the process so the invalid messages are detected after parsing. If the Trading Partner is sending truly invalid EDI, they really need to fix that on their end.

Johns-305
  • 10,908
  • 12
  • 21