33
Oracle iStore 11i –11.5.10 and TCA Whitepaper An Oracle White Paper May 2005

Tca

Embed Size (px)

Citation preview

Page 1: Tca

Oracle iStore 11i –11.5.10 andTCA Whitepaper

An Oracle White PaperMay 2005

Page 2: Tca

-White Paper Title Page 2

IStore 11.5.10 and TCA

Executive Overview...........................................................................................4Introduction........................................................................................................4What is TCA? .....................................................................................................4ISTORE 11I CUSTOMER MODEL ............................................................5

HZ_PARTIES ...................................................................................................5FND_USER.......................................................................................................5HZ_PARTY_RELATIONSHIPS .......................................................................5HZ_RELATIONSHIPS .....................................................................................5HZ_CUST_ACCOUNTS ...................................................................................5HZ_CUST_ACCOUNT_ROLES .......................................................................6HZ_ORGANIZATION_PROFILES .................................................................6HZ_RELATIONSHIPS .....................................................................................6

USER TYPES.....................................................................................................6Anonymous ....................................................................................................6Signed-in (B2B or B2C users ) ....................................................................6Individual (B2C) User ...................................................................................6Business (B2B) User......................................................................................7Oracle Partner Management primary users...............................................7Oracle Partner Management non-primary users ......................................7

REGISTRATION FLOWS.............................................................................9B2C Regitration Flow ...................................................................................9B2B –New Organization Flow....................................................................9B2B –Existing Organization Flow............................................................10

USER TYPE AND THE DATABASE EXAMPLES .............................11B2C user created in iStore..........................................................................11Guest user.....................................................................................................11B2B (non-administrative) user created in iStore, already approved ....11B2B (non-administrative) user created in iStore, not approved yet ....13B2B (administrative) user created in iStore .............................................13

SHOPPING CART INTERACTION WITH TCA.............................. 155APPENDIX A - Overview of User Management......................................19

Key Terms and Definitions .......................................................................19APPENDIX B - ROLES AND PERMISSIONS FOR ORACLEISTORE 11I USERS .......................................................................................21APPENDIX C - ADDRESS BOOK FREQUENTLY ASKEDQUESTIONS & TROUBLESHOOTIN G............................................ 211

Page 3: Tca

-White Paper Title Page 3

Frequently Asked Questions......................................................................21Troubleshooting ....................................................................................... 267

APPENDIX D - ADDRESS USAGE JSPS............................................ 300APPENDIX E - ORACLE ISTORE PARTY/ACCOUNT MERGE.31

Page 4: Tca

-White Paper Title Page 4

iStore 11.5.10 and TCA

EXECUTIVE OVERVIEWThe purpose of this paper is two fold:

• Highlight iStore (11.5.10)’s interaction with the TCA Model, via theprocess of User Registration and the Shopping Cart & Address Bookfunctionality found within the iStore module

• Provide a detailed overview of the iStore (11.5.10) User Managementframework and its dependency on JTA and FND – including the UserRegistration flow and Merchant Approval flow

INTRODUCTIONThe Oracle 11i Trading Community Model is a highly flexible architecture

that allows you to fully model real world entities in your trading community andaccurately represent the complex relationships among those entities.

Oracle iStore 11i makes extensive use of the Trading CommunityArchitecture (TCA), in particular, in the areas around User Registration, AddressBook functionality and the Party Merge process. This paper aims to highlight theiStore 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. TheTCA 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 exploitvaluable information about your commercial community: organizations, people,places, and the network of relationships that bring them together.

Page 5: Tca

-White Paper Title Page 5

ISTORE 11I CUSTOMER MODELOracle iStore 11i leverages the TCA customer tables for storing data pertainingto customers for both the Business-to-Business (B2B) and Business-to-Consumer (B2C) scenarios. The high level Entity Relationship Diagram (ERD)here describes the relationship between these tables:

HZ_PARTIESStores information about parties such as organizations, people,

groups and relationships, including the identifying address information for theparty. Several pieces of data, such as the identifying address, organization profileinformation, and person profile information, is de-normalized onto this table forperformance reasons. The primary key for this table is PARTY_ID.

FND_USERStores information about application users. Each row includes the

user’s username (what a user types in at the sign–on screen), password, andinformation on when the user should change the password. Each row alsocontains information on when the user last signed on, start and end dates forwhen a username is valid and a description of the user.

HZ_PARTY_RELATIONSHIPSIn 11.5.10, this is now a view based on HZ_RELATIONSHIPS. The table

exists for some compatibility support.

HZ_RELATIONSHIPSStores information about relationships between one party and another party.

The SUBJECT_ID and OBJECT_ID columns specify the relationship that existsbetween two parties. For example, if the party relationship is of the Parent Of type, aholding company could be the SUBJECT_ID in the relationship while one of itssubsidiaries could be the OBJECT_ID. Creating a party contact causes a partyrelationship to be created. A party can have different relationships with one or moreother parties. A party relationship can be specified with specific start and end dates sothat the subject or object of a relationship can change over time. The primary key forthis table is RELATIONSHIP_ID.

HZ_CUST_ACCOUNTSStores information about customer relationships established with a party.

When a party becomes a customer, information about the customer account is storedin this table. Since a party can have multiple customer accounts, this table may containseveral records for a single party. For example, an individual person may establish apersonal account, a family account, and a professional account for a consultingpractice. Note that the focus of this table is a business relationship and howtransactions areConducted in the relationship. The primary key for this table isCUST_ACCOUNT_ID.

A single PARTY_ID is stored on this table to designate the customer accountOwner. Each customer account may have only one owner (although other parties

Page 6: Tca

-White Paper Title Page 6

may be associated to the customer account via the HZ_CUST_ACCOUNT_ROLEStable).

HZ_CUST_ACCOUNT_ROLES Stores information about a role or function that a party performs in relationto a customer account. For example, Jane Doe might be a legal contact for VisionCorporation. 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 isassociated 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_PROFILESStores the profiles (detail information, features, amount of employees, etc) of

an “ORGANIZATION” party type. The Internal_flag column distinguishes anexternal organization from an internal one.

USER TYPESIStore 11i supports a number of user types that have varied access and

functionality in the customer UI. For any particular session, at the highest layera user may be Anonymous or Signed-In. A signed-in user may be an individualend-user (B2C), Business user (B2B), or a user who has not yet been approved.

AnonymousUser 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.) InHZ_PARTIES the party_name column value will be IBEGUEST, and inFND_USER the user_name column value will be IBEGUEST. Both tables are relatedby 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 anaccount is a person, it is a personal account. If the owner of an account is anorganization, it is a business account.

Individual (B2C) User An individual user is an individual person having no relationship to anorganization. Individual (B2C) users are associated to the default Oracle iStore B2Cuser responsibilities and roles, via the following enrollment:

• iStore (Individual User) --- This enrollment contains the seeded iStorecustomer responsibility. It is active by default.

This default enrollment gives B2C users the required ability to accessOracle iStore sites via the Oracle iStore Customer.

By default, these users do not require approval. No roles are assigned to thisuser type out-of-the-box.

Page 7: Tca

-White Paper Title Page 7

Business (B2B) UserGenerally 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 isnoted 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 andOracle iSupport non-primary B2B user responsibilities and roles, via thefollowing enrollments:

o iStore (Business User) --- This enrollment contains theseeded Oracle iStore customer responsibility and the non-administrative business user role.

This default enrollment gives these users permission to access Oracle iStoreas regular business users. By default, these users require approval by a primary userwithin their company.

• Primary business users (Administrative B2B users) --- Typically,primary users are associated to the default Oracle B2B primary userresponsibilities and roles, via the following enrollments:

o iStore (Primary User) --- This enrollment contains the seedediStore

customer responsibility and the administrative business user role.This default enrollment gives these users permission to access OracleiStore as primary users for their companies. By default, these users donot require approval.

• B2B Reseller UsersThe seeded IBE_RESELLER_ROLE is appropriate to assign to users

who sell your products but are not internal to your company. It can be assignedto 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 inyour records, bill to anyone other than the sold-to customer, or sell to customerswho 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 androles via the iStore (PrimaryUser) enrollment. This default enrollment gives theseusers permission to access the Oracle iStore sites as partner primary users. Bydefault, these users do not require approval.

Oracle Partner Management non-primary usersBy changing the default user type setup, Oracle Partner Management

non-administrative B2B users can be associated to the non-administrative businessuser responsibilities and roles via the iStore (Business User) enrollment. Thisdefault enrollment gives these users permission to access the Oracle iStore sites asregular 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 AdministratorConsole. In general the steps to follow are:1. Log in to the Oracle CRM System Administration Console.

Page 8: Tca

-White Paper Title Page 8

2. Set the desired Oracle Partner Management user types as active. The OraclePartner Management registration links will automatically be available in theNew User Registration page.

Page 9: Tca

-White Paper Title Page 9

REGISTRATION FLOWS

B2C Registration Flow

B2B –New Organization Flow

Page 10: Tca

-White Paper Title Page 10

B2B –Existing Organization Flow

Page 11: Tca

-White Paper Title Page 11

USER TYPE AND THE DATABASE EXAMPLESHere 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 SiverioUser = 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_idTo obtain the person associated to the user.

Person_identified =10442 (not null because is a person)Pary_number =12988Party_id = 15517Party_name = Jose SiverioParty_type = PersonPerson first name and last name availables.

In HZ_CUST_ACCOUNTS provide the user party_id and obtain:Cust_account_id = 4873Account_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 notrecords 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 typessetup steps, explained inside istore implementation guide, chapter 4.2.1 Set up GuestUser Access.

B2B (non-administrative) user created in iStore, already approved

Page 12: Tca

-White Paper Title Page 12

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 =13794Party_id = 16303Party_name = Jose Siverio – JCUST-13794Party_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 iscorrect because JSIVERIO_IBEBU is a user of an organization. Data is returned withthe 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 = 15847Account_number for Org= 2715

In HZ_PARTIES, provide the party_id for the Org, and obtain the Org. details:

Party_number =13320Party_name = JCUSTParty_type = ORGANIZATIONNo person_identifier (correct).

In HZ_PARTY_RELATIONSHIPS provide the party_id for the B2B user (16303) toobtain:Party_relationship_id = 7735Party_relationship_type = EMPLOYEE_OFObject_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 obtaintwo records:

Relationship_id = 7735Subject_id = 16302 (Person) and 15847 (Org)Object_id = 15847 and 16302Relationship_code = EMPLOYEE_OF

JSIVERIO_IBEBU is a B2B approved user created for JCUST Organization.

Page 13: Tca

-White Paper Title Page 13

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_idTo obtain the person associated to the user.

Person_identified =Null (It is a Org. user)Pary_number = 16320Party_id = 19849Party_name = Jose B2Bsecond-JOrg-16320Party_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 isprovide. 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_OFObject_id = 19838Subject_id = 19848

In HZ_RELATIONSHIPS provide the party_id for the B2B user (19849) to obtain 2records:

Relationship_id = 8678Subject_id = 19848 and 19838Object_id = 19838 and 19848Object_type = ORGANIZATION and PERSONSubject_type = PERSON and ORGANIZATIONRelationship_code = EMPLOYEE_OF

JSIVERIO_BU3 is a B2B user, not approved yet, as soon as it is approved. New datais updated inside HZ_CUST_ACCOUNT_ROLES.

B2B (administrative) user created in iStore

User = JSIVERIO_B2B

In FND_USER providing user_name:

Page 14: Tca

-White Paper Title Page 14

USER_ID USER_NAME EMPLOYEE_ID CUSTOMER_ID----------- ---------------------- ---------------- -----------------1006523 JSIVERIO_B2B 19840

In HZ_Parties, providing the party_id = customer_idTo obtain the person associated to the user.

Person_identified =Null (It is a Org. user)Pary_number = 16311Party_id = 19840Party_name = Jose B2BMain-JOrg-16311Party_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 iscorrect.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 = 19838Account_number for Org= 3271

In HZ_PARTIES, provide the party_id for the Org, and obtain the Org. details:

Party_number =16309Party_name = JOrgParty_type = ORGANIZATIONNo person_identifier (correct).

In HZ_PARTY_RELATIONSHIPS provide the party_id for the B2B user (19840) toobtain:Party_relationship_id = 8674Party_relationship_type = EMPLOYEE_OFObject_id = 19838 (Organization party id)Subject_id = 19839 (Person party_id)

In HZ_RELATIONSHIPS provide the party_id for the Relationship (19840) toobtain 2 records with:

Relationship_id = 8674 (same for both)Subject_id = 19838 (Org party_id), 19839 (User party_id)Relationship_code = EMPLOYEE_OFSubject_type = PERSON (19839) and ORGANIZATION (19838)Object_id = 19838 (Person) and 19839 (Organization)

Page 15: Tca

-White Paper Title Page 15

SHOPPING CART INTERACTION WITH TCAThroughout 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 andorder to be processed; ultimately providing a 360 degree view of the customer’sinteraction with the merchant.The following scenario was tested in 11.5.10:

B2B Shopping Session:User JSIVERIO_IBEBUOrganization = 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_USERHZ_PARTIESHZ_CUST_ACCOUNTSHZ_CUST_ACCOUNT_ROLESHZ_PARTY_RELATIONSHIPSHZ_RELATIONSHIPSHZ_ORG_CONTACTSHZ_PARTY_SITESHZ_PARTY_SITE_USESHZ_LOCATIONSHZ_CUST_ACCOUNT_ROLESHZ_ROLE_RESPONSIBILITYHZ_CUST_ACCT_SITES_ALLHZ_CUST_SITE_USES_ALLASO_QUOTE_HEADERS_ALLASO_QUOTE_LINES_ALLASO_SHIPMENTSOE_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_IDfrom fnd_userwhere user_name like '%&User_Name%'User Party_id (customer_id) is obtained (16303).

Page 16: Tca

-White Paper Title Page 16

select PARTY_ID,PARTY_NUMBER,request_id,PARTY_NAME,PARTY_TYPE,PERSON_FIRST_NAME,PERSON_LAST_NAME,PERSON_IDENTIFIERfrom hz_partieswhere party_id =16303(User Party_id)

select PARTY_ID,CUST_ACCOUNT_ID,ROLE_TYPEfrom hz_cust_account_roleswhere party_id = 16303 (User Party_id)

select CUST_ACCOUNT_ID,PARTY_IDfrom HZ_CUST_ACCOUNTSwhere cust_account_id = 5397 (OrgAccount Id)

select PARTY_ID,PARTY_NAME,PARTY_TYPEfrom hz_partieswhere party_id =15847 (Org Party_id)

select PARTY_RELATIONSHIP_ID, SUBJECT_ID, OBJECT_ID,PARTY_ID,PARTY_RELATIONSHIP_TYPEfrom HZ_PARTY_RELATIONSHIPSwhere party_id = 16303 (user party_id)

select RELATIONSHIP_ID, SUBJECT_ID, OBJECT_ID,RELATIONSHIP_TYPEfrom HZ_RELATIONSHIPSwhere party_id =16303 (User Party_id)

select ORG_CONTACT_ID,PARTY_RELATIONSHIP_IDfrom HZ_ORG_CONTACTSwhere PARTY_RELATIONSHIP_ID =7735(Party_relationship_id = relationship_id obtained above)

select PARTY_SITE_ID,PARTY_ID,LOCATION_IDfrom HZ_PARTY_SITESwhere 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_TYPEfrom HZ_PARTY_SITE_USESwhere 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,CITYfrom HZ_LOCATIONS

Page 17: Tca

-White Paper Title Page 17

where LOCATION_ID in (11934, 13056, 13074, 13094, 12794)

select CUST_ACCOUNT_ROLE_ID, PARTY_ID, CUST_ACCOUNT_ID,CUST_ACCT_SITE_IDfrom HZ_CUST_ACCOUNT_ROLESwhere party_id = 16303

cust_acount_role_id = 6109, 6575, 6099, 6575, 16303, 5397,5943

select RESPONSIBILITY_ID, CUST_ACCOUNT_ROLE_ID,RESPONSIBILITY_TYPEfrom HZ_ROLE_RESPONSIBILITYwhere 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_IDfrom HZ_CUST_ACCT_SITES_ALLwhere CUST_ACCT_SITE_ID = 5943

• 5943 , 5397 8385

select SITE_USE_ID,CUST_ACCT_SITE_ID,SITE_USE_CODEfrom HZ_CUST_SITE_USES_ALLwhere 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_IDfrom ASO_QUOTE_HEADERS_ALLwhere 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_ALLwhere QUOTE_HEADER_ID=5355

select SHIPMENT_ID, QUOTE_HEADER_ID, SHIP_TO_PARTY_ID,SHIP_TO_PARTY_SITE_IDfrom ASO_SHIPMENTSwhere QUOTE_HEADER_ID = 5355

• 8065 5355 blank blank

Page 18: Tca

-White Paper Title Page 18

• 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_IDfrom OE_ORDER_HEADERS_ALLwhere ORDER_NUMBER =55064(Order number obtained in istore)

Page 19: Tca

-White Paper Title Page 19

APPENDIX A - OVERVIEW OF USER MANAGEMENTUser 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 businessrequirements.

User management involves registering new users, modifying existing users,approving or rejecting user approval requests, setting up enrollments and registrationtemplates, assigning users to business accounts, and more. The technology stack forperforming most of the background setups and processes for user management issupplied through the Oracle CRM Technology Foundation and Oracle CommonApplication Components. Oracle iStore also has a comprehensive set of userOverview of User Management

Key Terms and DefinitionsThis section provides key terms and definitions related to user management.

Approval Definition --- Approval definitions use Oracle Workflow to track androute request(s) to the approvers. An approval definition can deliver an e-mailnotice to the approvers. Both user types and enrollments can share the sameapproval definition. The e-mail notifies what types of requests are beingrequested (user type or enrollment) and what action the approver needs to take.

Business User --- Business-to-business (B2B) users represent companies whoseinformation 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 receiveduring or after registration. "Services" include responsibilities, roles, approvaldefinitions, and registration templates. One enrollment corresponds to zero orone responsibility, zero or one template, zero or one approval and zero or moreroles. 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. Itusually serves to grant a certain type of access to a resource. Resources areapplication elements such as objects or methods of objects. A resource can haveunique permissions for each way that it can be accessed.Overview of User Management

Primary User --- An administrative B2B end-user charged with fulfilling usermanagement functions for his company. Typically, when the first B2B userregisters from a company, an Organization ID (Registry ID) is created.

User Type Templates --- Applications require varying pieces of information toregister different types of users. User Type templates refer to JSP files that areused to capture the registration information that is special to a particular UserType. Oracle iStore user types are associated to specific user type templates,defined in the Oracle iStore Template Manager, and do not use JTF registrationtemplates.

Page 20: Tca

-White Paper Title Page 20

Responsibilities --- When a registered user initially logs in to the OracleE-Business Suite HTML login, the system checks the user’s currentresponsibility and then passes the user into the menu structure associated withthe HTML application to which that responsibility is linked. In this way,different user types can have different responsibilities and therefore can havedifferent menus assigned to them.Responsibilities can either be grantedautomatically upon registration, through the user management framework, oron a case-by-case basis by an administrator.

Roles --- Within each HTML page, granular permissions control whichresources on a page a user is allowed to access. These resources may be abutton, a data manipulation permission, a view permission, and so on. InOracle HTML applications, permissions are grouped into roles which can thenbe granted to users. Roles are granted either automatically (depending uponyour configuration) or on a user-by-user basis by an administrator.

User Profile --- User profiles, which are associated with responsibilities, are setsof user interfaces that give users access to their personal data and preferences.

User Profile Menus --- User profile menus are groupings of user profile pageswhich are relevant to a particular responsibility. User Profiles are user interfacesto users' personal data and preferences. A number of responsibilities can sharethe same user profile menu.

User Type --- A category of users that caters to the specific needs of anapplication’s business requirements. User types allow flexible and extensibleways for defining, categorizing and implementing behavior of users. A usertype is associated to only one template, one responsibility, zero or one approval,zero or more enrollments, and zero or more roles. Examples include: Registeryour company, Register as individual, and Register as a user of an existing company.

Page 21: Tca

-White Paper Title Page 21

APPENDIX B - ROLES AND PERMISSIONS FOR ORACLE ISTORE 11IUSERSReview Appendix C inside the iStore 11.5.10 implementation guide

APPENDIX C - ADDRESS BOOK FREQUENTLY ASKED QUESTIONS &TROUBLESHOOTING

Frequently Asked Questions

A. Index

1. How come the address book accepts an invalid address I enter?

2. Can I turn off address validation?

3. What country does address validation work in?

4. The address validation is turned on. But the address book does notreturn a drop down of possible selection. It just denies my entrywith an error message.

5. Why there is always a county in my address even though I havenever entered one?

6. What is the Location Flexfield Structure in Account ReceivablesSystem Setup?

7. I tried to place an order but I received an "error from OrderManagement"?

8. How come the address I enter does not show up in AccountReceivables?

9. How come the address is primary shipping/billing even though Idid not check the flag when I created it?

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 thataffect 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 gotan error saying that the address is invalid.

15. How come I see a short list of countries during checkout but a longlist of counties in address book?

Page 22: Tca

-White Paper Title Page 22

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 flexfields?

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 Ienter?

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 offaddress validation if your setup does not require tax calculation oryou 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 thatwould not make too much sense because other country may notvalidate address and calculate tax based on city.county.state like USdoes.

4. The address validation is turned on. But the address bookdoes not return a drop down of possible selection. It justdenies my entry with an error message.

If you enter an address with information that is very incorrect andway off, the address book won't be able to find some close matches. Try to enter some realistic information and you should see a dropdown of closely matched selections.

5. Why there is always a county in my address even though Ihave never entered one?

US tax calculation is based on city.county.state. Although theaddress book does not explicitly mandate county for the sake ofuser not customed to enter county, you can either implicitly pick itfrom the location selection drop down or the address bookautomatically set it if there is only one county fit for your address. If there are more than one counties, you will be prompted to selectfrom the drop down or you can always enter a county manually.

Page 23: Tca

-White Paper Title Page 23

6. What is the Location Flexfield Structure in AccountReceivables System Setup?

The Location Flexfield Structure defines the structure andrelationship of your location data. The common structure iscity.county.state for US. When address validation is turned on,validation is done according to this structure. [city.county.state isonly supported by AR at this time in the Java API.] When addressvalidation is turned off, the value should be set to "country - novalidation". Be aware that the Location Flexfield Structure is set atinstallation/setup time and cannot be changed afterward. Therefore, decide whether you want address validation and locationbased tax calculation before you set it to anything.

7. I tried to place an order but I received "An error from OrderManagement"?

One possible failure for order is the tax setup and the addressvalidation setting. Refer to the troubleshooting section.

8. How come the address I enter does not show up in AccountReceivables?

You have to place an order with the address. That would ultimatelycreate a cust_acct_site and the address would show up in AccountReceivables.

9. How come the address is primary shipping/billing eventhough I did not check the flag when I created it?

When there is not any primary shipping/billing, the new addresscreated is default to primary shipping/billing.

10. I got a java framework exception when I tried to create anaddress?

The AR address validation API is likely having a problem. Refer tothe 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 previousinformation. It end date the previous address and creates a newaddress.

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 Igot an error saying that the address is invalid.

Address is not site stripped. That means if the address is created insite A where address validation is turned off, you can see theaddress in site B where address validation is turned on. If theaddress entered in site A is invalid, you will get an error if you usethat for your order in site B because it requires valid addresses.

Page 24: Tca

-White Paper Title Page 24

15. How come I see a short list of countries during checkout but along 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 forany countries. Only when you order, we enforce the restriction ifsuch restriction is defined. See the troubleshooting section forinformation 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 addressamong b2b users and permission controlled access should be part ofit.

17. When Non-US formats will be localized for the countries

Account Receivables' Flexible Address Format will be supported inthe future (probably in IBE.I timeframe). [Since we are already inIBE.P, pls. find out which IBE patch starts supporting this feature, andreword this sentence properly.] It provides five different formats, Japan,Northern Europe, South America, Southern Europe, andUK/Africa/Australia/Asia.

18. What does this error mean? The following SQL erroroccurred: ORA-20000: APP-11027: Mandatory segment:"COUNTY" .

This message shows up during B2C or B2B checkout when theaddress is used to calculate tax for a particular order. The errormessage means that the mandatory segments of an address, such ascity or state is missing that is needed to calculate tax within US. It ispossible that the address is created where address validation is notrequired or from another application which does not verify all theinformation in the address. To check whether address validation ison, follow the following steps:

• login as user sysadmin with responsibility of ReceivablesManager

• goto Setup->System->System Options -open the Tax tab& look at the value for Address Validation; validation is onif it's set to Error

If a user sees the error message in iStore when the addressvalidation is turned on, then this could be a bug in iStore. If theaddress validation is turned off and the location flexfield iscity.county.state, account receivables tries to calculate tax based oncity, county, and state. And because the mandatory information ismissing from the address, a user will see the error.

19. From B2B checkout, can I create address for customer andcontact?

Creating address (from ibeCCkdCreateAddr.jsp) is based on threeconditions:

• If no contact is chosen and user does not have createcontact address permission, the address will be created forthe customer. The readonly label indicates it is forcustomer.

Page 25: Tca

-White Paper Title Page 25

• If contact is chosen and user does not have createcustomer address permission, the address will be createdfor the contact. The readonly label indicates it is forcontact.

• 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 twoconditions:

• If user has create customer addresspermission, the button is shown

• If contact is chosen and user has createcontact address permission, the button isshown.

21 How to setup list of billing & shipping countries?

In ibeCCkdSearchAddr.jsp where we display theshipping/billing countries, we call AddressBook APIs toget shipping/billing countries. If there's none, then we'lldefault to the default org country. Both theshipping/billing countries as well as the org country setupare 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 ResourceResponsibility

• -Open Work Structure->Organization->Description->FindOrganization form

• -Find Operating Unit inOrganization Classification, click on‘Others’

lookup:

Bill To Countries

Ship To Countries

22.Filtering Invalid Addresses

• If a user invalidates an address or addressusage (e.g. Ship To, Bill To) in AR Forms,this action will also make the address

Page 26: Tca

-White Paper Title Page 26

disappear from iStore’s checkout addressLOV. However the address is still availablein iStore’s address book.

• We delivered this feature in IBE.N and also providedbackport in IBE.K. (See bug/ER 2155605).

• A user deletes an address in iStore address book butthe address is already in the shopping cart. We willdisplay the deleted address in checkout’sbilling/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 descriptiveflex fields?

iStore calls JTF Descriptive FlexField API to render theaddress creation form if the country has a style associated withit (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 addressstyle by entering 'Address' in the title field.

• The Address descriptive flex field has several addressstyles, click on an address style (say NE for NorthernEurope)

• Select a column (e.g. Address 1) then goto the menubar and click on View->Translations, you will see allthe languages available & the segmentdisplay values for each language (e.g. address fieldlabel in this case).

• For the column Address 1 in French (if French issetup as a language for the operating unit), enter anappropriate 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, inaddress creation form when you pick France, youshould see what you entered in Forms for Address 1.

24. How to check the tax setup for the German org, and make surethe 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 theGerman 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.

Page 27: Tca

-White Paper Title Page 27

2. Tax is not calculated for the order billed to a foreign country.

3. The shipping and billing address are not restricted to the countryallowed.

4. Java FrameworkException when creating/updating an address.

5. 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 enteran invalid address. If that is the case, there is nothing to worryabout. Go to Account Receivables->Setup->System->SystemOptions->Tax. If Address Validation is "None". That meansaddress validation is turned off. Turn it on by setting AddressValidation to "Error". The Location Flexfield Structure shouldalso be city.county.state. This is a typical location structure forUS location based tax calculation. You should also setup thelocation data in Account Receivables->Setup->Tax->Locations. That is where you define the city, county, andstate relationship and the tax rate for each jurisdiction. Thedata 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 forforeign countries. You can assign a tax rate for a tax code. Then you can assign the tax code to a tax group. A tax groupallows you to group many tax codes together and define acondition for each tax code. You can define condition like "ifbilling country is UK". If the condition is true, that tax code isapplied. To create a tax code, go to Account Receivables->Setup->Tax->Code. To create a tax group, go to AccountReceivables->Setup->Tax->Groups. Ensure the default taxcode 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 levelunder Tax Code Defaults.

3. The shipping and billing address are not restricted to thecountry allowed.

A site is associated to an organization. So if for certain site youwant to define the shipping and billing countries, you have tofind out which organization the site belongs to. Login to formswith US HRMS Manager responsibility. Go to WorkStructures->Organization->Description. When the FindOrganization window shows up, type in the name of theorganization. In the Organization window and under theOrganization Classification sections, scroll down to selectOperating Unit and click Others. Select Ship to Country fromthe pop up window. Another window would show up. Youcan add and remove countries from the list. The countries in

Page 28: Tca

-White Paper Title Page 28

the list are the allowed shipping countries. If the list is empty,that means all countries are allowed. To define countries forbilling, you follow the same steps but select Bill to Countryfrom the pop up window instead. Save the changes and bouncethe middle tier. Then you should be restricted to thoseshipping and billing countries when you place an order.

4. Java FrameworkException when creating/updating anaddress.

If you get a Java FrameworkException when you try to create orupdate an address, the error message from the exception stackshould tell you what the problem is. If it doesn't, the exceptionis probably thrown out because the AR API has a fatal error. In that case, you have to turn on the logging and search for thestring, "FlexibleAddress" and "error code = ". The error codecan tell your what is wrong with AR API.

Error Code

10 TAX_COUNTRY_OUTOF_SCOPE

20 TAX_NO_ORDID

30 TAX_NO_ZX_TAX_SYSTEM_OPTIONS_TABLE

40 TAX_VENDOR_CONTRADICT

50 TAX_BAD_LOCATION_STRUCTURE_ID

60 TAX_BAD_STRUCTURE_FLEXFIELD

70 TAX_NO_LOCATION_STRUCTURE_ID

80 TAX_NO_ARP_TAX_VENDOR_PACKAGE

90 TAX_NO_CONNECTION

100 TAX_NO_VERTEX_TABLE

110 TAX_NO_TAXWARE_TABLE

120 TAX_NO_ORACLE_TABLE

180 TAX_EMPTY_ADDRESS

200 TAX_SYS_ERR

In next iStore patch (IBE.I), the error code will be part of theerror message in the stack trace. So looking into the log file isunnecessary.

Page 29: Tca

-White Paper Title Page 29

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 ofUK, go to Account Receivables->Setup->System->Countries. Type"United Kingdom" in Country/Territory. Then selectUK/Africa/Asia style and save the changes. Bounce the middletier. When you create an address for UK, the format should be theflexible address format.

Page 30: Tca

-White Paper Title Page 30

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 read-only name is not shown in the form.Otherwise current user's first and last nameare displayed as read-only.

noPartySiteName(String)

if noPartySiteName is set to "true", then theparty site name input field is not shown inthe form.

addressType (String) set addressType to "SHIPTO" or"BILLTO",then only those allowedcountries are shown.

If addressType is not set, all countries areshown.

noCountryDropDown if noCountryDropDown is set to "true", nodrop down list is shown. Otherwise, a dropdown is displayed as usual.

JSP page ibeCAddAddrDsp2.jsp (STORE_ADDRBK_DISPLAY_ALT)

Description Display an address

Attributes separator (String) This separator string is used to appendstring together. The default is "<BR>".

address (Address) or party_site_id(BigDecimal)

The address to be displayed

JSP page ibeCAddAddrSelCreate.jsp (STORE_ADDRBK_SEL_CREATE)

Description Display radio buttons. The first one for a drop down list of existingaddresses. The second one is a form for new address.

Attributes selectAddress (BigDecimal)

Set the selectAddress to the party site id. The address in the drop down whichmatches the party site id would beselected.

addressType (String) The addressType must be set to"SHIPTO" or "BILLTO". Only those

Page 31: Tca

-White Paper Title Page 31

countries allowed for the type are shown. If addressType is not set, all countries areshown.

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

Parameter selectAddressRadio The parameter for the radio buttons. Valueof "old" is existing address. Otherwise, ""(blank).

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 read-only name is not shown in the form. Otherwise current user's first and lastname are displayed as read-only.

noPartySiteName(String)

If noPartySiteName is set to "true", thenthe party site name input field is not shownin the form.

addressType (String) set addressType to "SHIPTO" or"BILLTO", then only those allowedcountries are shown. If addressType is notset, all countries are shown.

APPENDIX E - ORACLE ISTORE PARTY/ACCOUNT MERGEReview Oracle iStore implementation Guide, Chapter 12.9, Oracle iStore and

Party/Account Merge.

Page 32: Tca

-White Paper Title Page 32

Page 33: Tca

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.