Monday, December 20, 2010

Credit Card Order Management

In this post I will explain in detail about the new changes that Oracle made in R12 about handling of the credit card transaction. Oracle has made significant changes in R12 about handling of Credit Card Transaction.

To begin with now in R12 Order Management “Credit Card Type “ will be refer as “Card Brand”, also we need to enable OM profile OM: Credit Card Privileges, in order to enter credit card information in Sales Order and Payments form.

With R12 onwards OM will not store any of the Credit card/Bank Account related Information in it’s tables, all the credit and Bank related information will be encrypted and stored in a centralized system (i.e. Payments). This would give enhanced security and control over such critical information.

Order Management has to link to these table to retrieve the related information.

NOTE – we can still see the Credit Card related fields in OE_ORDER_HEADERS_ALL in R12, but OM don’t store any of the credit card information in these tables and these are their for Backward compatibility.In orders to protect their customer from Credit frauds (mostly when Credit Card is not Physically Present (Online/Over the Phone) credit card companies has provide the security code to enhance the security. In R12 Order management, Oracle has provide the field to capture the Security Code for the Credit card, value in this field will not be store any where in the system.

Security Code – It is 3 or 4 digit code provide by credit card companies, and we call it CCV/CCV2

As shown below, I have define the Security Code Setup as mandatory in Payments and also in the Masking Rules I have set “Display only last 4 Digits”

Once the Security Code set as mandatory, OM UI’s will mark the security Code filed as required field. But if it is not defined as mandatory in Payment Module, It remains options in Order Management.

Below are examples of the Billing Address is define as mandatory in Payments and user try to process the Orders without providing Billing details.

Security Code mandatory setup
Security Code is not a mandatory field, depending on your requirement you can make it required or option from the Payment Setup, flexibility to make it required or optional is one the best feature in this Area.

Copy Orders with Security Code Set as Mandatory

In R12, if the security Code is set as mandatory in Payments module and user try to Copy a Sales order which as credit card information, System will prompt user to uncheck “Copy payment” information and proceed.

Authorization Hold

Please make a note that Security Code is masked completely once we save the Sales order and ALSO SECURITY CODE is cleared from the UI, once Credit card is Authorized.This some time leads to issue of Order line being put on “Authorization Hold”.

Let me explain it in details, as I have explained that security code will be cleared from the line record as soon as authorization is done. Now if user tries to Reauthorize the card , at the point of time, the security code value is null (authorization process clears the security code value and it is not stored in the system). Since it is an essential attribute for authorization, reauthorization attempt would first put the transaction on CC Auth Hold. The user can then provide the security Code value and proceed with reauthorization

Item Orderability

Item Orderability - This is new feature introduced in Oracle R12.1.1.This is rule that user can define to restrict the items that can be ordered from the Sales Order form.

Because of the complex business scenario in the Modern time organization want to control which customer are allowed to order which product.

Now Order management Provide a new UI in R12.1.1 to define the rule to restrict the Item order, this UI is name as Item Orderability Rules.

It allow user to Order the Item to customer based on the Rules.

As of Now Oracle has provided rules to control only the 11 attributes - like you can ally the restriction based on


Customer class

Order types,

Customer category etc.

Below is Simple Flow

1. Define the Rules

2. Order the Item through UI/Order Import/Process Order API.

Below is Simple test case for Item Orderability feature.

Define the Item Orderability -

Define the Rules by selecting any of 11 attributes

Define the Criteria – Item or Category.

Define the Rule.

For Example – I want to define the Rule that Item AS54888 should not be Ordered for an Order with Item Type = Mixed.

For that I selected the

Criteria = Item

Rule level = Order Type

Rule Value = Mixed.

Please make sure that Enabled Flag = Yes for your Rule.

Once Rule is defined ,Entered Sales Order .

Customer ID = 1006

Order Type = Mixed

Item = AS54888

Try to save Order, System will Throw Error , because of the Item Order ability Rule as shown below.

Purge Shipping Execution

In R12 E-business Suite Oracle has introduced another new feature to Purge Shipping Execution data.

In this Post I will explain the various feature offered in Oracle Shipping.

Shipping Purge allow us to purge Shipping data for
• Delivery
• Trip
• Delivery Lines

For purge, Oracle in R12 (e-business suite) has added a new concurrent program “Shipping Purge”, It has lot of parameters and allow you to purge shipping data based on parameters.
Some of parameters are
• Organization
• Sales Order From and To
• Ship Date From and To
• Purge “in Transit Stop”
• Creation Data From and To
• Beyond x days etc

Oracle e-business suite has offered this Concurrent program in 2 modes.
• View Purge Selection
• Purge

View Purge Selection - If concurrent program executed in this model it will not delete any data, it rather print the data that is selected for purge , so that user can verify the data

Purge - If concurrent program executed in this model it will Purge the selected data.

Purge featured offered in R12 make sure about the data Integrity and will not purge any data that result in orphan’s records in other modules. It ensure that

1. Purge process purges complete set of records , e.g if you want to purge the trip and that trip is 5 deliveries , 4 are closed but 1 is still open then system will not let you purge the trip data.
2. It also validate the other Integrated modules before purging data, eg before purging delivery /delivery details/Trip it check the Order management data and make sure that order lines related to shipping data are not exists, same is the case with warehouse management data. If any such validation/restriction fails, Shipping will not purge data.

This is great feature offered in R12, as it help user to purge the Not required Shipping data and Save disk Space.

EBS Order Management

How a Sales Order Basic processes/stages set up is done in Order Management is explained in this


Sunday, December 19, 2010

Workflow WSH

Oracle has offered many new features in R12.In this post I will talk about the Introduction of the workflow in Oracle Application Shipping Module offered in R12. In R12 Oracle Shipping (WSH) is utilizing the workflow, with the introduction of the workflow now user can

  • Automate the Shipping business process by adding them in the Shipping workflow.
  • Routing based on the business rules.
  • Send the Notification to user about some Important event, e.g sending notification about
    • Backorder delivery
    • Dollar Amount or Volume in Delivery etc
  • Best of all now with workflow user can visualize the Shipping process, by means of workflow monitor and thus improve our visibility.
  • Integration with the 3rd party APIs will be easy , we can just add them where every they requited by customizing the workflow.
  • In case we want to Print the documents at some point in the shipping flow, just add the Print document activity in the flow and it will get printed when workflow reaches to that activity.

In R12 Oracle has offered workflow for

  • Delivery
  • Trip
  • Ship Confirm Process

These workflow shows the High-level overview of the delivery and Trip process and can be accessible from the

  • Shipping Transaction Form
  • Quick ship user Interface.

Other advantages of the workflow are that we can access the History of the workflow events and all the workflow events /activities got captured in the History table and thus Audit – Trail will ne easy. Another Advantage that we always expect from the Oracle Corp. is this workflow is optional, if our business need them enable them other wise keep them disable. With out Workflow your application behaves just like the previous releases.This make it Pick and User process, Pick the process /events that we want to use in our business and enable them Limitations - Some of the limitation of shipping workflow as of now are – As of now this workflow is subject to limited extensions

  • You can’t add an activity in this workflow that required response from user. For example, you can inform your manager /user about the status etc of delivery /trip by notification, but response for the notification as of now not supported.
  • Also extension of a workflow Defer activity not supported in this workflow.
  • These workflows are available for Individual delivery and not for the consolidated delivery.

Purging - Oracle has provide program to purge the Obsolete workflows, also Shipping has it’s own program to purge workflow that are obsolete or delivery is already closed.

Delivery Workflow

Delivery Workflow has following Activities – Start Pick InitiatedShip-To-Delivery (Sub process for Ship Conform).


wf-wsh1.GIFPlease Note that Shipping workflow as of now available for outbound activities

Delivery Workflow Triggering Events

  1. This workflow will triggered as soon as an order line required picking is assign to a delivery.
  2. When we initiated the pick release process with Auto Created Delivery = Y.

Trip Workflow

It has following activitiesOpenSet in Transit Close


If a Trip has multiple stops, then Initial and finial stop will taken into consideration. Please Note that Order line and Shipping workflow are 2 different things and not related to each other and it is not possible to drill down one flow from another.

Line Flow –

It started as soon as you save the line, and it then go throwBookingSchedulingShip Line Manual Process After then data from OM got interfaced to Shipping, Order line mark as status ‘Awaiting Shipping’ and workflow for line will be at SHIP_LINE Notified status, and remain here till the Ship Confirms activity executed.

Shipping Workflow –

It got triggered when a Delivery got created and First delivery assigned to it. Shipping workflow then triggered the Ship Confirm Sub process and executes the OM Interfaced and Inventory Interface. Once Delivery closed shipping workflow comes to end (Line flow then progress further from SHIP_LINE activity).

Ship To Delivery Workflow -

This workflow models the Ship Confirm Process, one of advantages of Ship Confirm workflow Process is, it supports extensions that included

  • You can add an activity where you are expecting the response, e.g Response base notification. Let’s say as per business Rule if shipment exceed some volume or dollar amount then shipper need an approval from Manager , to handle that, you can add Approval Notification in the Ship Confirm workflow and manager can approve or reject that. Another example is if you want to add some 3rd Party APIs in your ship confirm process.

  • This Sub Process is again Optional, If you want to enable it or Disable it, you can do that from the Global /Shipping Parameter window. Please Note that you can still use Delivery Workflow even if you don’t want to use Ship confirm flow.


As stated earlier advantages of the Oracle is everything is pick and choose , you can enable /disable this workflow as per your requirement , If you don’t want this workflow , just disable It. That means if you are interested in the Delivery and Trip workflow and you don’t want Ship Confirm (Ship To Delivery) flow you can just disable the Ship Confirm flow and keep other flow.

Business Events

Shipping workflow has introduced lots of the business events, which when raised/received take the required actions (like calling of other workflows etc). These too again are optional and can be enable / disabled. If we look closely all these workflow , we can notice that we have lots of business events in all the flows.

Please note that once we select any type of the workflow

  1. Delivery
  2. Trip
  3. Ship –To-Delivery

Some of events become core and system will not allow us to disable them. It is the business events that made the shipping flow flexible and we pick and choose what ever we like.

Shipping workflow Setup

Shipping flow can be setup by means of Selecting the workflow from the Global ParametersShipping parameters

Global Parameters



Shipping Parameters



Shipping Parameters will do the setup only for the Organization level, where as Global Parameter will do the setup at the Application level. Auto Sync between Global and Shipping parameters has been provided. Customer can customized any shipping workflow. Please do not customize/extend the Seeded workflow, rather take a copy of seed workflow as extend as per your requirement. Shipping has provided Lookup setup to assign your custom workflow. We have flexibility to assign custom workflow to all or few of the organizations.

Profile options

Override Ship To Deliver Workflow – Oracle is Provide this profile option and if mark Yes this will Process the Ship Confirm workflow , In case it got stuck because of some Technical reason.

Parallel Pick Release R12

Oracle has introduced lots of interesting features in R12.In this post I will talk about the one such feature.

Parallel Pick Release

With this feature user can now run the Pick Release processes in parallel and improve the over all performance.


One of Key Advantage of with Parallel Processing of the Pick release process is user can apply /engage additional (if available) resources to process the Pick release data that was previously process by 1 process only and hence save lot of time by submitting this process in Parallel.

Following are the changes made for this feature –

1. A new Parameter has introduced in Pick release Concurrent Program.

2. A new profile option has introduced.

Parameter –

No. Of Child Processes – This parameter indicates how many child processes you want to spawn.

Profile Option -

WSH: No. Of pick release child processes. – Indicate how many child processes you want to spawn.

If we run the Pick release from SRS or Public API then profile option determine the # of child processes to be spawned.

If we run the Pick release from in Online Mode or Public API (online mode) then only 1 child processes to be spawned ( as good as existing behavior).

Some Constraints -

Irrespective of the parameter value and the profile option only 1 child process will be spawned if

1. Auto Create Delivery = Y and print Pick Slip is set as Immediate

2. Auto Create Delivery = Y and Delivery is enabled as Pick slip Grouping rule.


WSH: No. of pick release child processes.

If value of this profile option is Null or 1 then only 1 Child Process will be submitted.

If value of this profile option is > = 2 ( 2 to n) then N no. of Child Process will be submitted for Pick release ( some restriction applied , as discussed below).

By setting this profile option to any value doesn’t mean system will spawned that many child process. The # of child process spawned depend upon this profile option as well as the Unique item in the data SELECTED for the pick release.

Or more precisely we say No. of child process available for Pick release depend on the # of unique “Item and Organization “ combination.

e.g –

1. If Organization V1 has 100 unique item

2. Profile option is set to value of 10

Case #1

If in the data selected for pick release has 20 Unique items, the # of child process submitted for Parallel Pick release will be 10.

Case #2

If in the data selected for pick release has 4 Unique items, the # of child process submitted for Parallel Pick release will be 4 , irrespective of Profile option is set to value of 10.

Concurrent Program

As explained earlier a new Parameter (No. of Child Processes) has been introduced in concurrent Program “ Pick Selection List Generation – SRS”.

No. of child processes spawned are depend on the value you enter in this parameter , and by default value from the Profile option “WSH: No. of pick release child processes” defaulted for this parameter , but here we have advantage to overwrite the value of profile.

Note – both the case#1 and case#2 will valid here too.

Note - # of pick slip reports not depend on this profile options, they still depend on the pick slip Grouping rules.

Other Considerations

If we submit the pick release process from the Shipping Transaction UI, then only 1 process will be launch, parallel Pick release will not applicable, but if we launch the Pick Release process from Shipping transaction UI , Tools > then the Parallel Pick release Process will work fine.

In SRS window, all the child process will carry the Parent Request ID of the parent.

How to Setup Tax on Freight in R12 E-Business Tax (EBTax) Order to Cash

How to Setup Tax on Freight in R12 E-Business Tax (EBTax) Order to Cash

Problem Scenario :

How to tax freight in R12?
How to tax freight only in certain states?


In R12, there is not a way to tax freight lines unless they are setup as inventory items.

Setting up Freight

In order to tax freight, the following steps must be performed
1. Create Freight as an Inventory Item.


2. Setup the following profiles as described under Order Management Responsibility:

eBTax: Inventory Item for Freight as ‘Yes’.


eBTax: Invoice Freight as Revenue as ‘Yes’.


Conditionally Taxing Freight

In the United States, not all jurisdictions charge taxes on Freight. If you do not want to tax freight for all states then there are two options:
Option 1: Setup Product Rate Exceptions for those jurisdictions that you do not want to tax freight on.
Option 2: Setup a tax rule to disable taxes.

Setup Product Rate Exceptions for those jurisdictions that you do not want to tax freight on.
Products> Tax Exceptions
1. Navigate to the Create Tax Exception page.
2. Enter the tax regime, configuration owner, and tax to which this tax exception
3. If applicable, enter the tax status, tax rate, and tax jurisdiction for this tax exception.
4. Select the exception type to use:
If this is an Item exception, enter the inventory organization and inventory item.

1. Click on create


2. Enter the Mandatory fields in the Tax exception Creation Form. Click on apply.


3. A Confirmation message stating the Tax Exception has been created appears.


Setup a tax rule to disable taxes.

This is done as follows:
Create a new Category Set (Ex: Tax Category)
Inventory Responsibility > Setup : Items : Categories : Category Sets


Query the Freight Inventory Item and associate it to an item category (Ex: Tax Category)
Inventory Responsibility > Inventory > Items > Master Items


Define a Product Fiscal Classification in Tax Managers
Responsibility Tax Manager > Products > Product Classifications > Create
Click on ‘Create’ to create a new product classification


Create Product Classification Page: Fill the Mandatory Details. Click on Apply


A confirmation message of Product classification being created appears.


Create a tax applicability rule to conditionally disable tax calculation (assumes that default for tax is applicable).
Tax Manager > Tax Configuration > Tax Rules
With the default set to "Applicable", select the "Guided Rule Entry" option for the Tax Applicability rule.


Guided rule Entry to define the Tax Rules


Enter the general information


Enter the Tax Rule Conditions:


Click on Product: Enter the Product Classification. Click on Next.


Enter the applicable Tax :’Not Applicable’


Click on Next and the Rule gets applied. The Disable Tax Rule gets applied