About X12-4010-EDI856 Error

Biztalk seems can not understand SAC Segement。

When I try X12-4010-856, appear some errors。

Error encountered during parsing. The X12 transaction set with id '240001' contained in functional group with id '24', in interchange with id '000000024', with sender id 'USCECSC ', receiver id 'PRIMAXLTD ' is being suspended with following errors:

Error: 1 (Field level error)
SegmentID: SAC
Position in TS: 37
Data Element ID: SAC05
Position in Segment: 5
Data Value: 000
6: Invalid character in data element

Error: 2 (Field level error)
SegmentID: SAC
Position in TS: 72
Data Element ID: SAC05
Position in Segment: 5
Data Value: 000
6: Invalid character in data element

The Picture is my X12-856 Schema

[1018 byte] By [kdchen] at [2008-1-7]
# 1

Looking at the schema is telling me that the SAC05 data element allows up to 15 character spaces and must have at least one, so the problem isnt with its length, but there are leading and trailing 0's in the element, so here's something you might want to try...

Right click the EDI party this message should resolve to and select "EDI Properties".

On the left hand side, navigate to "ACK Generation and Validation Settings" under Party as Interchange Sender.

On the panel to the right, there should be a check box that reads "Allow leading and trailing zeroes and spaces".

Check this and click OK to save your settings.

see if that helps.

NickKoller-MSFT at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk EDI and AS2...
# 2

Thanks Nick. Your Help is useful.

But,I have a another question. I have a other EDI File. The SAC05 values is 0.00 (two decimal point).

Biztalk have some erros. How can I do?

Error encountered during parsing. The X12 transaction set with id '240001' contained in functional group with id '24', in interchange with id '000000024', with sender id 'USCECSC ', receiver id 'PRIMAXLTD ' is being suspended with following errors:

Error: 1 (Field level error)
SegmentID: SAC
Position in TS: 37
Data Element ID: SAC05
Position in Segment: 5
Data Value: 0.00
6: Invalid character in data element

Error: 2 (Field level error)
SegmentID: SAC
Position in TS: 72
Data Element ID: SAC05
Position in Segment: 5
Data Value: 0.00
6: Invalid character in data element

kdchen at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk EDI and AS2...
# 3
Are you getting the error even after checking the option "Allow leading and trailing zeroes and spaces" as Nick mentioned?

MohsinKalam–MSFT at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk EDI and AS2...
# 4

The SAC05 is an X12 type N2 field. That defines a numeric field with 2 decimal places and an IMPLIED decimal character. The X12 standard only inserts an actual decimal character in type R (Real) fields. If your client is sending the decimal character then you must either change the schema definition or use a custom pipeline component to remove it. If some partners use the field correctly and some incorrectly you may want to create a copy of the schema using a different namespace. Alternatively, change it to a string and solve the interpretation of the actual value within the BizTalk mapper or in you back-office system (if you need to).

ah, the joys of having standards :-)

Richard at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk EDI and AS2...
# 5

"The SAC05 is an X12 type N2 field. That defines a numeric field with 2 decimal places and an IMPLIED decimal character."

I would like to add on to this that the decimal would only show up in the xml format after disassembly. To make it clear, if the number 123 shows up in EDI format which is of type N2, it will be converted to 1.23 in the XML format. Also the decimal is not allowed in EDI format and an instance having one will be suspended.

Thanks

Mohsin

MohsinKalam–MSFT at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk EDI and AS2...
# 6

Thanks Richard reply.

Actual, I have 2 kind of Schema(xsd) to analysis 2 kind of EDI File.

example:

target namespace XSD File SAC05

http://schemas.microsoft.com/BizTalk/EDI/X12/2006/EGLB2BSC_0 x12_856_N0.xsd 000

http://schemas.microsoft.com/BizTalk/EDI/X12/2006/USCECSC_2 x12_856_N2.xsd 0.00

According to reason that should be all right in this way.

But, now x12_856_N0.xsd is correctly to analysis. x12_856_N2.xsd is incorrectly.

Am I configure SAC05 field mistake?

Thanks all.

kdchen at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk EDI and AS2...
# 7

In the schema that processes the data containing the decimal character, the SAC05 elements must be set as an X12 R type field.

Richard

Richard at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk EDI and AS2...
# 8

Thanks Richard reply. Your answer is work.

But, I found one thing.

When I set R type in SAC05. The Output XML file is double.

What's problem?

Is that normal ?

kdchen at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk EDI and AS2...
# 9

Change the Base Data Type of SAC05 to "X12_R (SimpleType)" and you can process vaules containing decimal characters without problems. See CUR03 for an example.

Richard

Richard at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk EDI and AS2...