This discussion offers key information for developers working with the different types of party that exist in Oracle Sales Cloud. In this context a 'party' is a person, a group or an organizational structure that is used in Fusion Applications. The party concept was implemented based on the Oracle Trading Community Architecture (TCA) data model that was extended from E-Business Suite, offering a standardized method for accessing party entity records for every product and feature. In very simple terms, every party record has properties that include a Name, Id, Type, and Usage.
The final implementation hides the underlying TCA data model from users, showing interconnected customers, partners, or contacts instead of lots of parties and their properties. As a developer there are places where your customizations and extensions connect with underlying party artifacts and as such some basic knowledge will prove useful. For example in this article we'll see how some programmatically accessible View Objects mirror some TCA structures.
In addition to the move to the Account standard object, there are a few more related programmatically accessible View Objects available to developers, and the following table is provided to explain the properties of each.
|Standard Object Name||View Object API Name||Description||Attributes|
|Account||OrganizationProfile||Organizations of any type of Account, including Customers, Prospects and Partners.||Defined by the attribute SalesProfileType which is NULL, ZCA_CUSTOMER or ZCA_PROSPECT. More useful is attribute CustomerType which includes values: Competitor, Prospect, Customer, External Legal Entity, Establishment, Legal Entity, and Inactive Partner.
|Sales Account||SalesAccountVO||Organizations that are either Customer or their released Contacts.||Defined by the attribute SalesAccountType which is either ZCA_CUSTOMER, ZCA_PROSPECT or ZCA_CONTACT. Again more useful is attribute CustomerType which has values of Customer or Customer Contact.
|Partners||PartnerProfileOrgPartyPVO||Organizations that are Partners only.||No additional filtering is required here (Partners have NULL in the SalesAccountType).|
|Trading Community Organization Details||OrganizationParty||A more generic TCA object, this lists all organizations (in Sales Cloud this is mainly Partners and Customer Accounts).||Here all records have attribute PartyType as ORGANIZATION, with no other type filtering available. As such not especially useful for customizations.|
In addition to the organizational entities above, the following table provides the same useful information for person entities - matching standard objects, programmatically accessible view objects (VO), and general TCA information.
|Standard Object||VO API||Description||Attributes|
|Resource||Resource||A resource is a person identified by the deploying company as a user of the application, and can be assigned to work objects such as leads or opportunities.||From the attributes available you will find ResourceType is INDIVIDUAL and PartyType is PERSON however these exist for all rows in this VO, therefore no need to filter.|
|Contact||PersonProfile||Any person in the system including Partners, Contacts, Users, and Employees.||Use the attribute SalesProfileType looking for values of ZCA_CONTACT and ZCA_CUSTOMER to remove records that are not sales contacts (employees etc).|
|Customer Contact Profile||Contact||This is similar to PersonProfile but with the customer-related filtering applied.||No additional filtering needed, although additionally useful attribute is CustomerName (or CustomerUniqueName).|
|Trading Community Person Details||PersonParty||Another generic TCA object, this lists all people-like parties in the system
(i.e. contacts and employees).
|Not very useful for customization work, and with no obvious fields for filtering.|
In addition, if you need to review the functionality associated with these objects, so you have the correct usages, check out Chapter 4 and 10 of the Sales User Guide.