Bug in BizTalk EdiAssembler?

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:

UNB+UNOC:3+XXXXXXXXXXXXX:14+YYYYYYYYYYYYY:14+130627:2103+16++++0++1

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.

http://www.gefeg.com/jswg/cl/v4x/40202/cl6.htm

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.

From http://msdn.microsoft.com/en-us/library/bb246092(v=bts.20).aspx

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

http://social.technet.microsoft.com/Forums/en-US/92ce0b55-fc0c-4def-a55d-413b9717cc65/edifact-unb-segment-bts-2010

 

Why did Microsoft change this?

 

Posted in: •Integration  | Tagged: •BizTalk  •EDIFACT