Thursday, November 15, 2012

Know applcust.txt

The $APPL_TOP/admin/applcust.txt file should be used to register your customization and being used as a reference while applying patches.

There are two ways of doing a customization

Customization by Extension (CBE)
Customization by Modification (CBM)

Customization by Extension (CBE) is nothing but doing customizations to copies of the original Oracle applications files.
Customization by Modification (CBM) is doing the customizations directly in the Oracle applciations files. It is difficult to maintain

There is a format to be followed while registering your customization

# <Sprd>  <Src Dir>  <Src Fname>  <Dprd> <Dest Dir> <Dest Fname>

It is easier to understand the format with an example.Consider that the file $AR_TOP/forms/US/ARXSUVAT.fmb has been modified in the method CBE as $XXAR_TOP/forms/US/XXARXSUVAT.fmb

<Sprd> is nothing but the Standard product abbreviation. In simple meaning the Sprd is taken using the format $<Sprd>_TOP.
<Src Dir> is always whatever after $<Sprd>_TOP, in our case it is forms/US
<Src Fname> is the exact file name.
<Dprd> is your custom top where you have your customized/modified file.
<Dest Dir> is the directory structure after $<Dprd>_TOP
<Dest Fname> is the name of your custom file.

So in our example case, the format of the entry will be as follows
# ar  forms/US    ARXSUVAT.fmb   xxar    forms/US    XXARXSUVAT.fmb

If you have customized your file in the CBM method, then you can leave the last three entries as blank (as below)

# ar  forms/US    ARXSUVAT.fmb

The applcust.txt is replaced by Register Flagged Files Tool in R12. Register Flagged Files tool can be accessed through Oracle Applications Manager (OAM) responsibility in R12.

Interesting Features of OAF RUI - R12.1

Below are the profile options introduced as part of R12.1 which give rich User Interface experience to the end users.

FND: Disable Configurable Home
Determines whether the Configurable Home page is enabled or disabled. Valid values are:
  • True - Disables the Configurable Home page.
  • False - Enables the Configurable Home page.
Default Value : False as Site Level

FND: Disable Navigator and Favorites Rich Menu
Determines whether the Navigator and Favorites Pull-down Menus feature is enabled or disabled. Valid values are:
  • True - Disables the Navigator and Favorites Pull-down menus.
  • False - Enables the Navigator and Favorites Pull-down menus.
Default Value : False as Site Level

FND: Disable Look Ahead LOV


Determines whether the Look Ahead LOV feature is enabled or disabled at the Site or Application level. Valid values include:
  • false - Look Ahead LOV feature is enabled.
  • true - Look Ahead LOV is disabled.
Default Value : False as Site Level


When Set to False, the system suggests the values as you type.

FND: Disable Inline Attachments


Determines whether the Inline Attachments feature is enabled or disabled at the Site or Application level. Valid values include:
  • false - Inline Attachments is enabled.
  • true - Inline Attachments is disabled.
Default Value : False as Site Level
This option eliminates the navigation between pages. As shown in the screenshot, the attachment can be added through a pop up like page, also through the similar pop up page it can be viewed.

Saturday, October 6, 2012

Oracle iStore - Copy Sales Order to User Cart

In Oracle OTN forum, one user has posted the below interesting requirement on Oracle iStore module.

How to copy a Sales Order to a Shopping cart?

The user was expecting something like copy cart feature provided by Oracle iStore. Because the Sales order has configured item that user is planning to order in different times and they are not ready to use shopping list feature as they are not sure for which sales order they are going to repeat the order.

So below were my suggestion to the user for customization,

User have Sales Order number with him. Through Sales order, the corresponding Quote Number/Quote Header Id can be obtained.

ASO_QUOTE_HEADERS_ALL.QUOTE_HEADER_ID is nothing but OE_ORDER_HEADERS_ALL.SOURCE_DOCUMENT_ID.


We have oracle provided API to copy quote ASP_QUOTE_PUB.COPY_QUOTE. This API can be used to create a new quote from the existing quote.

So the new quote/cart is created for the user, but the quote/cart is getting saved in to the saved cart and not becoming the active cart.

For a user, to get a active cart there should be a row in the table IBE_ACTIVE_QUOTES_ALL table with reference to the particular quote_header_id in the table ASO_QUOTE_HEADERS_ALL.


IBE_ACTIVE_QUOTES_ALL is used to store the current active cart of a user. 
The user is identified by party_id and cust_account_id referring HZ_PARTIES and the active cart is identified by the quote_header_id referring ASO_QUOTE_HEADERS_ALL. This is an org striped table. Primary key is a combination of party_id, cust_account_id and org_id 

So suggested the user to insert a record in the IBE_ACTIVE_QUOTES_ALL table with reference to the quote created through the ASO api. Once this is done, User was able to see the created cart as active cart in the customer UI.

I will soon share the full API 

Here is the link the forum thread  

Journeyer in OTN Forums

Glad to share this with the blog readers.....

Became a Journeyer in Oracle Technology Forum :)

Here is my profile at OTN

I have been contributing for this OTN forum for more than a year now. I use Solution beacon instance to work out issues posted by the users.

My main focus areas in OTN are Oracle iStore, Procurement, Financials and OA Framework related questions.

Sunday, September 9, 2012

How to restrict the user from forwarding the approval notifications to other users?

Login as admin
2. Click System administrator --> Oracle Application Manager --> workflow
5. Clcik on Notification Mailers --> Edit --> Advanced --> Email Servers
6. click "edit"
7. Uncheck "Allow Forwarded Response" which will restrict the user to respond by e-mail to an e-mail notification that has been forwarded from another role.

Thursday, September 6, 2012

Delegate or Transfer or Reassign ?

Today I have learnt some interesting stuff in Oracle Workflow Notifications...

Every Oracle Workflow Notifications have the feature to delegate or transfer or reassign the notification.

What all this means? and where this values are coming from?

The value is coming from the profile 'WF: Notification Reassign Mode' , the values for this profile can be Delegate, Transfer or Reassign.

Delegate
The Notification will be forwarded to the delegated employee/user, but the original recipient of the notification remains the owner.

Transfer
The Notification will be forwarded to the delegated employee/user and the new recipient becomes the owner of the notification.

Reassign
The user can decide whether to Delegate or Transfer.

Friday, August 31, 2012

Oracle Payables - Custom Hold on Invoices

Invoices can be put on hold using custom validations. The custom validation can be through any API or CUSTOM.pll.

The below APIs can be used to put the invoice on hold ap_holds_pkg.insert_single_hold and the hold can be released using ap_holds_pkg.release_single_hold.

Inserting Hold

ap_holds_pkg.insert_single_hold  (X_invoice_id         IN number,  -- Invoice Id to which the Hold needs to be applied
                                 X_hold_lookup_code   IN varchar2, -- Hold Look up code (select hold_lookup_code from ap_hold_codes)
                                 X_hold_type IN varchar2 DEFAULT NULL, -- Hold Type (select hold_type from ap_hold_codes)
                                 X_hold_reason IN varchar2 DEFAULT NULL, -- Can be user defined
                                 X_held_by IN number DEFAULT NULL, --Can be user defined
                                 X_calling_sequence IN varchar2 DEFAULT NULL -- Can be user defined)

Releasing the Hold

ap_holds_pkg.release_single_hold (X_invoice_id          IN number,-- Invoice Id from which the Hold needs to be released
                                 X_hold_lookup_code    IN varchar2,-- Hold Look up code (select hold_lookup_code from ap_hold_codes) This is the Hold we are trying to release.
                                 X_release_lookup_code IN varchar2, --  Release Look up code (select hold_lookup_code from ap_hold_codes) This is the Release Hold we are using to release the Hold on invoice.
                                 X_held_by IN number DEFAULT NULL,--Can be user defined ( but it has to be the same as X_held_by when the hold is applied)
                                 X_calling_sequence IN varchar2 DEFAULT NULL-- Can be user defined)

Before executing the above two procedures, define your custom hold and release using
Payables Manager --> Set up --> Hold and Release

The Hold type for the Invoice hold should be like 'INVOICE HOLD REASON' and for the release type it should be like 'INVOICE RELEASE REASON'

Also you can mention in the set up that If the hold on invoice can be released manually or not. This will be useful when you dont want to user to bypass the validation by releasing the hold manually.