ISA16 component element separator cannot be part of the payload

An agreement property indicates the char value for ISA16. ISA16 is the X12 message component element separator. When an EDI message fails validation, the 997 fails to generate if the failing value/field contains a char that matches the ISA16, component element separator. The parser will not be able to distinguish the separator character in the payload as payload vs the actual separator.

You might get error in the application event log similar to: Event 5743 The adapter failed to transmit message going to send port “997_SP” with URL “C:“. It will be retransmitted after the retry interval specified for this Send Port. Details:”Unable to read the stream produced by the pipeline. 

Details: Error: 1 (Field level error)
SegmentID: AK4
Position in TS: 71
Data Element ID: AK44
Position in Segment: 4
Data Value: 
6: Invalid character in data element

This is by design and documented at http://msdn.microsoft.com/en-us/library/bb226315(v=bts.70).aspx.
(http://msdn.microsoft.com/en-us/library/bb226315(v=bts.70).aspx)

If the payload data contains characters that are also used as data, segment, or component separators, check Replace separators in payload with and specify a replacement character or hex. When generating the outbound X12 message, all instances of separator characters in the payload data will be replaced with the specified character or hex value.

The workarounds availableto handle the scenario are:

1) Use the agreement property, “Replace the separators in payload with:” to set the component element separator from default “:” to another value ie. “$”. The setting is applied for all the message types pertaining to the agreement.

2)  Override the component separator (ISA16) for 997 using dynamic envelope overrides (Overriding EDI Headers
(http://msdn.microsoft.com/en-us/library/dd223988.aspx)
). The 997 XML generated by EDI Disassembler will have a message type context property with value pertaining to 997. Write a custom pipeline component before the EDI Assembler to look for the message type context property for 997 message and write the override ISA16 context property. In that case only the 997 will go out with a different component separator (ISA16)and the rest of the message types will go out without modification.

Note This is a “FAST PUBLISH” article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use
(http://go.microsoft.com/fwlink/?LinkId=151500)
for other considerations.

Continue reading here:
ISA16 component element separator cannot be part of the payload

Comments are closed.

Recent Comments

    Archives

    Categories