Showing posts with label Oracle Apps Technical. Show all posts
Showing posts with label Oracle Apps Technical. Show all posts

Apr 8, 2010

How to invoke Calendar in Oracle Forms

The field for which you need to invoke calendar function should be of Date type or datetime type.
  1. In the field properties, under LOV, set Enable List lamp to Yes
  2. Set Validate from List to No
  3. In the Trigger "KEY-LISTVAL", code the following: calendar.show
That's it, the Calendar functionality will be invoked once you compile and run the form.

Sep 3, 2009

Finding out field size in front end

When some one asks you whether you can find out the field size in Apps front end, tell them yes and also show them that it's done this way:

  1. Navigate to the form on which you want to find the field size.
  2. Navigate to the field for which the size needs to be determined.
  3. Click on Help > Diagnostics> Properties> Item (It might ask for database password, so you should have it handy).
  4. Select Max Length in the Property Drop down box.
  5. You will get the value in the Value field. This is your field size for the field selected in step2.

Aug 26, 2009

Query NULL criteria in e-Business Suite form window

Today I was asked by one of my colleagues to determine the Invoices which has Purchase Orders related to it in the Invoice Entry window.

I remembered how to do it and did the same. In case your requirement is similar to this, follow these simple steps:

  • Navigate to the window
  • Enter Query mode through View> Query By Example > Enter or F11
  • Navigate to the field for which you want to determine the null or not null criteria
  • Enter the following: "# IS NULL" or "#IS NOT NULL" depending on whether you were asked to find the Null or not null data- excluding the double quotes
  • Ctrl+F11 or View> Query By Example > Run


Jun 10, 2008

Forms Personalization-Examples

I will explain forms personalization with a few live examples in this article. As per my earlier article, I mentioned that we perform the following activities using forms personalization:

  • Enable/disable certain buttons
  • Enable/disable certain menu entries
  • Enable/disable certain fields
  • Re-label buttons, fields, tips etc
  • Change the default value of fields
  • Allow easy access from one form to another, passing context
  • Display Messages
  • Execute certain form built-ins
  • Do any of the above for only a particular user or responsibility
  • Do any of the above only if certain conditions are true
  • Do all of the above without writing code, and without violating Support agreements
Please read my previous article here for an overview about Forms Personalization if you haven't read it yet.

First example: Displaying messages







Second Example: Enabling a Menu item





Now its your turn! Try to display the "Hello there!" message when the "Test" menu is clicked! Happy personalizing :)...

Signing off for now,
Jithendra

May 28, 2008

Spell the numbers

Hi All,

This article will try to explain the basic concept of spelling out the numbers. This will be helpful in check printing situations.

We will convert the Number into Julain Format first, then we will spell out the Number.



But this has its own limitations, we can only spell numerals in the range of 1 and 5373484. To overcome this, we have an excellent article from Asktom.

You can use the function given by Tom in your programs.


Yours,
Jithendra

Submitting Concurrrent Request through Procedure

Hi All,

This article will help you to understand how to submit a Concurrent Request through a stored procedure.

Few important points to analyze before proceeding are:

  • What parameters we need to pass to the Concurrent Request?
  • The User or Session information that we will pass
  • We will use FND_REQUEST.SUBMIT_REQUEST Standard API for submitting the requests through the Procedure
  • We need to initialize the Global Session Variables using FND_GLOBAL.APPS_INITIALIZE Standard API
  • Remember that Submit_request is a function and returns a value. Value is the Concurrent Request ID
The Work:

CREATE OR REPLACE PROCEDURE jith_test AS
--Define 3 Variables for holding User Id, Program Application ID, Responsibility ID
v_user NUMBER := fnd_profile.VALUE ('USER_ID');
v_appl VARCHAR2 (20);
v_resp VARCHAR2 (40);

v_user_name FND_USER.USER_NAME%TYPE;
v_req_id FND_CONCURRENT_REQUESTS.REQUEST_ID%TYPE;

UNKNOWN EXCEPTION;

BEGIN

--Get the Program Application ID
SELECT application_id
INTO v_appl
FROM fnd_application
WHERE application_short_name = 'PO';

--Get the Program Responsibility Application ID
SELECT responsibility_id
INTO v_resp
FROM fnd_application fa, fnd_responsibility_vl fr
WHERE fa.application_short_name = 'PO'
AND fa.application_id = fr.application_id
AND fr.responsibility_key = 'PURCHASING_OPERATIONS';

SELECT user_name
INTO v_user_name
FROM fnd_user
WHERE user_id = v_user;

FND_GLOBAL.APPS_INITIALIZE(v_user, v_resp, v_appl);

v_req_id :=
FND_REQUEST.SUBMIT_REQUEST (application => 'PO',
program => 'POXPOSTD',
description => 'Purchase Order Detail Report',
argument1 => '',
argument2 => '',
argument3 => '',
argument4 => '',
argument5 => 201,
argument6 => '',
argument7 => '',
argument8 => '',
argument9 => '',
argument10 => '',
argument11 => '',
argument12 => '',
argument13 => 2
);
COMMIT;

IF(v_req_id=0) THEN
DBMS_OUTPUT.PUT_LINE('Request not submitted, raising exception');
RAISE UNKNOWN;
ELSE
DBMS_OUTPUT.PUT_LINE('Request ID: '||v_req_id||' was submitted');
END IF;

EXCEPTION
WHEN UNKNOWN THEN
ROLLBACK;
END;

The Screens:






By for now! Will be back with more articles!

Yours,
Jithendra

May 22, 2008

Standard WHO Columns

In this article, I will show you how to update the Standard WHO columns through Procedures.

The following are the Standard WHO Columns in most of the Oracle tables:
  1. created_by
  2. creation_date
  3. last_update_date
  4. last_updated_by
  5. last_update_login
  • Use fnd_profile.VALUE ('USER_ID') for retrieving the user_id which will be used by created_by column.
  • Creation date and last_update_date will be normally SYSDATE.
  • last_updated_by is same as created_by
  • Use USERENV ('SESSIONID') for getting the last_update_login id.

Apr 28, 2008

Forms Personalization

Forms Personalization is a technique by which we can personalize the various functions of our form based on our requirements.

What functions can we control?

  • Enable/disable certain buttons
  • Enable/disable certain menu entries
  • Enable/disable certain fields
  • Re-label buttons, fields, tips etc
  • Change the default value of fields
  • Allow easy access from one form to another, passing context
  • Display Messages
  • Execute certain form built-ins
  • Do any of the above for only a particular user or responsibility
  • Do any of the above only if certain conditions are true
  • Do all of the above without writing code, and without violating Support agreements

How quickly can this be done?

Changes made using forms Personlization are reflected at run-time and does not need any compilation or re-logging criterias.

Invoking the Personalization Screen:

  • Run the form that you want to modify
  • Navigate to Help-> Diagnostics-> Custom Code-> Personalize (Profiles ‘Utilities: Diagnostics’ and ‘Hide Diagnosticsmenu entry’ control access to this entry)
  • Let us take an example of disabling the Actions button in the Sales Order form when we navigate to the Lines tab



  • As you can see changes are applied at run time and requires no additional time to take effect
  • As you wish you can also disable the personalization when you wish using Help-> Diagnostics-> Custom Code-> Off

Limitations

Although it is faster than a speeding bullet, it is not able to leap over tall buildings:

  • You can only change what Forms allows at runtime:
    – Cannot create new items
    – Cannot move items between canvases
    – Cannot display an item which is not on a canvas
    – Cannot set certain properties
    – Cannot change frames, graphics, boilerplate
  • You can only respond to certain Trigger Events:

– WHEN-NEW-FORM-INSTANCE, WHEN-NEW-BLOCKINSTANCE, WHEN-NEW-RECORD- INSTANCE, WHEN_NEW_ITEM_INSTANCE
– WHEN-VALIDATE-RECORD (not in all forms)
– Product-specific events

  • May interfere with, or be overridden by, base product code
  • Expected user is an Admin/Developer
    – Knowledge of Oracle Developer is extremely desirable
    – Knowledge of PL/SQL, Coding Standards and/or APIs required in some cases
  • Normal rules for customizations apply
    – Extensive testing in a Test environment is required!



Apr 1, 2008

Installing Oracle Developer Suite 10g in Vista

I know there are people who are suffering to install Oracle 10g Developer Suite in Windows Vista Operating system. For those who do not know what comes under 10g Suite, it has a list of applications/tools like SQL*Plus 10g, Forms Developer 10g, Reports Developer 10g, JDeveloper 10g etc.

In this article I am sharing my success on how to successfully install these tools in your Vista PC.

  • After downloading the setup files in your local system, change the Compatibility mode of the setup file to avoid the "Unknown Error" during installation.

  • Next change your Virtual memory settings of your PC to a minimum of 256 MB and a maximum of 512 MB for paging file size. (Navigation-> Right Click My computer -> Properties -> Advanced system Settings -> Under Performance, click on settings -> Under advanced tab, under Virtual Memory click on Change)

  • Change the Paging size as shown and restart the PC.

Now run your installer and there wont be any compatibility problems for you anymore. You can run all your tools without any problem just like in a XP SP2 PC.

I am thankful to God that I have helped my company by discovering this part and I hope that this article helps to all those who are struggling to install Developer Tools 10g on Vista OS.