none
3 in 1 out or could it be 3 in 3 out? Batching question RRS feed

  • Question

  • If I had 3 835 files that came in and where processed in orchestrations - Each 835 file is split up per transactions - can the Biztalk Batching mechanism be tuned to Batch files back to the original 3 files. Or are all the transactions from each file poured randomly to 1 big bucket??????

    Thanks Again Chris


    vb.net programmer
    Wednesday, September 14, 2011 8:21 PM

Answers

  • "Pull the file back together"

    Your statement is confusing, what do you mean? An EDI Interchange looks like this:

    ISA*...

    GS*...

    ST*...

    ...

    SE*...

    ST*...

    ...

    SE*...

    GE*...

    GS*...

    ST*...

    ...

    SE*...

    GE*...

    IEA*...

     

    Here there are two functional groups, in the first functional group, there are two transactions, in the second functional group, there is only one transaction.

    The party definition is defined by the functional group GS-GE, so you could have two different agreements in on trading partner.

    For simplicity sake, let us just deal with the first Functional Group.

    You are taking about one trading partner, and one agreement.

    BizTalk is going to break up the file into two different messages. If you want both transactions to be in the same output file, you will need to have a convoy orchestration (one that takes in multiple messages and does something with all of them in a looping fashion).

    If you want both transactions to create a separate file (in this case 2), you will not want to create a convoy orchestration, and simply do a messaging based solution (2 messages show up in the message box, the send port picks up the two messages, and two output files are created, or you have orchestrations that are not programmed to pick up multiple messages, and both orchestrations run side-by-side.

    Stephen Thomas created a pretty good demo of what a Convoy Orchestration does and you can read about it here: http://msdn.microsoft.com/en-us/library/ms942189(BTS.10).aspx

     


    Eric Stott [http://blog.biztalk-info.com] - Mark as Answer if this reply does.
    Monday, September 19, 2011 2:57 PM

All replies

  • Hi Cris,

    I would suggest look at this article Batching outgoing EDI Messages. Also which version of BizTalk are you using. 

     

    Using the out-of-box BizTalk Batching the batches are released according to criteria set in the Batch Configuration page of the one-way agreement tab in the Agreement Properties dialog box.

    Batches can be released in any of the following ways:

    • According to a schedule, on an hourly, daily, or weekly basis.
    • When a specific number of transaction sets is available for a group.
    • When a specific number of transaction sets is available for an interchange.
    • When a specific number of characters is available for batch processing.
    • When an external trigger is executed by an application external to BizTalk Server.

     


    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    Blog: http://dpsbali-biztalkweblog.blogspot.com
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.

    • Edited by DPS Bali Thursday, September 15, 2011 6:20 AM typo
    Thursday, September 15, 2011 6:19 AM
  • I am using Biztalk 2010.

    You said out-of-box, does that mean there could be a way?

    Chris


    vb.net programmer
    Thursday, September 15, 2011 1:24 PM
  • I will advise to go through the link. Not sure if you will be able to get three batches based on the files. Are they for the same party?
    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    Blog: http://dpsbali-biztalkweblog.blogspot.com
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.
    Thursday, September 15, 2011 4:37 PM
  • I had read the documentation already. Do you or does anyone know if there is a way to do what I am asking??

    Thanks


    vb.net programmer
    Thursday, September 15, 2011 6:32 PM
  • You cannot do this with out of box batching. You will have to create a custom process for batching this as per your requirement. Also you didnt mention whether the files belong to the same party.. ???
    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    Blog: http://dpsbali-biztalkweblog.blogspot.com
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.
    • Edited by DPS Bali Friday, September 16, 2011 5:36 AM
    Friday, September 16, 2011 5:36 AM
  • Yes, these would be the same party that they were when they came in. So, is this possible using biztalk or is it outside of biztalks scope?
    vb.net programmer
    Friday, September 16, 2011 10:59 AM
  • The batching mechanism takes 1-X number of transactions and batches them into 1 interchange (or 1 file in this case). This is the entire purpose of the batching mechanism.

    What are you attempting to accomplish. You want to process three input files, hold onto each file individually, and then release the 3 files at the same time?


    Eric Stott [http://blog.biztalk-info.com] - Mark as Answer if this reply does.
    Friday, September 16, 2011 4:59 PM
  • Thanks Eric,

    Yes, it is similar to what you said. I am basically trying to see if I can change over my home grown .net processing from the way I did it to use Biztalk.

    3 files come in - some high level totals reports on those. Process file and maybe cleanse out some claims and some other processing. Then the files comming out would have to match transaction wise back to the original 3 files that came in.

    I get files from Payer and after processing put them to the billing system.  The billing system takes 835's but the user wants to manually upload the file when they are sure they have the matching check and other reconsilliation information settled. So, all reports and files have an file ID that I stamp them with and the user uses.

     

    So, they don't want one big file or many small files or mixed up files. Sometimes I split the files up by DTM (date) and they like that. I did not talk about all the other stuff the files go though. And that we have another billing group with there system totally differnt - they don't care.

    I've created my own problem, but that is the way it is.

    I just get the strange feeling that Biztalk was't created with this in mind, Same 3 in Similar 3 out. And I think that is what I am hearing, Biztalk is not geared to do this.

     

    Thanks Chris


    vb.net programmer
    Friday, September 16, 2011 6:30 PM
  • If that is the case, then you don't want to use batching at all, because (obviously) you don't want to batch them up. You will want either a messaging based or non-convoy orchestration.

    I am not sure what else you are looking for. 


    Eric Stott [http://blog.biztalk-info.com] - Mark as Answer if this reply does.
    Friday, September 16, 2011 6:52 PM
  • Sorry Eric,

    But I just don't follow you on the line of "messaging based or non-convoy orchestration". I'm too new to understand what you mean.

    I also see that batching is not what I want. But it seems to me the only way to get an edi  transaction into Orchestrations is to split the file up by (party specified) transactions. Are you saying that I don't need to change this, but that there is another way to pull the file back together.

    Thanks,

    Chris

     

     


    vb.net programmer
    Monday, September 19, 2011 2:44 PM
  • "Pull the file back together"

    Your statement is confusing, what do you mean? An EDI Interchange looks like this:

    ISA*...

    GS*...

    ST*...

    ...

    SE*...

    ST*...

    ...

    SE*...

    GE*...

    GS*...

    ST*...

    ...

    SE*...

    GE*...

    IEA*...

     

    Here there are two functional groups, in the first functional group, there are two transactions, in the second functional group, there is only one transaction.

    The party definition is defined by the functional group GS-GE, so you could have two different agreements in on trading partner.

    For simplicity sake, let us just deal with the first Functional Group.

    You are taking about one trading partner, and one agreement.

    BizTalk is going to break up the file into two different messages. If you want both transactions to be in the same output file, you will need to have a convoy orchestration (one that takes in multiple messages and does something with all of them in a looping fashion).

    If you want both transactions to create a separate file (in this case 2), you will not want to create a convoy orchestration, and simply do a messaging based solution (2 messages show up in the message box, the send port picks up the two messages, and two output files are created, or you have orchestrations that are not programmed to pick up multiple messages, and both orchestrations run side-by-side.

    Stephen Thomas created a pretty good demo of what a Convoy Orchestration does and you can read about it here: http://msdn.microsoft.com/en-us/library/ms942189(BTS.10).aspx

     


    Eric Stott [http://blog.biztalk-info.com] - Mark as Answer if this reply does.
    Monday, September 19, 2011 2:57 PM
  • I read the article, I think I understand. I wanted to cheat and use the source code but it must be compiled under somthing that I can no longer load.

    The pattern I would use is: Figure 15 Repeating receive messaging pattern

    But since I can't see the code I'm not sure how to exactly do it.

    The Append would be helpful do you have the code?

    Many Thanks,

    Chris


    vb.net programmer
    Thursday, September 22, 2011 2:29 PM
  • I am pretty sure it was developed using BizTalk 2004 (Visual Studio 2003), I don't, but you could probably contact Stephen Thomas directly. http://geekswithblogs.net/sthomas/contact.aspx

     


    Eric Stott [http://blog.biztalk-info.com] - Mark as Answer if this reply does.
    Thursday, September 22, 2011 4:22 PM
  • Thanks, Eric

    I know understand most of the process and got it to aggregate my 835's together. I'm just stuck on one last thing. I'm not sure if I should open another thread or not?

    The process is erroring on the edi send. Unexpected ST segement. If I send just one transaction through it works. But if I send a file with multiple it aggregates but chokes on the send pipeline.

    Not sure what to do????

    Regards,

    Chris


    vb.net programmer
    Monday, September 26, 2011 9:04 PM
  • What do you mean when you send a file with multiple, what are you sending through? Are you sending a message like this through?

    ST

    ...

    SE

    ST

    ...

    SE

     

    If you are, you need to wrap it in the EDI envelope message, and then have the EDI ASM overwrite all of the values in the ISA/GS/ST segments:

    ISA

    GS

    <ANY>

    GE

    IEA

     

    I think it is called the envelope schema or something.


    Eric Stott [http://blog.biztalk-info.com] - Mark as Answer if this reply does.
    Monday, September 26, 2011 9:50 PM
  • Thanks,

    I'm not sure how to do this...but I will try.

     


    vb.net programmer
    Wednesday, September 28, 2011 7:52 PM
  • I tryed, got serveral errors, made changes, my latest error is this:

    Reason: A message was encountered with root element name of http://schemas.microsoft.com/BizTalk/EDI/X12/2006/5010/835#X12_00501_835#X12_ServiceSchemaExtension. It could not be classified as an X12 or Edifact message.

    I wish there was a step by step out there on the web for this.


    vb.net programmer
    Thursday, September 29, 2011 1:59 PM
  • the message type doesn't make sense:

    If you are going to roll your own Interchange (instead of using the out-of-the-box batching service do it), you should be sending out a message of type:

    http://schemas.microsoft.com/Edi/X12ServiceSchema#X12_ServiceSchema


    Eric Stott [http://blog.biztalk-info.com] - Mark as Answer if this reply does.
    Thursday, September 29, 2011 2:07 PM
  • I must have something else wrong still getting errors:

    A message was encountered with root element name of http://schemas.microsoft.com/Edi/X12ServiceSchema#X12_ServiceSchema#X12_ServiceSchemaExtension. It could not be classified as an X12 or Edifact message. The root namespace was


    vb.net programmer
    Thursday, September 29, 2011 3:51 PM