none
Biztalk EDIFACT processing RRS feed

  • Question

  • I'm trying to process an edifact file using Biztalk. I have setup a very simple map which is applied to send port. However, Biztalk complains about the message. I tried searching the net, but without any result. You can see the edi file here. I have setup parties and agreement using EDIFACT protocol, though I'm not sure how correctly I did. Whenever I try to provide biztalk with that message, I can see in event log the following message:

    A message received by adapter "FILE" on receive location "Receive
      Location1" with URI "C:\Temp*.edi" is suspended.   Error details: An
      output message of the component "Unknown " in receive pipeline
      "Microsoft.BizTalk.Edi.DefaultPipelines.EdiReceive,
      Microsoft.BizTalk.Edi.EdiPipelines, Version=3.0.1.0, Culture=neutral,
      PublicKeyToken=31bf3856ad364e35" is suspended due to the following
      error: 
           Error: 1 (Field level error)     SegmentID: UNB  Position in TS: 1
       Data Element ID: UNB5   Position in Segment: 5  Data Value:     37:
      Invalid character(s) found in data element.  The sequence number of
      the suspended message is 1.    MessageId: 
      {DDE54B67-8907-49A2-BDE9-4763495B9B87}  InstanceID:
      {892EC28B-AC4C-4EA4-8DCC-C49D5FC2869C}

    I'm not sure what it means. Any help, indication would be greatly appreciated.

    Thanks.


    Friday, August 10, 2012 10:58 AM

Answers

  • The errors where data-values are numeric (16500.000 for instance) generates an error because leading and trailing zeros are not allowed in the EDIFACT standard. You can, however, allow this pr. Agreement in the Party settings in BizTalk.

    As for the other errors, they are generated because fields contains values that are not allowed according to the EDIFACT standard. You will have to look through the CUSCAR 95B documentation for further info.

    http://www.stylusstudio.com/edifact/D95B/CUSCAR.htm

    When you figure out the mismatch between what is in the document and what is allowed, you have two options:

    -Get the originator of the document to change the value, so that valid EDIFACT is sent (not likely to happen though!)

    -Change the BizTalk EDIFACT Schema, so that the illegal values becomes legal.

    Morten la Cour


    • Marked as answer by Dato0011 Friday, August 10, 2012 2:45 PM
    • Edited by la Cour Saturday, August 11, 2012 5:23 AM
    Friday, August 10, 2012 2:28 PM

All replies

  • UNB5 stands for Interchange control number. Can you verify if you are passing correct data. Verify length as well (9). Also make sure each time you submit the message change this value (if it was processed successfully)

    Sample Value you can try : "000000050"

    Friday, August 10, 2012 11:40 AM
  • Thank you Anand, could you please provide with more details? I don't know how to set the length. I guess it should be defined by EDIFACT standard (correct me if I'm wrong).  :(

    Thanks again 

    P.S. I also tried 000000050 but I've got same result  
    • Edited by Dato0011 Friday, August 10, 2012 11:58 AM
    Friday, August 10, 2012 11:53 AM
  • The UNB5 segment can contain alpha-numeric characters and has a max length of 14 characters. 

    In your first example it seems that there are blanks/spaces before the number 37? Also it seems strange that the parser considers ":" as part of the value. What are you using as "Component data element separator" (UNA1)? Default is ":"

    If your document doesn't contain a UNA segment, this can be found on the Receive Pipeline under "EfactDelimiters".

    Morten la Cour

    Friday, August 10, 2012 12:42 PM
  • Thanks la Cour. I'm not sure I understand. Here's UNB header.

    UNB+UNOA:1+MSC+310037+120807:1743+10'

    I don't see an blanks/spaces before the number 37, only zeroes. And how do you know that parser considers ":" as a value? Thanks :)

    Friday, August 10, 2012 1:03 PM
  • Your UNB5 segment reads "10" and not "37:", so there must be something wrong with your separators. Does the document contain a UNA segment? And if so, can you post it? If it doesn't, can you post the "EfactDelimiters" from your EDIReceive Pipeline.

    Morten la Cour


    • Edited by la Cour Friday, August 10, 2012 1:30 PM
    Friday, August 10, 2012 1:21 PM
  • Yes, I posted it in the first post, here's the link http://dl.dropbox.com/u/3055964/MSCU10_AYSE%20NAZ%20BAYRAKTAR_1238A_POTI.EDI :)

    and here's the UNA segment:

    UNA:+,?'


    • Edited by Dato0011 Friday, August 10, 2012 1:53 PM
    Friday, August 10, 2012 1:48 PM
  • You need to fill out UNA5 as well (usually a space), so if your UNA segment looks like this "UNA:+,? '" (space between ? and '), then it works!

    Morten la Cour

    Friday, August 10, 2012 1:56 PM
  • Thanks la Cour again. Could you let  me know where should I change the UNA5 character? in the document file or in Biztalk configuration. Sorry for those dumbish questions, I'm really a newbie in this area.

    However, I already tried changing UNA segment you proposed in the document, but I've got many many errors:

    Error encountered during parsing. The Edifact transaction set with id '15' contained in interchange (without group) with id '10', with sender id 'MSC', receiver id '000000050' is being suspended with following errors:
    Error: 1 (Miscellaneous error)
        29: Invalid count specified at interchange, group or message level

    Error: 2 (Field level error)
        SegmentID: EQD
        Position in TS: 8
        Data Element ID: C22401
        Position in Segment: 4
        Position in Field: 1
        Data Value: 2210
        12: Invalid value in data element

    Error: 3 (Field level error)
        SegmentID: MEA
        Position in TS: 10
        Data Element ID: C17402
        Position in Segment: 4
        Position in Field: 2
        Data Value: 25167.000
        37: Invalid character(s) found in data element

    Error: 4 (Field level error)
        SegmentID: EQD
        Position in TS: 13
        Data Element ID: C22401
        Position in Segment: 4
        Position in Field: 1
        Data Value: 4510
        12: Invalid value in data element

    Error: 5 (Field level error)
        SegmentID: MEA
        Position in TS: 15
        Data Element ID: C17402
        Position in Segment: 4
        Position in Field: 2
        Data Value: 16500.000
        37: Invalid character(s) found in data element

    Error: 6 (Field level error)
        SegmentID: EQD
        Position in TS: 18
        Data Element ID: C22401
        Position in Segment: 4
        Position in Field: 1
        Data Value: 2210
        12: Invalid value in data element

    Error: 7 (Field level error)
        SegmentID: MEA
        Position in TS: 20
        Data Element ID: C17402
        Position in Segment: 4
        Position in Field: 2
        Data Value: 20958.000
        37: Invalid character(s) found in data element

    Error: 8 (Field level error)
        SegmentID: EQD
        Position in TS: 23
        Data Element ID: C22401
        Position in Segment: 4
        Position in Field: 1
        Data Value: 2210
        12: Invalid value in data element

    and 10 times more :)

    Any idea what could be wrong?

    Again, Thanks for your time.


    P.S. you think that the document itself is invalid?
    • Edited by Dato0011 Friday, August 10, 2012 2:17 PM
    Friday, August 10, 2012 2:14 PM
  • The errors where data-values are numeric (16500.000 for instance) generates an error because leading and trailing zeros are not allowed in the EDIFACT standard. You can, however, allow this pr. Agreement in the Party settings in BizTalk.

    As for the other errors, they are generated because fields contains values that are not allowed according to the EDIFACT standard. You will have to look through the CUSCAR 95B documentation for further info.

    http://www.stylusstudio.com/edifact/D95B/CUSCAR.htm

    When you figure out the mismatch between what is in the document and what is allowed, you have two options:

    -Get the originator of the document to change the value, so that valid EDIFACT is sent (not likely to happen though!)

    -Change the BizTalk EDIFACT Schema, so that the illegal values becomes legal.

    Morten la Cour


    • Marked as answer by Dato0011 Friday, August 10, 2012 2:45 PM
    • Edited by la Cour Saturday, August 11, 2012 5:23 AM
    Friday, August 10, 2012 2:28 PM
  • Thank you very much, it's much clear now. :)
    Friday, August 10, 2012 2:45 PM