Ever thought how Oracle's TCA will look in the future?
TCA API's brought a fresh approach to stnadardise DML's in Oracle Apps. I think this is one of Oracle's best written modules in APPS, but the flaws that exist are primarily because Oracle developed TCA a bit too late, after the other modules like Payables, Receivables etc.
What is TCA
TCA stands for trading community architecture. As the name suggests, any business with which a company does or did trading or can potentially do trading in future can be in Oracle TCA.
With whom can we possibly trade with in Oracle Applications? To name a few....
We sell our products/services & bill customers using Order Management & Receivables
They sell us their goods(PO & iProc) and we pay their Payables invoices in Oracle
These can be special customers, or pseudo vendor if they even sue you, as you make them payment.
Banks can be paying us interest, or charging penalties, or selling us products.
5. Insuance Company
This is Interesting. When you buy their policy, you become their customer. However when you make a claim, you become their customer(as you get paid).
Even more interesting than 5 above. They are your customers, as you would bill them. They can become your staff latter. Or they can become your vendor if they become independent contractor latter by selling their services to you. Even more, they can become your student again(for post-grad), after resigning as an employee.
I have worked upto Release 11.5.10, hence can analyse Oracle's TCA roadmap on that basis.
Financial Services.. vendor or customer or both !
Ever wondered why Oracle Applications eBusiness Suite has not managed to penetrate financial services deeply as yet? Well, one of the reasons is that Financial services make no distinction between a vendor and a customer. For them, whomsoever they trade with, becomes their counterparty. Guess what, Oralce have their suppliers and customers in diffrerent tables and different schemas! Can you imagine that you call up your insurance company to make a claim, and what if they are unable to identify you for the premiums that you have been paying. Is the excuse that ooh well, let me search for you in the customer tables..oops poor fellow will keep switching between Vendor and Customer screen.
Four years ago, when working for an Insurance Sector client of mine, I had raised this query with Oracle ( as a Tar ). The response came that merger of Vendors and Customers in Oracle Apps will happen in Release12. I can't wait for Release 12 to be released, however I doubt my current client will be an early adopter(but hey you never know).
Before you start pulling your hair with...oops what will happen to hundreds of custom reports that reference po_vendors and po_sites_all? My response is that Oracle are hopefully/surely going to provide views with exactly the same names, but these views will be based on TCA tables like HZ_PARTIES, HZ_PARTY_SITES etc. Surely, if you have written custom processes that modify vendor data, then good news is that such code can be translated to TCA API's, and hence will be supported by Oracle in future.
Untill 11.5.10 banks were stored in Oracle Payables. I hope banks are moving into TCA from Oracle R12 onwards or latest by Fusion. The bank branches can become the TCA Party Sites. Its not that Oracle designed their Banking model poorly, the unfortunate fact is that Oracle Payables was conceived much prior to Oracle TCA. Although I must admit that their banking model is hardcoded with columns like SWIFT Code, IBAN etc. What if a new payment method gets popular in future? Shouldn't Oracle be managing these payment types using Configurable Attributes? We will see what happens in Fusion.
For those who do not know, Oracle came out with lovely little product named Oracle Treasury. It is a good product for back office deal/financial instruments, but it has its own flaws w.r.t oracle TCA. At least when I worked on this product(4yrs ago). Four years ago Year 2002, Oracle Treasury's product director visited my client, and I raised a question regarding merger of counterparty to Oracle TCA. His response was to raise a enhancement request, and enhancement I raised. I am waiting to see whether Oracle Treasury counterparties become a part of TCA in Release 12. If not Release 12, I am certain this will happen in Oracle Fusion. A brief example for why this is important. Imagine you are a bank, that you have traded some financial instruments with a counterparty. What if you then supply some consultancy service to that counterpary. Also, what if you are selling insurance products to that counterparty. Imagine if the counterpary has billions of dollars being traded with you. Would you ever with such trading party send a rash reminder that their $1000/- consulting charges are outstanding...blaah for 6months...blaah will blacklist you...blaah will report to credit rating agency........No fool will do that, but how will poor Oracle Receivables system know that this customer happens to be an important trading partner.
Students become an Employee
Students are currently stored in TCA as parties. Please leave a comment to this post, if you believe there is a standard way of hiring that student as an Employee. Well, if you can't translate a TCA HZ_PARTIES record into HR's PER_PEOPLE_F, then imagine this situation....A student studies at a college where they are also registered in TCA. Assume that this student has unpaid debt of $25,000/-. Will you offer such candidate a job? Hey..but how is HR supposed to know those details....HR will create a new record in per_people_f, with new Employee Number, which in turn will create a new HZ_PARTIES record. Imagine if this student was from Asia or Africa....poor Oracle Receivables will send reminders for invoice payment to far off countries, without knowing that the person works just there.....Please correct me if my understanding is wrong here...
I can see that Oracle is finally getting there, hence I can't wait for Release 12. Most of these flaws are not because of poor design from Oracle. These flaws exist because TCA made a late entry into Oracle's ERP.
The good thing is that all these separate entities will be moving into TCA. However the challenge will remain that when TCA becomes single data hub for all kinds of trading partners, how will Oracle secure its data , given that there will be multiple modules using the same set of data. Will the security be at Record Level or Column Level or will security be configurable ?? I will publish an article on that soon....