This content has been marked as final. Show 44 replies
I have some basic questions about TCA tables which make me confusion at all time.
Let’s take a case and try to answer your questions. Diamond Electronics is a company which sells electronic items. They sell those electronics wholesale and retail. Anybody can buy them online or at their stores.
They sell wholesale to other companies like WINTER HOTELS.
They sell retail to direct persons like you i.e. SRI KRISHNA.
OK. Now, they are implementing Oracle Applications as their ERP system.
What could be difference between customer and party? Give some examples.
You go to Diamond Electronics shop and ask for some information about an electronic item. You are interested to buy, but first you want to get information and decide later. They will show you the item and explain the details and after that they take your personal details, so that they contact you later or it would be easy when you buy later. That’s part of Customer Relationship Management. When they enter in Oracle ERP, You become a party in TCA, not customer because you have not yet decided to purchase.
The same case happens, if somebody from WINTER HOTELS goes to them and tells them that, he is representing WINTER HOTELS and they are planning to buy lot of electronic items to their new hotel. Here, 3 things are entered in Oracle TCA. WINTER HOTELS information, the person (ex: JOHN) who is representative of WINTER HOTELS, and the relationship between that person and the WINTER HOTELS. Here WINTER HOTELS is a party, JOHN is party contact and the relationship is AGENT.
After sometime, you or WINTER HOTELS decided to buy electronics and you go again and make a purchase. That time, you become customer.
What could be difference between customer, customer accounts and customer account sites?
Customer is already explained above.
You are buying 2 items, but you want them to go to different places and billing address is also different. This way, it is easier for your financial consolidation. So, you give them different credit cards and different shipping and billing addresses. That time, they would create 2 customer accounts for you.
The same case may happen to WINTER HOTELS, they may have Corporate Hotel Address, but they want to these expenses to be calculated at their new hotel. So they create a new account based on this new hotel address.
Generally, site is logical representation of the location. Their new hotel physical address is location and it can be represented as site. Now, depending on the use it can be BILL-TO or SHIP-TO. The site use determines where the items to be shipped physically and where the invoice should go.
What could be difference between site and location?
Location is the physical address which needs to be created first. Then attach account site to the address based on the usage. Usage is at the site level and not at the location level. One physical address can be site for COMMUINCATION, CORPORATE, BILL-TO , SHIP-TO etc. I would say, site determines the purpose of the physical location.
What could be difference between contacts and contact points?
In the above case, JOHN is the Contact of WINTER HOTELS.
Contact Points are ways to reach that person. Like his phone numbers, email address etc. They also take phone numbers of WINTER HOTELS.
These contact points applicable to you also. When you give them your phone numbers while buying the item, they are attached to your party record as contact points.
What could be difference between addresses and address uses?
Not clear. Address is the physical address of the party. I never heard the term address use. In TCA, we have party site use and account site use. They determine the usage of the address determining at what stage you are, either at party level or customer level.
What could be difference between contacts and contact roles?
In the above case, JOHN is the Contact of WINTER HOTELS.
Contact Role is, what is the role of JOHN in the WINTER HOTELS? He is employee of WINTER HOTELS, but it is not mandatory that he is authorized to purchase items. Contact Role determines what is the role of JOHN as employee of WINTER HOTELS, so that when DIAMOND Electronics sell items, they check whether he is the correct person or not.
Which information store in table hz_relationships?
HZ_RELATIONSHIPS store the relationship between the parties. They may take information about WINTER HOTELS Corporate and WINTER HOTELS new hotel. Here new hotel is child of Corporate. They create a relationship between them as parent-child. This table stores that information.
In your case, they make ask your family details. If you give your spouse details, they create her as new party and create a relationship between you as HUSBAND-WIFE. The hz_relationships table stores this relationship details.
How TCA help client and programmer explain with one example?
It is proven, flexible customer model. It is very flexible that it can be implemented with most types of the businesses.
For programmer, it is complex and challenging. Anyhow, for a programmer, things should be challenging.
How the party information store in different levels or tables (like party >> party site>> contacts ...) and also give brief information about each tables.
This answer is huge and he best answer TCA Admin Guide. Please check Oracle Documentation.
Hope I was able to give you some idea.
Very good explanation. Resolved many queries I had.
Awesome Explanation. Thanks!
Ramakrishna good explanation, I wouldn't have done better than this.
Thanks for the responses. You folks can add more information to this thread and share your thoughts.
I would like give more explanation to the definition of the customer, which I guess I missed.
Customer is the entity (person or organization) with whom the Oracle ERP implementing organization has selling relationship. In this example, Diamond Electronics has selling relationship with WINTER Hotels and You (Sri Krishna).
Firstly Thanks for your valuable time spend for this.
Very Good, It is very clear and quite simple which makes any one can understand about TCA. I feel very happy after read your article because your explanation with my questions help so many professionals.
Your explanation impresses any one I am not except from that. I feel thankful to you.
In other words,
A party becomes a customer when an account is created for it. As Ramakrishna has aptly said, the party by itself does not enter into any transaction.
An account for the party is created when the party (Organization or person) wants to perform a transaction (buy or sell).
A party is merely an underlying entity in the TCA repository. A single party can have multiple accounts but the converse is not true. So if the implementing organization feels that if any organization/person is a prospetive customer or a future customer, then they can create a party of this entity.
In future when they become actual customers then we can go ahead and create an account for that party.
TCA maintains party to have one-source of truth for all your customers. It therefore has its own mechanisms to avoid duplicate parties. The underlying idea is to have a single source of truth of all your customers.
eg. 'John' could be an organization contact for the purchasing department of ABC Corporation. At the same time, John could be your customer personally. In which case, we maintain different accounts for 'John' but TCA identifies John by a single party.
The example which you have mentioned is excellent.
I have never seen such a good example covering so many questions in TCA.
Saw your comments:
"A party becomes a customer when an account is created for it. As Ramakrishna has aptly said, the party by itself does not enter into any transaction."
I am not sure about the context here but CRM transactions like Leads,Opportunities are created against a Party record.
Most of the CRM transactions are linked to the party record while ERP transactions like Orders,Invoices.. are linked to the Customer/Account record.
You are right in the context of CRM. But generally, the term transaction is not used often in the CRM modules. Leads, Opportunities doesn't really involve any transactions as they are more towards exploring the sales options which lead to transactions. They are more related to Salesreps interacting with parties, working on Leads, Opportunites and push towards the approvals making them to quotes to orders. All these interactions, deals actually become transactions with the confimed documents like Orders, Invoices etc.
Anyow, the thread is becoming interesting. Keep posting new things :-)
I have some follow-up question but more on the actual tables that stores all the information.
Do you have the name of the main table that will contain the records for party, customer, contact, etc?
Also, once a party becomes a customer? Will a new record be created or will the original records just be modified?
Party - HZ_PARTIES
Customer - HZ_CUST_ACCOUNTS
Contact - HZ_ORG_CONTACTS & HZ_RELATIONSHIPS
Check the documents sent by Sunil. They give very nice idea about TCA.
Technically, Party becoming customer is ...for existing party in HZ_PARTIES, you create an account in HZ_CUST_ACCOUNTS and you would use this account information for placing orders and financial transactions etc.
There would not be a new record in HZ_PARTIES and no modifications. You just create a account in HZ_CUST_ACCOUNTS for the party.
The explanation is really fantastic and helped me understand a lot of things which i had dounbts in.. Cant me explained better than this..
Hi Ramakrichna ,
as per our requirment , in iStore registration page , instead of entering the Party ID(Existing organization Number) , i have to change into customer part Number column, if i enter the customer part number , i want to take party number and pass into the API .. i did that one , one more thing is if i enter the customer part number , i have to dispaly the Ship-to address for the particular customer and after selection of address , i have to save the same address to that user ship-to contact point in DB.