none
Dose UNA really required for EDIFACT D01B_CNTCND_EAN003? RRS feed

  • Question

  • Hi,


    An EDI file dose not have field UNA (UNA:+.? ') in the top. When I use this file for my Biztalk 2006 R2 application it will throw following error to the event log.

    The interchange with id '00000000000161', with sender id 'SENDERID', receiver id 'RECEIVERID' had structural error. A likely cause is invalid segment terminator due to missing Carriage Line and/or Line Feed seperators. The part after the error is being suspended, refer to Suspended Queue for details.

    If I put UNA:+.? ' to the top mannually, it is working fine. But my trading partner saying UNA  is not mandatory.

    Pls advice me which actions to take and/or any configurations in Biztalk when absense of this field in the EDI file.
    Thursday, December 10, 2009 5:23 AM

Answers

  • Hi,
        UNA segment is used for delimiter information in the EDIFACT file. But it is optional and if it is not present in the file the edi-receive pipeline takes delimiters from the pipeline component of edi-receive. You can also customize it according to your need.

    In the receive location for pipeline when you choose EDI-receive pipeline the you can click on a small button(...) just near to this drop down box. There you will see EFACT delimiters option and there you can give your delimiters' Hexadecimal codes.


    Thanks
    Gyan
    If this answers your question, please mark it as "Answered".
    • Marked as answer by warnajith Tuesday, December 15, 2009 12:01 PM
    Monday, December 14, 2009 3:44 PM
  • Hi Gyan,

    I just followed related one of early post of you http://social.msdn.microsoft.com/Forums/en/biztalkediandas2/thread/0518d1a4-a1ca-457f-8f58-1888e3d23227 and just copy & paste  value to the "Efact Delimeters"and restart the server. It is working.

    Thank you.
    • Marked as answer by warnajith Tuesday, December 15, 2009 12:03 PM
    Tuesday, December 15, 2009 12:00 PM

All replies

  • Hi,
        UNA segment is used for delimiter information in the EDIFACT file. But it is optional and if it is not present in the file the edi-receive pipeline takes delimiters from the pipeline component of edi-receive. You can also customize it according to your need.

    In the receive location for pipeline when you choose EDI-receive pipeline the you can click on a small button(...) just near to this drop down box. There you will see EFACT delimiters option and there you can give your delimiters' Hexadecimal codes.


    Thanks
    Gyan
    If this answers your question, please mark it as "Answered".
    • Marked as answer by warnajith Tuesday, December 15, 2009 12:01 PM
    Monday, December 14, 2009 3:44 PM
  • Hi Gyan,

    Thanks for your reply. It does make sense to me. I set "Efact Delimeters" in EdiReceive pipeline configuration as

    0x3A, 0x2B, 0x2E, 0x3F, 0x20, 0x27, 0x0D0x0A
    for :+.? '{CRLF} respectively. (UNA1,UNA2,UNA3,UNA4,UNA5,UNA6 and UNA6 suffix.

    Then I got following error. (This error will come if i set UNA6 suffix to 0x0A also.)

    There was a failure executing the receive pipeline: "Microsoft.BizTalk.Edi.DefaultPipelines.EdiReceive, Microsoft.BizTalk.Edi.EdiPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "EDI disassembler" Receive Port: "MAS_REC_PORT" URI: "C:\Brandix\testing\My EDI LAB\*.edi" Reason: Object reference not set to an instance of an object.

    Then If I remove UNA6 Suffix or set to 0x0D ({CR}) it will give me same error as my  original question.

    How can I get rid of this?
    Tuesday, December 15, 2009 6:32 AM
  • Hi Gyan,

    I just followed related one of early post of you http://social.msdn.microsoft.com/Forums/en/biztalkediandas2/thread/0518d1a4-a1ca-457f-8f58-1888e3d23227 and just copy & paste  value to the "Efact Delimeters"and restart the server. It is working.

    Thank you.
    • Marked as answer by warnajith Tuesday, December 15, 2009 12:03 PM
    Tuesday, December 15, 2009 12:00 PM