The Problem what I m facing can be formulated in the following way :
We are dealing with two X12 transaction set 850 & 860.
Everytime when our getFromVan service get invoked , it picks a flatfile from VAN & submits to TN
In TN we have defined our custom TPA which have split option on Interchange Header. But still we are getting different documents for different transaction set while I think we should get documents of different interchange header, & giving the impression that our custom TPA is not getting used & still TN using default TPA which has split option as transaction.
Now in processing rule, we gave X12 Envelope as document type. so whenever an envelope documents comes to TN it triggers the processing rule & in turn different processing services for different Transaction type like 850/860.
But we are facing another problem that because envelope may contain 850 or 860, how can we distinguish between two transactions because TN does not gives any isolated field in bizdoc which could specify the transaction type. But along with bizdoc document , TN also gives some other pipeline variables like /editn_env/group/transaction/type & this is the variable we are using currently for resolving the Transaction type. But I m not sure that whether it is enough reliable variable to use.
And in any case we dont want to call our processing service multiple times for multiple ST documents, what we will have to do if we use X12 4010 850 as document type in processing rule.
Please let me know if u find any solution of this business case.
You probably do want to split at the transaction level. You would have a processing rule for the X12 Envelope which would validate and generate a functional acknowledgement. The X12 Group is typically ignored. The X12 4010 850 and X12 4010 860 would each trigger a processing rule (probably a different rule for each depending on how you’re going to process them). This would execute a service which processes the individual ST (transaction) segments.
Actually if i use split at transaction level(what default TPA does) then it gives me multiple documents for multiple SST parts present in group. & in this if I use X12 4010 850/860 as document type in processing rule then it will call the processing service multiple times each time for one ST document what we dont want to do…
The usual reason that a TPA isn’t used is due to identifier mismatches–the TPA sender/receiver doesn’t match the sender/receiver in the received document. Double-check your identifiers in the profiles and in the document. That said, is there a reason you don’t want TN to do the splitting?
If you’re not going to use TN to do the splitting, then you have to do all the work yourself. The bizdoc of the X12 envelope has no idea what the transaction sets are–because it hasn’t split them to look at them. If you want to process at the envelope level, you’re going to need to split and determine the type of each transaction set yourself. Don’t reinvent the solution here–TN already has all you need to do the splitting and the transaction set-specific processing.
This var won’t be set for an X12 envelope document.
Why not? You’ll have multiple transaction sets, so it makes sense that the service that processes that type of transaction set will be called multiple times.
The best approach to this technical solution (this isn’t a business case) is to let TN do the splitting. Use the TPA settings to generate FAs. Have a rule to process transaction sets. You don’t need a rule for envelopes. You can have a rule to ignore groups. Let TN do the work it was designed for. Unless you have some very specialized processing needs, you shouldn’t need to process the envelope yourself.
Right , we r processing all the instances of ST’s in single call to processing service.
And I have rechecked my TPAs they have corrent sendr & receiver id…even I can see them in Transaction analysis, I dont know why it seems that it is not working.
Actually as I had said currently my Custom TPA is not working so default one is getting used which have transaction level split. so I am getting different ST documents with one envelope & one group doc. I m using Envelope doc in processing rule & processing it in processing service called be processing rule. & right now I m getting /editn_env/group/transaction/type in the pipeline which I m using for distinguishing the transaction type.