Friday, February 18, 2011

Forms Personalization in Oracle Apps R12 Example: Zoom Functionality

Forms Personalization in Oracle Apps R12 Example: Zoom Functionality
In this post, I tried to explain the example implementation of a Zoom Functionality in R12
Instance: R12.1.1
1.       Add an option named “Responsibility Details” to Tools Menu of the “APPLICATION USERS” Form.
2.       By clicking the option said in requirement 1, the user must be able view the complete details of the selected responsibility via  “DEFINE: RESPONSIBILITIES” forms
3.       Independent  Functionalities  of “USERS” and “RESPONSIBILITIES” FORM should not get impacted
Implementation Steps:
Step1: Open the “Define User” Form from “SYSTEM ADMINISTRATOR” Responsibility

Step2: Open the personalization form by following the navigation shown below

Step3: Add a Menu Entry under “Tools” Option with the name “Responsibility Details”.
Step 3.1: Add a new Form rule named “Add and Enable a Special Menu under Tools Menu” with the triggering event as “WHEN-NEW-FORM-INSTANCE” as shown below,

Step 3.2: Add an action to create an entry under Tools menu

Step 4:  Create and Initialize the GLOBAL_VARIABLE.XX_RESP_NAME with the “Responsibility name” and call the function corresponding to “Define: Responsibilities” Form i.e. FND_FNDSCRSP
Step 4.1: Add a rule with the triggering event “SPECIAL1” with the condition “:USER_RESP.RESPONSIBILITY_NAME IS NOT NULL” as given below

Step 4.2: Add an action to create and initialize a global variable with the Responsibility name i.e. Like “Application Developer”

Step 4.3: Add an action to launch the function corresponding to “Define: Responsibilities” form as below

Step 5: Invoke the Personalization form of “Responsibilities” form and perform the action to initialize “INITIAL VALUE” of the global variable “XX_RESP_NAME” as NULL. This action is to maintain the normal functionality of “Responsibilities Form”.
STEP 5.1: Invoke personalization form of “Responsibilities Form” as below

Step 5.2: Add a rule to create a global variable if not exists and assign a NULL to its “INITIAL VALUE” 

  Step 5.3: Add an action to navigate to the block “RESPONSIBILITY”
STEP 6: Add a rule to perform the below actions with the triggering event as “WHEN-NEW-BLOCK-INSTANCE” of “RESPONSIBILITY” block and triggering condition as “:GLOBAL.XX_RESP_NAME IS NOT NULL”.
  1. Change the “Default where” Property of the responsibility to restrict the query to single responsibility
  2. Run the built in “EXECUTE_QUERY”
  3. Nullify the global variable “XX_RESP_NAME”  

  STEP 6.1: Change the “Default where” Property of the responsibility to restrict the query to single responsibility
 Step 6.2: Run the built in “EXECUTE_QUERY” to perform auto query
 Step 6.3: Create a action to nullify the global variable
 Testing of Our Implementation:

Testcase 1: “Responsibility Details” Option Disabled during Enter Query Mode

 Test case 2: “Responsibility Details” Option Disabled When cursor is not in the block displaying “Responsibility” Details
 Test case 3: “Responsibility Details” Option enabled When cursor is in the block displaying “Responsibility” Details
 Test case 4: By clicking the added option “Responsibility Details” the user must be able to see the responsibility details via responsibility form
For example: The cursor is in the field Responsibility with the value “Application Developer” in the user form as shown in the above screenshot. So if the user clicks the  “Responsibility Details”  option, it should auto navigate to responsibilities form and auto query for the responsibility name “Application Developer”

 Test case 5: Normal Functionality of the responsibilities form should not got impacted like “Running a Query” , “Creating a Responsibility” etc  because of this forms personalization

I hope, I am done with my explanation... 
Waiting for your valuable comments to improve …
Happy Sharing!!!

15 Responses to “Forms Personalization in Oracle Apps R12 Example: Zoom Functionality”

Velavan said...
July 25, 2011 at 6:52 AM

Excellent!..Keep posting....Appreciate!..

Anonymous said...
August 22, 2011 at 4:23 AM


It is very nice to understand..... Keep the good...

Manoj said...
October 13, 2011 at 12:27 PM

Excellent.. Well Explained with Screen Shots.. hope to see few more posts from u .. thanks

merzi said...
November 18, 2011 at 5:56 AM

thanks a lot , nice post

Madhu said...
November 22, 2011 at 11:28 PM

Thanks a lot. Really great job. Would appreciate it!

Anonymous said...
November 25, 2011 at 6:25 AM

Good One..

Suresh Nagaraj

abhichowdary said...
April 23, 2012 at 4:08 AM

Excelent work....Great work....

Anonymous said...
May 22, 2012 at 10:42 AM

Its awesome. Thanks, Vijay

Anonymous said...
October 10, 2012 at 11:59 AM

Its excellent.... very well explained.. thanks

Achyuth said...
March 22, 2013 at 12:27 PM

Excellent.. You had well explained with Screen Shots.. Please post on Interfaces and Conversions with Validations and errors.. thanks

Girish J said...
April 7, 2013 at 1:28 PM

Good Job. Keep it up. Your article was very helpful.

siva said...
May 2, 2013 at 7:14 PM


I haved to mask off/hide the Operating Unit field in the screen Inventory > Transactions > Receiveing > Receipts.Can you please guide me through.

Thank you very much.

Kind Regards
Siva charan

David said...
September 11, 2013 at 9:21 PM

How is the same thing done with the Zoom icon??? Can you explain please?

Unknown said...
September 19, 2013 at 2:50 AM

Yes, its useful.
Abdul Rehman

Unknown said...
June 23, 2016 at 5:10 AM

Good One.

Post a Comment


The ideas, thoughts and concepts expressed here are my own. They, in no way reflect those of my employer or any other organization/client that I am associated. The articles presented doesn't imply to any particular organization or client and are meant only for knowledge Sharing purpose. The articles can't be reproduced or copied without the Owner's knowledge or permission.