Want to release separate Batched EDI file respective to Input file. RRS feed

  • Question

  • Hi Geeks,

    Am using Batch functionality of Biz-Talk to get Batched EDI. Currently am doing below

    1) Input flatfile has multiple records.

    2) Process record one by one and mapped to EDI and send it to Biz-Talk Message Box for Batching.

    3) After all record processed ,i got a Batched EDI when release criteria matched.

    But there is a flaw in this process that is If i placed 2 files in Input folder then 2 separated instance will execute and each instance send EDI into message box.

    Batching Orchestration Batch all edi messages received from both files  into single EDI .

    My question is that is it possible to generate Batched EDI separately for all incoming received flatfile.

    Any trick to do this??

    Thursday, August 25, 2016 5:51 AM

All replies

  • Hi Anurag,

    This has been discussed here:

    Use a loop within the Orchestration. Add each transactions on basis of node. Co-relation set will have to be set up . This is important as the correlation ID will help you to add only the transactions that belong to a particular file. This approach is useful if you have something like a "Orders" file that consists of various "Items". Order ID will be the correlation ID in this case. This will tie up all the "Items" for a particular "Order ID".

    If there is no unique identifier to set correlation ID, you can add unique ID at each transaction level. This ID is same for all transactions in one particular file. Refer the article above.

    Rachit Sikroria (Microsoft Azure MVP)

    Thursday, August 25, 2016 6:38 AM
  • Hi Rachit,

    As i know Biztalk can only create EDI for single transaction ,can not generate multiple transaction into single EDI. For this Biztalk provide EDI batching to club all transaction into single interchange. 

    Correct me if am wrong ?

    Thursday, August 25, 2016 7:05 AM
  • What you are seeing is the correct and expected behavior.  The batches are being generated for the receiver and are not related to any other condition.

    Are you saying that you need to preserve the incoming 'batch' and send out the same records in the same 'batch'?

    First, double check, then triple check this is actually the case.  Very often this is an assumed requirement but no one and no app actually cares, or worse, the business objects to the negative consequences of this scheme after you've implemented it.

    If you have to do this, maybe you should be treating the 'batch' as a single message.  You can do this by using the Preserve Interchange option in the Agreement.

    This Wiki Article, Parts 1 & 2, describe how to work with Preserve Interchange:

    Thursday, August 25, 2016 12:17 PM
  • Hi Anurag,

    Sounds like you are going to need Debatching here,Refer these and see which fits your need

    Debatching (Receive Adapters or Pipeline) Recoverable Interchange Processing - For an interchange (debatched messages from a pipeline), BizTalk allows the option to fail the whole interchange or process just the non-errored single messages. Regards Pushpendra Singh : Please mark the reply as answer or vote it up, as deemed fit.

    Thursday, August 25, 2016 3:36 PM
  • No John,

    Am not receiving EDI ,receiving flatfile , i am generating Batched EDI from that file.

    What i want to do , generate Outbound Batched EDI with respective to all incoming flatfile separately.

    Like :- i have set batched release criteria 30 min.

    1) BizTalk receive 1st flatfile convert into EDI and send to msgbox for Outbound Batched  EDI. and it will release after 30 minutes.

    2) Within 30 minutes another file came and processed by biztalk so Batching Orchestration consume this last file EDI msg from messagebox .

    3) So, Batching Orchestration will release Batched EDI with flatfile 1 & 2 records.

    If this post is helpful, please vote as helpful or marked as answer.

    Thursday, August 25, 2016 3:43 PM
  • The source of the data doesn't matter.

    If you need a 1-to-1 source to Interchange, you use the Interchange Schemas as described in the Articles.

    This is because you actually have only 1 incoming and 1 outgoing message.

    Thursday, August 25, 2016 3:56 PM
  • ll try to implement as you said.

    Friday, August 26, 2016 4:36 AM