none
Splitting a Batched EDI Interchange RRS feed

  • Question

  • I have an EDI application that is processing claim files. It is working great. If a file comes in with 20 claims, I have it to send them split to another destination, each claim in an individual file. However, I have one minor problem when there is a file that has one non-compliant claim. What the application does is fail the entire file without routing the good messages to the desired destination. I just want the good transactions to route as normal and the bad ones to be routed based on failed messages routing. These are my properties. Any ideas?

    • Recieve locaiton: EDI 
    • Receive location: PreserveInterchange: False
    • Send Port : XML
    • Party: Split interchange as transactions sets-suspedn transaction sets on error
    • Schemas all have the split property set to yes

    Monday, July 18, 2011 5:13 PM

Answers

  • Carlos,

     

    Its going to depend on how the incoming claims are batched. If each claim is in its own ST-SE, then each claim can be rejected.

    If each claim is batched under a single ST-SE (repeating 2300 or 2000C loops) then its proper to reject them all.

    The 997's finest resolution (for lack of a better way to put it) is a ST-SE...It can't reject claims within an ST-SE. If you have a syntactic error(997 error) within an ST-SE then the entire thing must be rejected. If its a business layer rejection (unknown provider, etc...) then you would be able to reject the individual claim(with a 277U) and accept the others... but your rejection would reference the claim# (CLM01).

    So BTS might be correct rejecting the entire set of claims...

     

    Chris

    • Marked as answer by Carlos T. _ Monday, July 25, 2011 12:09 PM
    Monday, July 25, 2011 11:04 AM

All replies

  • Hi Carlos,

    Please make sure that, in the party configuration under the 'Inbound batch processing Option" -Split interchange as Transaction Sets-Suspend Transaction Sets on Error is selected.

    This is working fine in one of my past project. Valid transactions will route as normal and invalid ones will be routed based on the failed message routing(for this Enable routing for failed messages at the Receive port).

    To know more details about Spilitting a batched EDI interchange, have a look at the below MSDN link

    http://msdn.microsoft.com/en-us/library/bb246013(v=bts.10).aspx

    Rgds,

    Abhijit

     


    Abhijit Mahato - Microsoft Community Contributor 2011 - MCTS BizTalk Server blog: http://abhijitmahato.wordpress.com/ Please "Mark as Answer" if Post has Answered the Question
    Tuesday, July 19, 2011 8:00 AM
  • Thank you for the response. I have all tha set up, but there is something I must be missing. For some reason if there is one bad transaction in a file with 10 claim, all of them get routed using the failed routing messages and none of them get processed even. I have created a file that has all but one bad transaction and tested it and I can not get them split. I have tried this on other servers and I am getting the same result. I checked the party and I am not able to make sense of why this is happening.

    I went ahead and suspended them to see what was happening and I think the reason they are failing is because of the error below. However, it does not make sense because splitting them would cause the sequence numbers to change. However, I know that the message below is compliant. Any ideas?

    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:
         Unknown .
     The sequence number of the suspended message is 3.

    One thing to note is that the send port that I have is xml. If I set it to EDI, it does split them correctly, however, all of the messages also end up going to the folder that is subscribed to the failed routing.

     


     

     




    Tuesday, July 19, 2011 12:18 PM
  • Can you please help me with some more information i.e. the message type of the suspended message. Sometimes depending on the ISA settings EDI engine generates ack and we may not have configured the required subscription for the same. These messages are liable to be suspended.

     


    Best Regards, Vishnu
    Tuesday, July 19, 2011 7:08 PM
  • Hi Vishnu;

    The message is a claim 837 file (X12_00401_837_P). Basically, the process will work fine as long as the file is compliant. What I have is an EDI receive location and the send port is XML. I have the defaults for the ports. If I take the file and I delete one segment out of one claim to make one claim non-compliant, and I drop the same file, what BizTalk does is fail the entire file. In other words, the claims are split into individual files, but all of the claims are subscribed to the failed routing and biztalk will put all the good and the bad claim all in the failed directory.

    However, I tried another schenerio. What I did was change the send port to EDI. What happens now is that only the good messages are passed to the good directory. That is very good. However, the problem I have is that every single claim in that file is also passed to the bad diretory because biztalk subscribed all the messages as failed regardless if they were good. Therefore, now I have duplicates on the bad directory.

    This makes no sense to me and I can not figure out how to configure. Any help is greatly appreciated.


    Tuesday, July 19, 2011 8:07 PM
  • Has anyone seen this problem before? Is anyone able to split the good transactions to one folder and only the bad transactions to another? Any help is appreciated.
    Please Indicate "Mark as Answer" if this Post has Answered the Question
    Thursday, July 21, 2011 12:44 PM
  • Hi, Carlos

    I am trying to involve someone familiar with this topic to further look into it. this may be some time dalayed. Appreciate your patience.

    Regards
    MSDN Community Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    This posting is provided "AS IS" with no warranties, and confers no rights. My Blog: http://xhinker.com
    Microsoft Windows Workflow Foundation 4.0 Cookbook
    Monday, July 25, 2011 9:35 AM
    Moderator
  • Carlos,

     

    Its going to depend on how the incoming claims are batched. If each claim is in its own ST-SE, then each claim can be rejected.

    If each claim is batched under a single ST-SE (repeating 2300 or 2000C loops) then its proper to reject them all.

    The 997's finest resolution (for lack of a better way to put it) is a ST-SE...It can't reject claims within an ST-SE. If you have a syntactic error(997 error) within an ST-SE then the entire thing must be rejected. If its a business layer rejection (unknown provider, etc...) then you would be able to reject the individual claim(with a 277U) and accept the others... but your rejection would reference the claim# (CLM01).

    So BTS might be correct rejecting the entire set of claims...

     

    Chris

    • Marked as answer by Carlos T. _ Monday, July 25, 2011 12:09 PM
    Monday, July 25, 2011 11:04 AM
  • That makes sense. Thank you. Given that some of our bussiness rules allow for some TP's to process claims individually, I am using a failed routing to split those claims and then re-process. It works very well, but as you stated, the 997 is not reflective. However, we use a custom report anyways so I think this solution will work. Thank you for the response.
    Please Indicate "Mark as Answer" if this Post has Answered the Question
    Monday, July 25, 2011 12:08 PM