Tca

Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

Oracle iStore 11i 11.5.

10 and TCA Whitepaper


An Oracle White Paper May 2005

IStore 11.5.10 and TCA

Executive Overview...........................................................................................4 Introduction........................................................................................................4 What is TCA? .....................................................................................................4 ISTORE 11I CUSTOMER MODEL ............................................................5 HZ_PARTIES ...................................................................................................5 FND_USER.......................................................................................................5 HZ_PARTY_RELATIONSHIPS .......................................................................5 HZ_RELATIONSHIPS .....................................................................................5 HZ_CUST_ACCOUNTS ...................................................................................5 HZ_CUST_ACCOUNT_ROLES .......................................................................6 HZ_ORGANIZATION_PROFILES .................................................................6 HZ_RELATIONSHIPS .....................................................................................6 USER TYPES.....................................................................................................6 Anonymous ....................................................................................................6 Signed-in (B2B or B2C users ) ....................................................................6 Individual (B2C) User ...................................................................................6 Business (B2B) User......................................................................................7 Oracle Partner Management primary users...............................................7 Oracle Partner Management non-primary users ......................................7 REGISTRATION FLOWS.............................................................................9 B2C Regitration Flow ...................................................................................9 B2B New Organization Flow....................................................................9 B2B Existing Organization Flow............................................................10 USER TYPE AND THE DATABASE EXAMPLES .............................11 B2C user created in iStore..........................................................................11 Guest user.....................................................................................................11 B2B (non-administrative) user created in iStore, already approved ....11 B2B (non-administrative) user created in iStore, not approved yet ....13 B2B (administrative) user created in iStore .............................................13 SHOPPING CART INTERACTION WITH TCA .............................. 155 APPENDIX A - Overview of User Management......................................19 Key Terms and Definitions .......................................................................19 APPENDIX B - ROLES AND PERMISSIONS FOR ORACLE ISTORE 11I USERS .......................................................................................21 APPENDIX C - ADDRESS BOOK FREQUENTLY ASKED QUESTIONS & TROUBLESHOOTIN G............................................ 211

-White Paper Title

Page 2

Frequently Asked Questions......................................................................21 Troubleshooting ....................................................................................... 267 APPENDIX D - ADDRESS USAGE JSPS............................................ 300 APPENDIX E - ORACLE ISTORE PARTY/ACCOUNT MERGE .31

-White Paper Title

Page 3

iStore 11.5.10 and TCA

EXECUTIVE OVERVIEW The purpose of this paper is two fold:


Highlight

iStore (11.5.10) s interaction with the TCA Model, via the process of User Registration and the Shopping Cart & Address Book functionality found within the iStore module
Provide

a detailed overview of the iStore (11.5.10) User Management framework and its dependency on JTA and FND including the User Registration flow and Merchant Approval flow
INTRODUCTION The Oracle 11i Trading Community Model is a highly flexible architecture that allows you to fully model real world entities in your trading community and accurately represent the complex relationships among those entities.

Oracle iStore 11i makes extensive use of the Trading Community Architecture (TCA), in particular, in the areas around User Registration, Address Book functionality and the Party Merge process. This paper aims to highlight the iStore module s interaction with the TCA model at a detailed level.
WHAT IS TCA? The Trading Community Architecture (TCA) is a powerful data model that allows the 11i e-Business suite to map all levels of customer interaction. The TCA is used by both Oracle ERP and Oracle CRM modules.

The Oracle Trading Community Architecture includes a database schema, API's, and data quality management utilities that allow you to capture and exploit valuable information about your commercial community: organizations, people, places, and the network of relationships that bring them together.

-White Paper Title

Page 4

ISTORE 11I CUSTOMER MODEL Oracle iStore 11i leverages the TCA customer tables for storing data pertaining to customers for both the Business-to-Business (B2B) and Business-toConsumer (B2C) scenarios. The high level Entity Relationship Diagram (ERD) here describes the relationship between these tables: HZ_PARTIES Stores information about parties such as organizations, people, groups and relationships, including the identifying address information for the party. Several pieces of data, such as the identifying address, organization profile information, and person profile information, is de-normalized onto this table for performance reasons. The primary key for this table is PARTY_ID. FND_USER Stores information about application users. Each row includes the user s username (what a user types in at the signon screen), password, and information on when the user should change the password. Each row also contains information on when the user last signed on, start and end dates for when a username is valid and a description of the user. HZ_PARTY_RELATIONSHIPS In 11.5.10, this is now a view based on HZ_RELATIONSHIPS. The table exists for some compatibility support. HZ_RELATIONSHIPS Stores information about relationships between one party and another party. The SUBJECT_ID and OBJECT_ID columns specify the relationship that exists between two parties. For example, if the party relationship is of the Parent Of type, a holding company could be the SUBJECT_ID in the relationship while one of its subsidiaries could be the OBJECT_ID. Creating a party contact causes a party relationship to be created. A party can have different relationships with one or more other parties. A party relationship can be specified with specific start and end dates so that the subject or object of a relationship can change over time. The primary key for this table is RELATIONSHIP_ID. HZ_CUST_ACCOUNTS Stores information about customer relationships established with a party. When a party becomes a customer, information about the customer account is stored in this table. Since a party can have multiple customer accounts, this table may contain several records for a single party. For example, an individual person may establish a personal account, a family account, and a professional account for a consulting practice. Note that the focus of this table is a business relationship and how transactions are Conducted in the relationship. The primary key for this table is CUST_ACCOUNT_ID. A single PARTY_ID is stored on this table to designate the customer account Owner. Each customer account may have only one owner (although other parties

-White Paper Title

Page 5

may be associated to the customer account via the HZ_CUST_ACCOUNT_ROLES table). HZ_CUST_ACCOUNT_ROLES Stores information about a role or function that a party performs in relation to a customer account. For example, Jane Doe might be a legal contact for Vision Corporation. The primary key for this table is CUST_ACCOUNT_ROLE_ID. Please note that only Parties of type Relationship should be inserted into this table. This table holds any other party associated with an account except the owner which is associated via the party_id in HZ_CUST_ACCOUNTS table). Preferable the party inserted here should be related to the party owning the account. HZ_ORGANIZATION_PROFILES Stores the profiles (detail information, features, amount of employees, etc) of an ORGANIZATION party type. The Internal_flag column distinguishes an external organization from an internal one. USER TYPES IStore 11i supports a number of user types that have varied access and functionality in the customer UI. For any particular session, at the highest layer a user may be Anonymous or Signed-In. A signed-in user may be an individual end-user (B2C), Business user (B2B), or a user who has not yet been approved. Anonymous User who visits the store anonymously is logged in as a guest user. (iStore seeds a user in FND_USER and HZ_PARTIES to represent a guest user.) In HZ_PARTIES the party_name column value will be IBEGUEST, and in FND_USER the user_name column value will be IBEGUEST. Both tables are related by PERSON_PARTY_ID (FND_USER), and PARTY_ID( HZ_PARTIES). Signed-in (B2B or B2C users ) User who has registered with the store and has logged in. If the owner of an account is a person, it is a personal account. If the owner of an account is an organization, it is a business account. Individual (B2C) User An individual user is an individual person having no relationship to an organization. Individual (B2C) users are associated to the default Oracle iStore B2C user responsibilities and roles, via the following enrollment: iStore (Individual User) --- This enrollment contains the seeded iStore customer responsibility. It is active by default. This default enrollment gives B2C users the required ability to access Oracle iStore sites via the Oracle iStore Customer. By default, these users do not require approval. No roles are assigned to this user type out-of-the-box.

-White Paper Title

Page 6

Business (B2B) User Generally associated with an organization. If a user has business accounts, he is thought to be a business (B2B) user. The association with the business account is noted in the hz_cust_account_roles table. There are two kinds of B2B users: Non-administrative business users (B2B users) Typically, non-administrative B2B users are associated to the default Oracle iStore and Oracle iSupport non-primary B2B user responsibilities and roles, via the following enrollments: o iStore (Business User) --- This enrollment contains the seeded Oracle iStore customer responsibility and the nonadministrative business user role. This default enrollment gives these users permission to access Oracle iStore as regular business users. By default, these users require approval by a primary user within their company. Primary business users (Administrative B2B users) --- Typically, primary users are associated to the default Oracle B2B primary user responsibilities and roles, via the following enrollments: o iStore (Primary User) --- This enrollment contains the seeded iStore customer responsibility and the administrative business user role. This default enrollment gives these users permission to access Oracle iStore as primary users for their companies. By default, these users do not require approval. B2B Reseller Users The seeded IBE_RESELLER_ROLE is appropriate to assign to users who sell your products but are not internal to your company. It can be assigned to any B2B users (Primary or Not). If you are integrating with Oracle Quoting, Reseller Users can create shopping carts, but cannot view all customer accounts in your records, bill to anyone other than the sold-to customer, or sell to customers who are not in your records. Oracle Partner Management primary users By changing the default user type setup, Oracle Partner Management primary users can be associated to primary B2B Oracle iStore responsibilities and roles via the iStore (PrimaryUser) enrollment. This default enrollment gives these users permission to access the Oracle iStore sites as partner primary users. By default, these users do not require approval. Oracle Partner Management non-primary users By changing the default user type setup, Oracle Partner Management non-administrative B2B users can be associated to the non-administrative business user responsibilities and roles via the iStore (Business User) enrollment. This default enrollment gives these users permission to access the Oracle iStore sites as regular partner users. By default, these users require approval. Note: Oracle Partner Management user types are not enabled by default. You must enable the user types in the Oracle CRM System Administrator Console. In general the steps to follow are: 1. Log in to the Oracle CRM System Administration Console.

-White Paper Title

Page 7

2. Set the desired Oracle Partner Management user types as active. The Oracle

Partner Management registration links will automatically be available in the New User Registration page.

-White Paper Title

Page 8

REGISTRATION FLOWS B2C Registration Flow

B2B New Organization Flow

-White Paper Title

Page 9

B2B Existing Organization Flow

-White Paper Title

Page 10

USER TYPE AND THE DATABASE EXAMPLES Here some examples of the data stored based on the user types created: Every user (B2C, B2B, Partner) created in istore, contains a customer_id. B2C user created in iStore Person = Jose Siverio User = JSIVERIO_IBE2 In FND_USER providing user_name: USER_ID USER_NAME EMPLOYEE_ID CUSTOMER_ID -------------- --------------------- ---------------------- ----------------------1005222 JSIVERIO_IBE2 15517 In HZ_Parties, providing the party_id = customer_id To obtain the person associated to the user. Person_identified =10442 (not null because is a person) Pary_number =12988 Party_id = 15517 Party_name = Jose Siverio Party_type = Person Person first name and last name availables. In HZ_CUST_ACCOUNTS provide the user party_id and obtain: Cust_account_id = 4873 Account_number = 2215. In HZ_CUST_ACCOUNT_ROLES, provide the cust_account_id and obtain: Role_type = CONTACT. In HZ_PARTY_RELATIONSHIPS and HZ_RELATIONSHIPS, there are not records for the B2C user party_id. Jose Siverio, in AR, is a Person, and JSIVERIO_IBE2 is his B2C user.

Guest user GUEST iStore User is not setup out of the box, this is one of the user types setup steps, explained inside istore implementation guide, chapter 4.2.1 Set up Guest User Access. B2B (non-administrative) user created in iStore, already approved

-White Paper Title

Page 11

User = JSIVERIO_IBEBU In FND_USER providing user_name: USER_ID USER_NAME EMPLOYEE_ID CUSTOMER_ID -------------- ------------------- --------------------- --------------------1005804 JSIVERIO_IBEBU 16303 In HZ_Parties, providing the party_id = customer_id to obtain the user Information. Person_identified =Null (It is a Org. user) Party_number =13794 Party_id = 16303 Party_name = Jose Siverio JCUST-13794 Party_type = PARTY_RELATIONSHIP (B2B user) No person First name, No Person Last Name. In HZ_CUST_ACCOUNTS nothing is provided with the user party_id. Which is correct because JSIVERIO_IBEBU is a user of an organization. Data is returned with the Organization party_id. In HZ_CUST_ACCOUNT_ROLES, provide the user party_id and obtain: Cust_account_id = 5397, Role_type = CONTACT In HZ_CUST_ACCOUNTS provide the cust_account_id and obtain: Party_id for Org = 15847 Account_number for Org= 2715 In HZ_PARTIES, provide the party_id for the Org, and obtain the Org. details: Party_number =13320 Party_name = JCUST Party_type = ORGANIZATION No person_identifier (correct). In HZ_PARTY_RELATIONSHIPS provide the party_id for the B2B user (16303) to obtain: Party_relationship_id = 7735 Party_relationship_type = EMPLOYEE_OF Object_id = 15847 (Party_id for Organization associated to the user) Subject_id = 16302 (Party_id for Person associated to the user) In HZ_RELATIONSHIPS provide the party_id for the B2B user (16303) to obtain two records: Relationship_id = 7735 Subject_id = 16302 (Person) and 15847 (Org) Object_id = 15847 and 16302 Relationship_code = EMPLOYEE_OF JSIVERIO_IBEBU is a B2B approved user created for JCUST Organization.

-White Paper Title

Page 12

B2B (non-administrative) user created in iStore, not approved yet User = JSIVERIO_BU3 In FND_USER providing user_name: USER_ID USER_NAME EMPLOYEE_ID CUSTOMER_ID ---------- ------------- ------------ -------------- ---------------------------1006240 JSIVERIO_BU3 19849 In HZ_Parties, providing the party_id = customer_id To obtain the person associated to the user. Person_identified =Null (It is a Org. user) Pary_number = 16320 Party_id = 19849 Party_name = Jose B2Bsecond-JOrg-16320 Party_type = PARTY_RELATIONSHIP (B2B user) No person First name, No Person Last Name. In HZ_CUST_ACCOUNTS nothing is provided with the user party_id. However, information is displayed with the Organization (JOrg) party_id (19838). In HZ_CUST_ACCOUNT_ROLES, nothing is obtained when the user party_id is provide. It is because, the user hasn t been approved yet. In HZ_PARTY_RELATIONSHIPS provide the user party_id (19849) to obtain: Party_relationship_id = 8678 Party_relationship_type = EMPLOYEE_OF Object_id = 19838 Subject_id = 19848 In HZ_RELATIONSHIPS provide the party_id for the B2B user (19849) to obtain 2 records: Relationship_id = 8678 Subject_id = 19848 and 19838 Object_id = 19838 and 19848 Object_type = ORGANIZATION and PERSON Subject_type = PERSON and ORGANIZATION Relationship_code = EMPLOYEE_OF JSIVERIO_BU3 is a B2B user, not approved yet, as soon as it is approved. New data is updated inside HZ_CUST_ACCOUNT_ROLES. B2B (administrative) user created in iStore User = JSIVERIO_B2B In FND_USER providing user_name:

-White Paper Title

Page 13

USER_ID USER_NAME EMPLOYEE_ID CUSTOMER_ID ----------- ---------------------- -------------------------------1006523 JSIVERIO_B2B 19840 In HZ_Parties, providing the party_id = customer_id To obtain the person associated to the user. Person_identified =Null (It is a Org. user) Pary_number = 16311 Party_id = 19840 Party_name = Jose B2BMain-JOrg-16311 Party_type = PARTY_RELATIONSHIP (B2B user) No person First name, No Person Last Name. In HZ_CUST_ACCOUNTS no records are retrieved for the user party_id. Which is correct. A record is displayed with the Organization party_id = 16311. In HZ_CUST_ACCOUNT_ROLES, provide the user party_id and obtain: Cust_account_id = 6095, Role_type = CONTACT, In HZ_CUST_ACCOUNTS provide the cust_account_id and obtain: Party_id for Org = 19838 Account_number for Org= 3271 In HZ_PARTIES, provide the party_id for the Org, and obtain the Org. details: Party_number =16309 Party_name = JOrg Party_type = ORGANIZATION No person_identifier (correct). In HZ_PARTY_RELATIONSHIPS provide the party_id for the B2B user (19840) to obtain: Party_relationship_id = 8674 Party_relationship_type = EMPLOYEE_OF Object_id = 19838 (Organization party id) Subject_id = 19839 (Person party_id) In HZ_RELATIONSHIPS provide the party_id for the Relationship (19840) to obtain 2 records with: Relationship_id = 8674 (same for both) Subject_id = 19838 (Org party_id), 19839 (User party_id) Relationship_code = EMPLOYEE_OF Subject_type = PERSON (19839) and ORGANIZATION (19838) Object_id = 19838 (Person) and 19839 (Organization)

-White Paper Title

Page 14

SHOPPING CART INTERACTION WITH TCA

Throughout the checkout process, iStore makes extensive use of the TCA model. From the point of user registration, to place an order, the iStore module leverages data from the TCA model that ties the customer record to the quote and order to be processed; ultimately providing a 360 degree view of the customer s interaction with the merchant. The following scenario was tested in 11.5.10:
B2B Shopping Session: User JSIVERIO_IBEBU Organization = JORG

The following tables are populated after JSIVERIO_B2B (a B2B user) is created, approved, and an order is placed using it, through istore:
FND_USER HZ_PARTIES HZ_CUST_ACCOUNTS HZ_CUST_ACCOUNT_ROLES HZ_PARTY_RELATIONSHIPS HZ_RELATIONSHIPS HZ_ORG_CONTACTS HZ_PARTY_SITES HZ_PARTY_SITE_USES HZ_LOCATIONS HZ_CUST_ACCOUNT_ROLES HZ_ROLE_RESPONSIBILITY HZ_CUST_ACCT_SITES_ALL HZ_CUST_SITE_USES_ALL ASO_QUOTE_HEADERS_ALL ASO_QUOTE_LINES_ALL ASO_SHIPMENTS OE_ORDER_HEADERS_ALL Examples of queries to obtain a variety of information from the tables, starting from the user name, are followed: User = JSIVERIO_IBEBU select USER_ID,USER_NAME,EMPLOYEE_ID,CUSTOMER_ID from fnd_user where user_name like '%&User_Name%' User Party_id (customer_id) is obtained (16303).

-White Paper Title

Page 15

select PARTY_ID,PARTY_NUMBER,request_id, PARTY_NAME,PARTY_TYPE,PERSON_FIRST_NAME,PERSON_LAST_NAM E,PERSON_IDENTIFIER from hz_parties where party_id =16303(User Party_id) select PARTY_ID,CUST_ACCOUNT_ID,ROLE_TYPE from hz_cust_account_roles where party_id = 16303 (User Party_id) select CUST_ACCOUNT_ID,PARTY_ID from HZ_CUST_ACCOUNTS where cust_account_id = 5397 (OrgAccount Id) select PARTY_ID,PARTY_NAME,PARTY_TYPE from hz_parties where party_id =15847 (Org Party_id) select PARTY_RELATIONSHIP_ID, SUBJECT_ID, OBJECT_ID, PARTY_ID,PARTY_RELATIONSHIP_TYPE from HZ_PARTY_RELATIONSHIPS where party_id = 16303 (user party_id) select RELATIONSHIP_ID, SUBJECT_ID, OBJECT_ID, RELATIONSHIP_TYPE from HZ_RELATIONSHIPS where party_id =16303 (User Party_id) select ORG_CONTACT_ID,PARTY_RELATIONSHIP_ID from HZ_ORG_CONTACTS where PARTY_RELATIONSHIP_ID =7735 (Party_relationship_id = relationship_id obtained above) select PARTY_SITE_ID,PARTY_ID,LOCATION_ID from HZ_PARTY_SITES where party_id = 15847 (Org Party _id) party_site_id = 7745, 8626, 8645, 8665, 8385 location_id = 11934, 13056, 13074, 13094, 12794 select PARTY_SITE_USE_ID,PARTY_SITE_ID,SITE_USE_TYPE from HZ_PARTY_SITE_USES where party_site_id in (745, 8626, 8645, 8665, 8385) party_site_use_id = 6171 party_site_id = 8385 site_use_type = Bill_to party_site_use_id = 6170 party_site_id = 8385 site_use_type = Ship_to

select LOCATION_ID,ADDRESS1,ADDRESS2,CITY from HZ_LOCATIONS

-White Paper Title

Page 16

where LOCATION_ID in (11934, 13056, 13074, 13094, 12794) select CUST_ACCOUNT_ROLE_ID, PARTY_ID, CUST_ACCOUNT_ID, CUST_ACCT_SITE_ID from HZ_CUST_ACCOUNT_ROLES where party_id = 16303 cust_acount_role_id = 6109, 6575, 6099, 6575, 16303, 5397,5943 select RESPONSIBILITY_ID, CUST_ACCOUNT_ROLE_ID, RESPONSIBILITY_TYPE from HZ_ROLE_RESPONSIBILITY where CUST_ACCOUNT_ROLE_ID in (6109, 6575, 6099) 3741, 6575, ship_to 3742, 6575, bill_to select CUST_ACCT_SITE_ID,CUST_ACCOUNT_ID,PARTY_SITE_ID from HZ_CUST_ACCT_SITES_ALL where CUST_ACCT_SITE_ID = 5943 5943 , 5397 8385 select SITE_USE_ID,CUST_ACCT_SITE_ID,SITE_USE_CODE from HZ_CUST_SITE_USES_ALL where CUST_ACCT_SITE_ID =5943 5943 BILL_TO 5942 SHIP_TO

select QUOTE_HEADER_ID, PARTY_ID, CUST_ACCOUNT_ID, ORG_CONTACT_ID,INVOICE_TO_PARTY_ID, INVOICE_TO_PARTY_SITE_ID from ASO_QUOTE_HEADERS_ALL where PARTY_ID =16303 User party_id or Org Party_id can be used. 5355 16303 5397 blank blank 16303 8385 select QUOTE_LINE_ID, LINE_NUMBER, INVOICE_TO_PATY_ID, from ASO_QUOTE_LINES_ALL where QUOTE_HEADER_ID=5355 select SHIPMENT_ID, QUOTE_HEADER_ID, SHIP_TO_PARTY_ID, SHIP_TO_PARTY_SITE_ID from ASO_SHIPMENTS where QUOTE_HEADER_ID = 5355 8065 5355 blank blank

-White Paper Title

Page 17

8066 5355 16303 8355 select ORDER_NUMBER, HEADER_ID, SOLD_TO_ORG_ID, SOLD_TO_CONTACT_ID,INVOICE_TO_ORG_ID,INVOICE_TO_CONTACT _ID,SHIP_TO_ORG_ID,SHIP_TO_CONTACT_ID from OE_ORDER_HEADERS_ALL where ORDER_NUMBER =55064 (Order number obtained in istore)

-White Paper Title

Page 18

APPENDIX A - OVERVIEW OF USER MANAGEMENT User management is the process of registering a user and thereafter maintaining the user in the system by granting or revoking privileges, accounts, customer profile information, and party relationships based on a set of business requirements. User management involves registering new users, modifying existing users, approving or rejecting user approval requests, setting up enrollments and registration templates, assigning users to business accounts, and more. The technology stack for performing most of the background setups and processes for user management is supplied through the Oracle CRM Technology Foundation and Oracle Common Application Components. Oracle iStore also has a comprehensive set of user Overview of User Management Key Terms and Definitions This section provides key terms and definitions related to user management. Approval Definition --- Approval definitions use Oracle Workflow to track and route request(s) to the approvers. An approval definition can deliver an e-mail notice to the approvers. Both user types and enrollments can share the same approval definition. The e-mail notifies what types of requests are being requested (user type or enrollment) and what action the approver needs to take. Business User --- Business-to-business (B2B) users represent companies whose information is stored in Oracle Trading Community Architecture. Typically, when B2B users self-register, they enter an Organization ID (Registry ID) created when the first user from that company registered. Enrollment --- An enrollment is a set of add-on services that you can receive during or after registration. "Services" include responsibilities, roles, approval definitions, and registration templates. One enrollment corresponds to zero or one responsibility, zero or one template, zero or one approval and zero or more roles. Enrollments are application specific and can be tied to user types. Permission --- A unit of privilege that is granted to a user within his user role. It usually serves to grant a certain type of access to a resource. Resources are application elements such as objects or methods of objects. A resource can have unique permissions for each way that it can be accessed. Overview of User Management Primary User --- An administrative B2B end-user charged with fulfilling user management functions for his company. Typically, when the first B2B user registers from a company, an Organization ID (Registry ID) is created. User Type Templates --- Applications require varying pieces of information to register different types of users. User Type templates refer to JSP files that are used to capture the registration information that is special to a particular User Type. Oracle iStore user types are associated to specific user type templates, defined in the Oracle iStore Template Manager, and do not use JTF registration templates.

-White Paper Title

Page 19

Responsibilities --- When a registered user initially logs in to the Oracle E-Business Suite HTML login, the system checks the user s current responsibility and then passes the user into the menu structure associated with the HTML application to which that responsibility is linked. In this way, different user types can have different responsibilities and therefore can have different menus assigned to them.Responsibilities can either be granted automatically upon registration, through the user management framework, or on a case-by-case basis by an administrator. Roles --- Within each HTML page, granular permissions control which resources on a page a user is allowed to access. These resources may be a button, a data manipulation permission, a view permission, and so on. In Oracle HTML applications, permissions are grouped into roles which can then be granted to users. Roles are granted either automatically (depending upon your configuration) or on a user-by-user basis by an administrator. User Profile --- User profiles, which are associated with responsibilities, are sets of user interfaces that give users access to their personal data and preferences. User Profile Menus --- User profile menus are groupings of user profile pages which are relevant to a particular responsibility. User Profiles are user interfaces to users' personal data and preferences. A number of responsibilities can share the same user profile menu. User Type --- A category of users that caters to the specific needs of an application s business requirements. User types allow flexible and extensible ways for defining, categorizing and implementing behavior of users. A user type is associated to only one template, one responsibility, zero or one approval, zero or more enrollments, and zero or more roles. Examples include: Register your company, Register as individual, and Register as a user of an existing company.

-White Paper Title

Page 20

APPENDIX B - ROLES AND PERMISSIONS FOR ORACLE ISTORE 11I USERS Review Appendix C inside the iStore 11.5.10 implementation guide APPENDIX C - ADDRESS BOOK FREQUENTLY ASKED QUESTIONS & TROUBLESHOOTING Frequently Asked Questions A. Index 1. 2. 3. 4. How come the address book accepts an invalid address I enter? Can I turn off address validation? What country does address validation work in? The address validation is turned on. But the address book does not return a drop down of possible selection. It just denies my entry with an error message. Why there is always a county in my address even though I have never entered one? What is the Location Flexfield Structure in Account Receivables System Setup? I tried to place an order but I received an "error from Order Management"? How come the address I enter does not show up in Account Receivables? How come the address is primary shipping/billing even though I did not check the flag when I created it?

5. 6. 7. 8. 9.

10. I got a java framework exception when I tried to create an address? 11. I placed an order with address A and update/remove it. Would that affect my order? 12. Can I see my organization address in my address book? 13. How can I see my organization address? 14. How come I cannot use a existing address for an order? And I got an error saying that the address is invalid. 15. How come I see a short list of countries during checkout but a long list of counties in address book?

-White Paper Title

Page 21

16. How do I access corporate address book? 17. Non-US address formats are not localized for the countries. 18. What does this error means? The following SQL error occurred: ORA-20000: APP-11027: Mandatory segment: "COUNTY". 19. From B2B checkout, can I create address for customer and contact? 20. From B2B checkout, the create address button disappear. 21. How to setup list of billing & shipping countries? 22. Filtering Invalid Addresses 23. What is the mechanism to put translated content for descriptive flex fields? 24. Cannot create credit card or can t use US address in German org. B. FAQ 1. How come the address book accepts an invalid address I enter? The address validation is most likely turned off. 2. Can I turn off address validation? US tax calculation is based on validated address. You can turn off address validation if your setup does not require tax calculation or you have different taxing mechanism using tax code and tax group. 3. What country does address validation work in? US. You can setup validation for other country as well, but that would not make too much sense because other country may not validate address and calculate tax based on city.county.state like US does. 4. The address validation is turned on. But the address book does not return a drop down of possible selection. It just denies my entry with an error message. If you enter an address with information that is very incorrect and way off, the address book won't be able to find some close matches. Try to enter some realistic information and you should see a drop down of closely matched selections. 5. Why there is always a county in my address even though I have never entered one? US tax calculation is based on city.county.state. Although the address book does not explicitly mandate county for the sake of user not customed to enter county, you can either implicitly pick it from the location selection drop down or the address book automatically set it if there is only one county fit for your address. If there are more than one counties, you will be prompted to select from the drop down or you can always enter a county manually.

-White Paper Title

Page 22

6.

What is the Location Flexfield Structure in Account Receivables System Setup? The Location Flexfield Structure defines the structure and relationship of your location data. The common structure is city.county.state for US. When address validation is turned on, validation is done according to this structure. [city.county.state is only supported by AR at this time in the Java API.] When address validation is turned off, the value should be set to "country - no validation". Be aware that the Location Flexfield Structure is set at installation/setup time and cannot be changed afterward. Therefore, decide whether you want address validation and location based tax calculation before you set it to anything.

7.

I tried to place an order but I received "An error from Order Management"? One possible failure for order is the tax setup and the address validation setting. Refer to the troubleshooting section.

8.

How come the address I enter does not show up in Account Receivables? You have to place an order with the address. That would ultimately create a cust_acct_site and the address would show up in Account Receivables.

9.

How come the address is primary shipping/billing even though I did not check the flag when I created it? When there is not any primary shipping/billing, the new address created is default to primary shipping/billing.

10. I got a java framework exception when I tried to create an address? The AR address validation API is likely having a problem. Refer to the troubleshooting section. 11. I placed an order with address A and update/remove it. Would that affect my order? No. Remove is a soft delete. Update does not wipe out previous information. It end date the previous address and creates a new address. 12. Can I see my organization address in my address book? No, you can only see your address in your address book. 13. How can I see my organization address? You can see and use it during checkout as well as in Profile >>Company Profile>>Contact Information page. 14. How come I cannot use a existing address for an order? And I got an error saying that the address is invalid. Address is not site stripped. That means if the address is created in site A where address validation is turned off, you can see the address in site B where address validation is turned on. If the address entered in site A is invalid, you will get an error if you use that for your order in site B because it requires valid addresses.

-White Paper Title

Page 23

15. How come I see a short list of countries during checkout but a long list of counties in address book? You can define what countries are allowed for shipping and billing. But the address book does not restrict you to create any address for any countries. Only when you order, we enforce the restriction if such restriction is defined. See the troubleshooting section for information on how to set up restringing country. 16. How do I access corporate address book? Currently iStore does not offer a corporate address book. However, it is planned for the future. Features like sharing corporate address among b2b users and permission controlled access should be part of it. 17. When Non-US formats will be localized for the countries Account Receivables' Flexible Address Format will be supported in the future (probably in IBE.I timeframe). [Since we are already in IBE.P, pls. find out which IBE patch starts supporting this feature, and reword this sentence properly.] It provides five different formats, Japan, Northern Europe, South America, Southern Europe, and UK/Africa/Australia/Asia. 18. What does this error mean? The following SQL error occurred: ORA-20000: APP-11027: Mandatory segment: "COUNTY" . This message shows up during B2C or B2B checkout when the address is used to calculate tax for a particular order. The error message means that the mandatory segments of an address, such as city or state is missing that is needed to calculate tax within US. It is possible that the address is created where address validation is not required or from another application which does not verify all the information in the address. To check whether address validation is on, follow the following steps: login as user sysadmin with responsibility of Receivables Manager goto Setup->System->System Options -open the Tax tab & look at the value for Address Validation; validation is on if it's set to Error If a user sees the error message in iStore when the address validation is turned on, then this could be a bug in iStore. If the address validation is turned off and the location flexfield is city.county.state, account receivables tries to calculate tax based on city, county, and state. And because the mandatory information is missing from the address, a user will see the error. 19. From B2B checkout, can I create address for customer and contact? Creating address (from ibeCCkdCreateAddr.jsp) is based on three conditions: If no contact is chosen and user does not have create contact address permission, the address will be created for the customer. The readonly label indicates it is for customer.

-White Paper Title

Page 24

If contact is chosen and user does not have create customer address permission, the address will be created for the contact. The readonly label indicates it is for contact. Else address can be created for either customer or contact, based on the radio button selection. 20. From B2B checkout, the create address button disappears. The button is controlled by permission and is based on two conditions: If user has create customer address permission, the button is shown If contact is chosen and user has create contact address permission, the button is shown. 21 How to setup list of billing & shipping countries? In ibeCCkdSearchAddr.jsp where we display the shipping/billing countries, we call AddressBook APIs to get shipping/billing countries. If there's none, then we'll default to the default org country. Both the shipping/billing countries as well as the org country setup are done in forms. iStore UI doesn't currently support it. Org country is not updateable. To change ship/bill countries in forms: -login as sysadmin -switch to HR Resource Responsibility -Open Work Structure>Organization->Description->Find Organization form -Find Operating Unit in Organization Classification, click on Others lookup: Bill To Countries Ship To Countries 22.Filtering Invalid Addresses If a user invalidates an address or address usage (e.g. Ship To, Bill To) in AR Forms, this action will also make the address

-White Paper Title

Page 25

disappear from iStore s checkout address LOV. However the address is still available in iStore s address book. We delivered this feature in IBE.N and also provided backport in IBE.K. (See bug/ER 2155605). A user deletes an address in iStore address book but the address is already in the shopping cart. We will display the deleted address in checkout s billing/shipping header level address display. We changed the behavior in IBE.O per bug 2768356. 23. What is the mechanism to put translated content for descriptive flex fields? iStore calls JTF Descriptive FlexField API to render the address creation form if the country has a style associated with it (AR owns the address styles). The JTF API returns HTML that iStore displays. In AR Forms, under Financials->FlexField>Descriptive->Segment, one can query the address style by entering 'Address' in the title field. The Address descriptive flex field has several address styles, click on an address style (say NE for Northern Europe) Select a column (e.g. Address 1) then goto the menu bar and click on View->Translations, you will see all the languages available & the segment display values for each language (e.g. address field label in this case). For the column Address 1 in French (if French is setup as a language for the operating unit), enter an appropriate value in French, save changes. Make sure France has Northern Europe address style (AR Forms->Setup->System->Countries). Go back to iStore UI, goto the French store, in address creation form when you pick France, you should see what you entered in Forms for Address 1. 24. How to check the tax setup for the German org, and make sure the US has an entry in the tax location form? login as German sysadmin into AR forms goto setup->tax->locations, if the German org uses VAT, then there should be a list of taxable countries for the German org, make sure US is one of them if not, add US & bounce the middle tier Troubleshooting A. Index 1. I can enter an invalid address.

-White Paper Title

Page 26

2. 3. 4. 5.

Tax is not calculated for the order billed to a foreign country. The shipping and billing address are not restricted to the country allowed. Java FrameworkException when creating/updating an address. Flexible Address Format is not shown

B. Troubleshooting 1. I can enter an invalid address. First, you have to determine if the setup indeed allows you to enter an invalid address. If that is the case, there is nothing to worry about. Go to Account Receivables->Setup->System->System Options->Tax. If Address Validation is "None". That means address validation is turned off. Turn it on by setting Address Validation to "Error". The Location Flexfield Structure should also be city.county.state. This is a typical location structure for US location based tax calculation. You should also setup the location data in Account Receivables->Setup->Tax>Locations. That is where you define the city, county, and state relationship and the tax rate for each jurisdiction. The data are used for address validation and tax calculation. 2. Tax is not calculated for the order billed to a foreign country. You need to setup tax code and tax group for calculating tax for foreign countries. You can assign a tax rate for a tax code. Then you can assign the tax code to a tax group. A tax group allows you to group many tax codes together and define a condition for each tax code. You can define condition like "if billing country is UK". If the condition is true, that tax code is applied. To create a tax code, go to Account Receivables>Setup->Tax->Code. To create a tax group, go to Account Receivables->Setup->Tax->Groups. Ensure the default tax code is set to your tax group under Account Receivables>Setup->System->System Options->Tax Defaults and Rules. You can define the order of tax code to use for each level under Tax Code Defaults. 3. The shipping and billing address are not restricted to the country allowed. A site is associated to an organization. So if for certain site you want to define the shipping and billing countries, you have to find out which organization the site belongs to. Login to forms with US HRMS Manager responsibility. Go to Work Structures->Organization->Description. When the Find Organization window shows up, type in the name of the organization. In the Organization window and under the Organization Classification sections, scroll down to select Operating Unit and click Others. Select Ship to Country from the pop up window. Another window would show up. You can add and remove countries from the list. The countries in

-White Paper Title

Page 27

the list are the allowed shipping countries. If the list is empty, that means all countries are allowed. To define countries for billing, you follow the same steps but select Bill to Country from the pop up window instead. Save the changes and bounce the middle tier. Then you should be restricted to those shipping and billing countries when you place an order. 4. Java FrameworkException when creating/updating an address. If you get a Java FrameworkException when you try to create or update an address, the error message from the exception stack should tell you what the problem is. If it doesn't, the exception is probably thrown out because the AR API has a fatal error. In that case, you have to turn on the logging and search for the string, "FlexibleAddress" and "error code = ". The error code can tell your what is wrong with AR API. Error Code 10 20 30 40 50 60 70 80 90 100 110 120 180 200 TAX_COUNTRY_OUTOF_SCOPE TAX_NO_ORDID TAX_NO_ZX_TAX_SYSTEM_OPTIONS_TABL E TAX_VENDOR_CONTRADICT TAX_BAD_LOCATION_STRUCTURE_ID TAX_BAD_STRUCTURE_FLEXFIELD TAX_NO_LOCATION_STRUCTURE_ID TAX_NO_ARP_TAX_VENDOR_PACKAGE TAX_NO_CONNECTION TAX_NO_VERTEX_TABLE TAX_NO_TAXWARE_TABLE TAX_NO_ORACLE_TABLE TAX_EMPTY_ADDRESS TAX_SYS_ERR In next iStore patch (IBE.I), the error code will be part of the error message in the stack trace. So looking into the log file is unnecessary.

-White Paper Title

Page 28

5.

Flexible Address Format is not shown. You have to enable Flexible Address Formation for the country. For example, if you want to enable Flexible Address Formation of UK, go to Account Receivables->Setup->System->Countries. Type "United Kingdom" in Country/Territory. Then select UK/Africa/Asia style and save the changes. Bounce the middle tier. When you create an address for UK, the format should be the flexible address format.

-White Paper Title

Page 29

APPENDIX D - ADDRESS USAGE JSPS JSP page IbeCAddAddrFrmFlex.jsp (flexible address form)

Description Display the address Flexfields Attributes noName (String) If noName is set to "true", then the readonly name is not shown in the form. Otherwise current user's first and last name are displayed as read-only.

noPartySiteName (String)

if noPartySiteName is set to "true", then the party site name input field is not shown in the form.

addressType (String) set addressType to "SHIPTO" or "BILLTO",then only those allowed countries are shown. If addressType is not set, all countries are shown. noCountryDropDown if noCountryDropDown is set to "true", no drop down list is shown. Otherwise, a drop down is displayed as usual. JSP page ibeCAddAddrDsp2.jsp (STORE_ADDRBK_DISPLAY_ALT)

Description Display an address Attributes separator (String) address (Address) or party_site_id (BigDecimal) JSP page This separator string is used to append string together. The default is "<BR>". The address to be displayed

ibeCAddAddrSelCreate.jsp (STORE_ADDRBK_SEL_CREATE)

Description Display radio buttons. The first one for a drop down list of existing addresses. The second one is a form for new address. Attributes selectAddress (Big Decimal) Set the selectAddress to the party site id. The address in the drop down which matches the party site id would be selected. The addressType must be set to "SHIPTO" or "BILLTO". Only those

addressType (String)

-White Paper Title

Page 30

countries allowed for the type are shown. If addressType is not set, all countries are shown. noName (String) If noName is set to "true", then the readonly name is not shown in the form. Otherwise current user's first and last name are displayed as read-only. The parameter for the radio buttons. Value of "old" is existing address. Otherwise, "" (blank).

Parameter

selectAddressRadio

JSP page

ibeCAddAddrEdit0.jsp (STORE_ADDRBK_DISPLAY_FORM)

Description Display a form for create new address Attributes noName (String) If noName is set to "true", then the readonly name is not shown in the form. Otherwise current user's first and last name are displayed as read-only. If noPartySiteName is set to "true", then the party site name input field is not shown in the form. set addressType to "SHIPTO" or "BILLTO", then only those allowed countries are shown. If addressType is not set, all countries are shown.

noPartySiteName (String) addressType (String)

APPENDIX E - ORACLE ISTORE PARTY/ACCOUNT MERGE Review Oracle iStore implementation Guide, Chapter 12.9, Oracle iStore and Party/Account Merge.

-White Paper Title

Page 31

-White Paper Title

Page 32

White Paper Title [Month] 2000 Author: Contributing Authors: Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 www.oracle.com Oracle Corporation provides the software that powers the internet. Oracle is a registered trademark of Oracle Corporation. Various product and service names referenced herein may be trademarks of Oracle Corporation. All other product and service names mentioned may be trademarks of their respective owners. Copyright 2000 Oracle Corporation All rights reserved.

You might also like