Вы находитесь на странице: 1из 45

Oracle TCA

(Trading Community Architecture)

Preface
In this book I have given basic of TCA Architecture with technical details.

Author:
Email:

Dinesh Kumar S
Dineshcse86@Gmail.Com
1

Contents

About TCA
TCA Key Entities
TCA Logical Data Model
TCA in R12
EBS Modules uses TCA
TCA Model Table
Information
TCA API Information
2

About TCA
What is Trading Community?

Trading Community = Par8cipants in community + Rela3onship b/w par3cipants

In other words, It refers to group of en33es taking part in e-Commerce.
Competitor of

Employee of

Partner of

Supplier of

Trading Community:

What is TCA?

It refers to a data model, not a module.
Provides a single, universal deni8on of trading partners across applica8ons and job
func8on.
It is a way to understand who our trading partners interact with inside and outside the
enterprise.
Oracle E-Business Suite Application Families*

SCM

Service Marke3ng Financials

TCA Enabling Infrastructure

HR

Common Party UI, DQM, D&B Integra3on, APIs

Create a central repository for the


en8re E-Business Suite to store
informa8on rela8ng to all members
of a trading community versus
separate tables for each member

TCA Data Model


HZ Schema

o Prospects, Customers,
Contacts, Employees,
Partners, Distributors,
Suppliers, Banks, etc.

Is TCA new to R12 (or) already exists in Oracle 11i?



No, TCA already part of Oracle 11i.
TCA is a structure which was based out of R11 Customer Model designed to support
complex trading rela8onships.
To support both B2B and B2C business models.
11i TCA already equipped to handle the following en88es

Customer
Employee
Student

Whats New in R12?


Addi8onally 3 new trading en88es been introduced into TCA,

Suppliers
Bank & Bank Branches
Legal En3ty

Prior to TCA :


There were mul8ple deni8ons of Trading En88es across the EBS, ie: Customers,
Suppliers and Employees.
In some cases, the same data had to be held in several dierent modules;
o Human Resource (HR) employees who were paid through Payables (AP) had to
be created again as suppliers in AP;
o bank details were held in HR, AP and CM (Cash Management).
All these deni8ons where independent of each other and there were no links between
them.

For example, separate payments had to be made from each module, so you could not
see a balance of a single bank account of an en8ty. Therefore it was impossible to have
a view of the full picture and it was tough to understand the rela8onships between
en88es.

TCA Key En33es

TCA Structure with Selling Rela3onship En3ty Model

10

What is Par3es?
An individual en3ty in Trading Community Architecture.

It can be a separate individual en8ty or have some rela8onship
with other en88es.

It can be an,

Organiza8on
Person
Rela8onships
Groups
For example,

This rela8onship is called Party.


John
Employee of

11

What is Party Rela3onships?

Its a Binary rela3onships between two or more en88es.


Rela8onships like Inter/Intra Company, Non-Business
etc.
Both Seeded & User Dened Rela8on Types are
available.
Rela8onship itself stored as party.
Employee of

John
Employer of

John Smith is employee of CTS.


CTS is employer of John Smith.
John Smith is contact of CTS OSP.
12

What is Loca3on?
Loca3on:

A geographical Loca8on (or) a physical place usually with
address.

No duplica8on of address

Each Loca8on have its Uses i.e. it can be Bill-to, Ship-To,
Receiving Site.


Party Sites:

Links a party with a loca8on and describes the usage of
the loca8on.

Par8es may be associated to one or more Loca8ons and
any one loca8on may have one or more uses.
13

What is Accounts?
Represents a selling Rela8onship.
Exists only when selling rela8onship exists.
Each Unique business rela3onship is Account.
An account cannot be created without a party.
An account site is a party site that is used in the context of a
customer account for specic purpose. An account can have
mul8ple account sites.
A customer address is an account site that is used for billing,
shipping, or other purposes.
An account rela/onship is established between dierent accounts
of a party to allow sharing of billing, shipping, and pricing
informa8on.
Account of

John

For example,
Savings account of John with American Bank.
Investment/Demat account of John with American account.

14

What is Contact?

Contact is a person who communicates for or acts on


behalf of a party or customer account.

Contact points: Means of contact, for example, phone
and e-mail address.

This can be applied to:

A Party (person, organiza8on, group or rela8onship)
A Party at a Site or Loca8on
An en8ty may have one or more Contact Points.

15

Party Vs. Account


Within TCA model, the concept of customer is divided into two layers,

1. Party Layer
2. Account Layer
8o n
a
c
i
l
App
CRM Refers

Party Layer

Exists independent of any selling


or buying rela8onship.

Customer
Account Layer

Exists in context of Party and


only when selling rela8onship
exits.

16

TCA Logical Data Diagram

17

Logical Model Diagram - Par3es

18

Logical Model Diagram Party Type (Vs.) Person

Note** All above tables have rela3onship with hz_par3es

19

Logical Model Diagram Party (Vs.) Organiza3on

20

Logical Model Diagram Customer Accounts

21

22

23

TCA in R12

Following are the selected three en88es involved in the


R12 Trading Community Architecture,

Bank and Branch
Suppliers
Legal En88es

24

Bank & Bank Branches


Trading Community
Architecture (TCA)

Cash Management
Payables

Bank
Receivables
Bank Branch

Bank Account

Central place to define


internal bank accounts

Payroll
Treasury

o Keep track of all bank


accounts in one place.
In Release 12, bank accounts can
be assigned at the following four
levels:
1. Supplier
2. Site
3. Address
4. Address-Opera8ng Unit

25

Oracle 11i

Oracle R12

Banks/Branches dened in AP

Suppliers, Banks and Branches are dened as


Par3es in TCA.

Bank accounts oken replicated in


mul8ple OUs Before

Supplier (partys) payment informa8on and all


payment instruments (Bank Accounts, Credit
Cards) moved into Oracle Payments.
Internal Bank Account in Cash Management which
is owned by a Legal En8ty. Here the Opera8ng
units have granted usage rights.
In Release 12 provides a centralized repository for
suppliers and customers bank account and credit
card informa8on. All data is stored in one, secure
place, providing shared service centers and
collec8on departments consistent informa8on that
they need.

26

Bank Account Model: Benets



Reduce number of access points to manage bank accounts
Improve visibility and control of bank accounts
Simplify bank reconcilia8on
Increase percentage of automa8cally reconciled transac8ons

For example,

OU A

OU B
Single
Payment
Instruc3on

OU C

Payments
Bank

Invoices

27

Supplier Representa3on
The Supplier, Sites/Loca8ons, and their Contact informa8on is migrated to TCA.
Suppliers Supplier Account for a Party in TCA.

Supplier Sites The supplier sites table will store the Site account amributes per
Opera8ng Unit, which will default into transac8ons. Going forward, supplier site crea8on
will involve either selec8ng an exis8ng loca8on for the supplier or crea8ng a new loca8on
in HZ_LOCATIONS. The user will then have to select the Opera8ng Unit based on the
security prole, and enter the site amributes as they are entered today.
Contacts Contacts are modeled as a child en8ty to Supplier Sites in Release 12. . Each
contact (person) is represented as a Party rst. A rela3onship is then created between
the person party and the organiza8on party (customer, supplier, etc). This rela8onship
itself is reected as a party record in TCA. The contact informa8on can be dened for a
Party, Party Site, and Party Rela8onship in TCA.

28

29

As part of the TCA migra8on 3 new tables are introduced:


o AP_SUPPLIERS: It represents Supplier account and will carry all Supplier level
prole informa8on that will default to the transac8ons.
o AP_SUPPLIER_SITES_ALL : It represents the supplier site account informa8on in
the context of an opera8ng unit.
o AP_SUPPLIER_CONTACTS: support backwards compa8bility, so that impacted
products (such as Purchasing ) do not have to upgrade transac8on data that
carries the reference to vendor contact IDs.
Note: The exis8ng Suppliers tables PO_VENDORS, PO_VENDOR_SITES_ALL, and
PO_VENDOR_CONTACTS are obsoleted and renamed as PO_VENDORS_OBS,
PO_VENDOR_SITES_OBS, and PO_VENDOR_CONTACTS_OBS.

30

Oracle 11i

Oracle R12

Suppliers dened in AP.

Supplier becomes as TCA Party.

Supplier contacts replicated for


each supplier site.

Suppliers Sites as TCA Party Site for each


dis3nct address.

Contacts for each supplier/address , it means


Single supplier address and contact can be
leveraged by mul8ple sites, for each OU.
o A single change to an address can be
seen instantly by all OUs.
o No longer need to manually push
updates across OUs.

31

Same Contact info across all OU


OU 1
OU 1
OU 1
OU 1

In 11i, same contact


informa8on needs to be
updated separately in each
OU.

OU 1
OU 1
OU 1
OU 1

In R12, Single Update


reects the changes in all
OUs & elimina8ng
duplicate informa8on.

32

Supplier Representa3on: Benets



Single repository for suppliers data
AR/AP nesng
Oracle Payments serves as a payment data repository on top of the TCA data model.

o The TCA model holds the party informa8on.
o Oracle Payments then stores all of the partys payment informa8on and its
payment instruments (including credit cards, debit cards, customer bank
accounts, and supplier bank accounts).

33

Legal En3ty
In TCA,

Legal en3ty is created as a party of party type ORGANIZATION or PERSON
An establishment is created as a party of party type ORGANIZATION.
TCA creates a new classica8on category called Business Func3on. It is used mainly
to model what business func8ons a party can perform in E-Business Suite.

For modeling legal en88es and establishments in TCA, classica8on code Legal
En8ty and Establishment are created under the Business Func8on class category
An establishment is created as a party and always link to a party that is classied as a
legal en8ty through the rela8onship model.

34

EBS Module Uses TCA

35

TCA Model Table Informa3on


HZ_PARTIES

Represents any en8ty that can enter into business


rela8onships with your organiza8on Organiza8on,
Person, or Group.

HZ_PARTY_SITES

Associates a party with a loca8on, indica8ng that


partys usage of the loca8on.

HZ_PARTY_SITE_USES

The HZ_PARTY_SITE_USES table stores informa8on


about how a party site is used. Party sites can have
mul8ple uses, for example Ship-To and Bill-To.

HZ_LOCATIONS

The HZ_PARTY_SITES table links a party (see


HZ_PARTIES) and a loca8on (see HZ_LOCATIONS) and
stores loca8on specic party informa8on such as
MAILSTOP and ADDRESSEE.

HZ_ORG_CONTACTS

The table stores informa8on about the posi8on of the


contact for a party or party site.

36

HZ_PARTY_RELATIONSHIPS

A binary rela8onship between two par8es such as a


partnership. Example: Adam is a specic person party
and Eve Inc. is an organiza8on party. Adam at Eve Inc. is
also treated as a party with the type rela8onship.

HZ_PERSON_PROFILES

The HZ_PERSON_PROFILES table stores personal and


family informa8on about a party of the Person type.

HZ_ORGANIZATION_PROFIL
ES

The HZ_ORGANIZATION_PROFILES table gets populated


when a party of the Organiza8on type is created.

HZ_CONTACT_POINTS

The HZ_CONTACT_POINTS table stores informa8on


about how to communicate to par8es or party sites
using electronic media or methods such as Electronic
Data Interchange (EDI), e-mail, telephone, telex,
and the Internet.

37

38

TCA API Informa3on


What is the business need?


Applica8ons in the Oracle E-Business Suite can use the TCA public APIs to insert
and update en88es in the TCA model.
Data migra8on from legacy systems into the TCA model.
Access to the TCA model from custom applica8ons built by deploying
companies and Oracle Consul8ng.

39

Granular Vs. Business Object APIs:


Granular APIs manipulate data at the granular Oracle Trading Community
Architecture en8ty level.
Oracle Seeded business objects, which can contain other business objects,
granular en88es, or both. When a business object API is called, it can
subsequently call granular APIs.
Advantages of Business Object APIs:

For example, the Person business object contains various business objects and
granular en88es, including the Party Site business object and Rela8onship en8ty.
When the Create Person Business Object API procedure is called, it subsequently
calls the Create Party Site Business Object procedure and the Create Rela8onship
granular API procedure.
So instead of three separate ini8al API calls, as is the case with the granular APIs,
you can use just one business object API to create the same person informa8on.

40

Granular API

Business Object API

41

Features of APIs:


Modular Approach: The modular approach defaults and validates user-entered
informa8on.
Excep8on Handling & Return Messages: The APIs provide an extensive set of error-
handling and error-repor8ng mechanisms so that errors encountered in the dierent
phases of API execu8on are reported and put on the message stack.

-
The return status (x_return_status) of the API informs the caller about the result
of the opera8on or opera8ons performed by the API. Statuses include Success,
Error & unexpected error.
Messages: The APIs put result messages into a message list. Programs calling these APIs
can then get the messages from the list and process those messages by issuing them,
loading them into a database table, or wri8ng them to a log le.
Robust Valida8on: The APIs collect all the valida8on errors encountered and put them on
the message stack. The relevant en8ty handler is called only if no errors are reported
during the valida8on phases.
Locking Mechanism: The TCA public APIs provide a new locking mechanism for update
procedures, based on the new OBJECT_VERSION_NUMBER column, which has been
included in all HZ tables.


1 New Record
Exis8ng value + 1 Update Record
Null Exis8ng Record prior to locking mechanism
42

API Standard Parameters:


Std. Parameters

Required?

Type

Yes

INOUT

p_init_msg_list

Op8onal

IN

x_return_status

--

OUT

p_<en8ty>_object_ver
sion_number

Descrip3on

this parameter is called


p_party_object_version_number because
organiza8on is a type of party. The
parameter
value must match the version number in
the database of the record being
updated.
If set to true, the API calls
fnd_msg_pub.ini8alize to
ini8alize the message stack. If it set to
false, then the calling program must
ini8alize the
message stack.
The Out parameter returns the status of
the API.

43

API informa3on

PL/SQL Package Name

Party

HZ_PARTY_V2PUB

Party Informa8on

HZ_PARTY_INFO_V2PUB

Party Contact Informa8on

HZ_PARTY_CONTACT_V2PUB

Person Informa8on

HZ_PERSON_INFO_V2PUB

Organiza8on Informa8on

HZ_ORGANIZATION_INFO_V2PUB

Loca8on

HZ_LOCATION_V2PUB

Party Site

HZ_PARTY_SITE_V2PUB

Contact Point

HZ_CONTACT_POINT_V2PUB

Rela8onship

HZ_RELATIONSHIP_V2PUB

Hierarchy Retrieval

HZ_HIERARCHY_V2PUB

Customer Account

HZ_CUST_ACCOUNT_V2PUB

Customer Account Site

HZ_CUST_ACCOUNT_SITE_V2PUB
Note** Listed only some important APIs name.
44

45