none
BT 2010 - EDIFACT Batching - EDI Sendpipe RRS feed

  • Question

  • Hi,

    I have set up a Batching Process via an Agreement, bound it to a ReceivePort and startet. Runs fine so far.
    At the ReceivePort, it reads EDIFACT Files generated by another InHouse-Product, 1 Msg per File. (RecvPipe = EdiReceive)
    These Msges then gets Batched to one "big" Interchange.

    Now the Problem is, if i set the switch to write out UNA Segment with Space in UNA5 and ? in UNA4 the batched Interchange has a ? befor every Space (eg. in FTX Segment). Writing out the File via Passthrough Sendpipe i can see that the EdiSend Pipeline must set these ?, because they are not in the File from Passthrough.

    But EdiSend only does this with batched Interchanges. A normal Interchange (1 Msg - no Batching Orchestration involved) gets written out with UNA and UNA5 = Space  without setting ? before every Space.

    Because UNB2 Sender und Receiver Ident. are correct and UNB1.1 & UNB2.1 are set correct, i am sure the right Agreement ist used in Batching and non Batching Process (both use the same agreement)

    Many thanks for your help !

    Friday, February 18, 2011 10:02 AM

Answers

  • Hello Everyone,

    BizTalk Server 2006 R2 and above is the version when we initially started building more EDI functionality with more partner options. Delimiter discovery is dynamic in BizTalk R2 EDI and above. It is controlled by the UNA string in the document. Since UNA is optional, if not present, the R2 engine goes to pipeline component properties in the EDI Receive Pipeline to parse the incoming document against the set of specified delimiters. So the set of documents not having a UNA string will all be parsed against the same pipeline properties (and not per party).

    Please review the following link for details on UNA segmenting:

    http://technet.microsoft.com/en-us/library/cc948795(BTS.10).aspx

    UNA default delimiters:

    : (colon)Sub-elementseparator
    + (plus sign)Element Separator
    . (period)Decimal Notation
    ? (question mark) Release Indicator
    (space)Repetition Separator
    ' (single quote)Segment Terminator.

    Batching requires a release indicator to not interpret every space as a seperator.

    The following occurs occurs with UNA segmenting with batching:
    _ UNA4 is your release indicator
    _ UNA5 is your repeitition separator
    _ In batching there are repeating transaction sets. If space is used to separate them, then we need to make sure space elsewhwere isn't interpreted as a separator
    _ The only way to escape those space characters is to add ? in front of every space, except for when it is actually a separator


    If you feel that there is a bug in the product, please create a support case. Note that if a bug is found you will not be charged for the incident. Your question falls into the paid support category which requires a more in-depth level of support. Please visit the below link to see the various paid support options that are available to better meet your needs. http://support.microsoft.com/default.aspx?id=fh;en-us;offerprophone

    Thanks,

    Belinda

    Thursday, March 3, 2011 7:40 PM
    Moderator
  • Morten,

    Product is working as designed.

    If you feel that there is a bug in the product, please create a support case. Note that if a bug is found you will not be charged for the incident. Your question falls into the paid support category which requires a more in-depth level of support. Please visit the below link to see the various paid support options that are available to better meet your needs. http://support.microsoft.com/default.aspx?id=fh;en-us;offerprophone

    Thank you,
    Belinda

    Friday, March 25, 2011 1:10 PM
    Moderator

All replies


  • Hello,

    Is the concern with normal interchange does not have the "?" is not sent before every space? Are any error messages being generated when testing a normal interchange?

    Can you provide a sample of what you have now and what you are expecting it to look like?

    Thanks,

    Belinda

    Wednesday, February 23, 2011 5:47 PM
    Moderator
  • I am experiencing the exact same problem. Release chars are inserted in front of any UNA5 char, and only when using batching!

    This is wrong for a number of reasons:

    - It only happens when using batching, if it was correct to release all una5 chars, it should happen for both batching and non-batching

    - una5 chars should be ignored for syntax versions 3 and below (I have tested with both 2 and 3) see link:

    http://social.msdn.microsoft.com/Forums/en/biztalkediandas2/thread/58916194-83b2-4c3d-8555-d4f84dbc783d

    - BizTalk 2006 R2 didn't have this behavior when batching. (Not sure about 2009)

     

    I believe this is an error in BizTalk EDI, and if not corrected, I will not be able to do EDIFACT batching for my customers using BizTalk 2010, since many of them use both batching and a space for una5.

    Morten la Cour

    Saturday, February 26, 2011 2:26 PM
  • Sort of glad to see this. I was wondering if I had simply ignored this during development, but it only occured after we started applying batching during testing.

     

    I can confirm that we also have this issue with BizTalk 2010 (developer edition)

    Tuesday, March 1, 2011 2:03 PM
  • So MS: Can we get a fix for this. Batching is pretty important for EDIFACT and many customers have spaces in the UNA5 segment?

     

    Morten la Cour

    Wednesday, March 2, 2011 8:38 AM
  • I may have detected another defect with batching.

     

    We receive edifact messages with values not in conformance with EdiValidation, so I have to set EdiValidation to false in pipeline. This works fine, but it seems like the batching orchestration is unavare of this and performes validation on the messages it batches up. Since the messages have infact invalid content I get the "Unexpected character detected" error from "BizTalk EDI Application 1". If this is the case I consider it a major problem since I have no place to override validation on the batching orchestration as far as I know.

     

    I posted this here since it is related to a problem with batching in bts2010. I will verify this and create a new thread.

    Wednesday, March 2, 2011 12:48 PM
  • I am pretty sure that this "issue" has been there since 2006 R2, whereas the una5/batching is new (again: not sure if it was there in 2009)

    Morten la Cour

    Wednesday, March 2, 2011 2:20 PM
  • Hello Everyone,

    BizTalk Server 2006 R2 and above is the version when we initially started building more EDI functionality with more partner options. Delimiter discovery is dynamic in BizTalk R2 EDI and above. It is controlled by the UNA string in the document. Since UNA is optional, if not present, the R2 engine goes to pipeline component properties in the EDI Receive Pipeline to parse the incoming document against the set of specified delimiters. So the set of documents not having a UNA string will all be parsed against the same pipeline properties (and not per party).

    Please review the following link for details on UNA segmenting:

    http://technet.microsoft.com/en-us/library/cc948795(BTS.10).aspx

    UNA default delimiters:

    : (colon)Sub-elementseparator
    + (plus sign)Element Separator
    . (period)Decimal Notation
    ? (question mark) Release Indicator
    (space)Repetition Separator
    ' (single quote)Segment Terminator.

    Batching requires a release indicator to not interpret every space as a seperator.

    The following occurs occurs with UNA segmenting with batching:
    _ UNA4 is your release indicator
    _ UNA5 is your repeitition separator
    _ In batching there are repeating transaction sets. If space is used to separate them, then we need to make sure space elsewhwere isn't interpreted as a separator
    _ The only way to escape those space characters is to add ? in front of every space, except for when it is actually a separator


    If you feel that there is a bug in the product, please create a support case. Note that if a bug is found you will not be charged for the incident. Your question falls into the paid support category which requires a more in-depth level of support. Please visit the below link to see the various paid support options that are available to better meet your needs. http://support.microsoft.com/default.aspx?id=fh;en-us;offerprophone

    Thanks,

    Belinda

    Thursday, March 3, 2011 7:40 PM
    Moderator
  • So if you say that this is working as intended, there must be an issue in 2006 R2 and 2009, since these versions didn't place a release char in front of spaces. So are you going to fix these versions instead?

     

    Morten la Cour

    Friday, March 25, 2011 8:20 AM
  • Morten,

    Product is working as designed.

    If you feel that there is a bug in the product, please create a support case. Note that if a bug is found you will not be charged for the incident. Your question falls into the paid support category which requires a more in-depth level of support. Please visit the below link to see the various paid support options that are available to better meet your needs. http://support.microsoft.com/default.aspx?id=fh;en-us;offerprophone

    Thank you,
    Belinda

    Friday, March 25, 2011 1:10 PM
    Moderator