Thursday, October 21, 2010

Updating Contact Information

Oracle iStore has a very tight integration with the TCA Architecture or the Customer information that can be managed via the Customer Standard form. Although there are lot of fields Oracle CRM modules update in the backend, there are certain significant fields that are required for further market analysis and statistics.

Job Title is one such field that does not get updated and this is related to the Contact information with in the Customer Standard information. There are standard APIs in TCA that allow us to insert or update records, however to understand how this can be put to best use needs some good understanding of pl/sql and the TCA Architecture.

Creating Customer Information using Java APIs

There are standard PL/SQL TCA APIs that can be used to create customer information as per following notes on metalink.oracle. or support.oracle.com


Using TCA API’s Including Examples [ID 201243.1]

How To Create A Customer Via TCA API [ID 159393.1]

Different uses of TCA API. [ID 230753.1]

How to create a cust_account via TCA API to an existing PARTY (PERSON Customer)? [ID 204545.1]


However when it comes to using Java APIs, there is no documentation on how to use them or where to find them.


Here’s a list of Java APIs that we have created to create Locations, Account and other related data that’s required when one queries for information in Customer Standard form.


Create Account :

HzCustAccountV2Pub.CustAccountRec : Model class for an Account, required by HzCustAccountV2Pub.createCustAccount

HzCustomerProfileV2Pub.CustomerProfileRec : Model class for customer profile. Required by HzCustAccountV2Pub.createCustAccount

HzCustAccountV2Pub.createCustAccount : Creates an Account. This API creates both Party and Account in Oracle.

HzCustAccountV2Pub.getCustAccountRec : Loads HzCustomerProfileV2Pub.CustomerProfileRec and HzCustAccountV2Pub.CustAccountRec objects based on account_id passed to the function.

HzLocationV2Pub.LocationRec : Model class for a Location, required by HzLocationV2Pub.createLocation.

HzLocationV2Pub.createLocation : Creates a Location in Oracle, represented by HzLocationV2Pub.LocationRec

HzPartySiteV2Pub.PartySiteRec: Model class for party site, required by HzPartySiteV2Pub.createPartySite. This links a Party and a Location.

HzPartySiteV2Pub.createPartySite : Creates party site represented by HzPartySiteV2Pub.PartySiteRec

HzCustAccountSiteV2Pub.CustAcctSiteRec : Model class for account site, required by HzCustAccountSiteV2Pub.createCustAcctSite. This links a party site and an account.

HzCustAccountSiteV2Pub.CustSiteUseRec: Model class foran account site use. This record has property for use_code. This allows to create bill to and ship to account site use. For, ship_to account site use we can specify bill_to account site use ID.

HzCustAccountSiteV2Pub.createCustSiteUse: Creates an account site use record in oracle represented by HzCustAccountSiteV2Pub.CustSiteUseRec.


Update Account:

HzPartyV2Pub.PersonRec : Model class for person.

HzPartyV2Pub.PartyRec : Model class for a party. Required by HzPartyV2Pub.PersonRec.

HzPartyV2Pub.updatePerson : Updates party of type person represented by HzPartyV2Pub.PersonRec.

HzLocationV2Pub.LocationRec : Model class for a location.

HzLocationV2Pub.updateLocation : Update a location, represented by HzLocationV2Pub.LocationRec.


Load:

HzLocationV2Pub.LocationRec : Model class for a location.

HzLocationV2Pub.getLocationRec : Loads a location in HzLocationV2Pub.LocationRec object.

HzCustAccountV2Pub.CustAccountRec : Model class for an Account, required by HzCustAccountV2Pub.createCustAccount

HzCustomerProfileV2Pub.CustomerProfileRec : Model class for customer profile. Required by HzCustAccountV2Pub.createCustAccount

HzCustAccountV2Pub.getCustAccountRec : Loads HzCustomerProfileV2Pub.CustomerProfileRec and HzCustAccountV2Pub.CustAccountRec objects based on account_id passed to the function

Monday, October 18, 2010

Using Google Analytics in iStore

With the advent of internet growth, it has become imperative for a merchant to find out the ROI on a website. Who is visiting the site, from what part of the world, what pages are being viewed on daily, weekly or a monthly basis are some of the things that a merchant is always interested in konwing. Google Analytics shows you how people found your site, how they explored it, what pages were visited and lot of other useful information. Basically you can see the ROI on your website very quickly.



IbizSoft has received lot of requests to be able to integrate iStore with some online Analytic tool. Google is an obvious choice to show case how best we can integrate the tools with Oracle iStore.



Implementing Returns in iStore

In today’s e-commerce environment, accepting return items in web stores is standard functionality. Providing returns functionality both reduces the cost of doing business for merchants, and provides a invaluable step toward a complete customer self-service orientation. To address this business requirement, Oracle iStore provides Returns functionality in the Customer UI. Using the Orders menu in the Customer UI, customers can initiate returns for orders which are in “Booked” status in Oracle Order Management. If an approval process is being used, an administrator can use Oracle Order Management to evaluate the returns, and either approve or reject the returns. Merchants can set up returns with or without Oracle Workflow approval mechanisms in place.


The following is a high-level Returns flow:



1. To initiate a return (also known as a Return Material Authorization, or RMA), customers select applicable items, specifying the return quantities and return reasons.



2. After the customer submits the RMA, Oracle iStore automatically sends a confirmation e-mail notification to the customer.



3. Once Oracle Order Management processes the return order, the appropriate e-mail notification is sent to the user, notifying him whether the RMA has been approved or not (if approvals are being used). For approved RMAs, merchants can set up a return location to be sent in the e-mail notification.



4. After an RMA is approved, on the back end, Oracle Purchasing and Oracle Accounts Receivable work to complete the RMA processing, by fulfilling the order lines and generating credit memos.



5. RMAs are then available for the customer to track in Order Tracker.





Setting up the Profile Options:




For setting up returns in the iStore you need to set up the following profile options as per the iStore Implementation Guide.




  1. IBE: Use Returns – YES


  2. IBE: Return Orders Transaction Type not able to set this option since throws an error message "APP-FND-04136: List of Values cannot find any values for you to choose. Cause: The SQL statement specified to fdlfch() failed to return any values"


  3. IBE: Enable Return Pre-booking Approval set to YES


  4. IBE: Enable Return Policy intially set to YES but was giving "Application Error" so made to NO

  5. ASO: Default Salesrep set to "NO Sales Credit




returns_articles_clip_image002.jpg




Set profile option "IBE: Return Orders Transaction Type" to the transaction type you wish returns to be created under. This must be the transaction defined for the iStore returns as described in the iStore documentation (Step 3 - Set up Transaction Type of section Implementing Returns)

You may use the following steps as an example setup for Oracle iStore returns transaction type. See the Oracle Order Management Suite Implementation Manual for additional setup information.



Creating a Transaction Type:



Important: For Oracle iStore returns, only set up transaction types using Order

Category = Return. Mixed should not be used and will not work.



1. As Order Management Superuser, navigate to the Transaction Types window and set up a new Order Type with following attributes:

a. Name/Description – iStore RMA (user definable)

b. Order Category – Return

c. Transaction Type Code – Order

d. Workflow Fulfillment Flow/Order Flow -- Depends on whether the returns pre-booking feature is enabled:

--If the profile, IBE: Enable Returns Pre-Booking Approval, is set to No, use Order Flow - Return with Approval. If this workflow is used, you can enable an approval process, after the return is Booked in Order Management and if an Approval List has been set up.

--If the profile, IBE: Enable Returns Pre-Booking Approval, is set to Yes, use Order Flow - Return with Submission and Approval. See Section 12.8.2, "Returns Functionality With and Without OM Release

11.5.10", for more details on the returns pre-booking approval feature.

e. Sales Document Type – Sales Order

f. Default Transaction Phase – Fulfillment (applicable only if the returns

pre-booking feature is enabled)



2. Associate a price list with the above transaction type if using return fees, multi-currency price lists, and/or Order Management defaulting rules based on price list.

a. Set the 'Default Return Line Type' field to "Return (Receipt)".

3. Enter other required/optional information and Save.

4. Select Assign Line Flows, and assign a line type with Line Flow – Return for Credit with Receipt line flow. Note that Line Type is a required value in Transaction Types setup; otherwise, a "LineTypeId missing" error will display.

returns_articles_clip_image004.jpg



5. Document Sequence Assignment --- Assign the RMA Document Sequence on

the newly created, iStore RMA, transaction type.

Creating a Document Sequence

With an Order Management responsibility



1. Set up of Document Sequence:

- Navigate to Setup > Documents > Define

- Specify a Name for your sequence

- For the Application, select 'iStore'

- Specify the Effective From Date

- Set the Type as 'Automatic'



2. Set up of Document Assignment:

- Navigate to Setup > Documents > Assign

- For the Application, select 'iStore'

- For the Category, select the category that you want for this assignment

- For the Set of Books, select the Set of Books for this Organization

- For the Method, select 'Automatic'

- On the Assignment tab, enter the Start Date

- For the Sequence, select the Document Sequence defined above

Document Sequences form

Name: iStore RMA

Application: iStore

From: 07-OCT-2010

Type: Automatic

Once the document sequence is created you need to assign the document sequence

Sequence Assignments form



Application: iStore

Category: RMA



-- Document tab

Set of Books: DONAHER MOTION US

Method: Automatic



-- Assignment tab

Start Date: 07-OCT-2010

End Date: <blank>

Sequence: iStore RMA

returns_articles_clip_image006.jpg


returns_articles_clip_image008.jpg


With an Order Management responsibility



1. Set up of Document Sequence:

- Navigate to Setup > Documents > Define

- Specify a Name for your sequence

- For the Application, select 'Oracle Order Management'

- Specify the Effective From Date

- Set the Type as 'Automatic'



2. Set up of Document Assignment:

- Navigate to Setup > Documents > Assign

- For the Application, select 'Oracle Order Management'

- For the Category, select the Order Transaction Type defined for the iStore Return setup

- For the Set of Books, select the Set of Books for this Organization

- For the Method, select 'Null'

- On the Assignment tab, enter the Start Date

- For the Sequence, select the Document Sequence defined above

Application: Order Management

Category: iStore RMA



--Document

Set of Books: DONAHER MOTION US

Method: Automatic



--Assignment

Start Date: 11-Oct-2010

Sequence: Order RMA



Document Sequence



Name: Order RMA

Application: Order Management

From: 11-Oct-2010

Type: Automatic

Initial Value: 1



returns_articles_clip_image010.jpg




returns_articles_clip_image012.jpg



returns_articles_clip_image014.jpg