I got an email from a customer telling me that the UNB segment in our EDIFACT messages was invalid according to the EDIFICAT specifications. I thought that it sounded rather strange since the UNB segment is generated by BizTalk based on the party settings.
The UNB segment we sent looked like:
The marking above in red is called “0031 Acknowledgement request” and is a flag managed on the “Acknowledgements” tab in the BizTalk party settings.
0 = off, 1 = 1 on sounds fair, right? Well not quite.
According to the EDIFACT specifications valid values of Acknowledgement request are 1, 2 and blank.
MSDN documentation states the following:
UNB9 (Acknowledgment request)
Enter a value for the Acknowledgment request. This value can be 0 - ACK not required, 1 - Acknowledgement requested, or 2 - Indication of receipt. Selecting 1 prompts generation of a CONTRL message as functional acknowledgment. Selecting 2 prompts generation of a CONTRL message as technical acknowledgment.
This field can only be a single-digit number. The default value for the field is 0 - ACK not required.
Clearly a mismatch between BizTalk and the EDIFACT standards.
I haven’t had the chance to try this myself but according to this forum post the ‘0’ was introduced in BizTalk 2010
Why did Microsoft change this?