Upload
hacene-lamraoui
View
74
Download
11
Embed Size (px)
DESCRIPTION
Example Form Personalization Using Custom
Citation preview
Example Form Personalization using Custom.pllPosted on October 20, 2012
Sample CUSTOM Library Code To Customize Applications
· How to make ‘Customer PO’ a Mandatory field?
For example to have Customer PO number in Sales order screen as a mandatory field
if (event_name = ‘WHEN-NEW-FORM-INSTANCE’) then
if (form_name = ‘OEXOEORD’) then
app_item_property2.set_property(‘ORDER.CUST_PO_NUMBER’,REQUIRED, PROPERTY_ON);
end if;
end if;
Check the blog post for
Make Read Only Responsibility of Users in Oracle Apps
· How to restrict cases for Custom PO field?
For example restricting Lower case in Customer PO field
if (event_name = ‘WHEN-NEW-FORM-INSTANCE’) then
if (form_name = ‘OEXOEORD’) then
app_item_property2.set_property(‘ORDER.CUST_PO_NUMBER’,CASE_RESTRICTION, UPPERCASE);
end if;
end if;
· How to change the background color of the field ‘Payment Terms’ in Sales orders others screen
For example how to Change the background color to Fuchsia(r255g0b255)
if (event_name = ‘WHEN-NEW-FORM-INSTANCE’) then
if (form_name = ‘OEXOEORD’) then
app_item_property2.set_property(‘ORDER.TERMS’,BACKGROUND_COLOR, ‘r255g0b255′);
end if;
end if;
· How to change the prompt for a field?
For changing the prompt of the field Order Number on the Release Sales Order form
if (event_name = ‘WHEN-NEW-FORM-INSTANCE’) then
if (form_name = ‘WSHFRREL’ AND block_name = ‘RELEASE’) then
app_item_property2.set_property (‘RELEASE.ORDER_NUMBER’, prompt_text, ‘Sales Order Number’);
end if;
end if;
· How to make a field non editable field but the values needs to be defaulted?
For disabling the customer field in orders screen
if (event_name = ‘WHEN-NEW-ITEM-INSTANCE’) then
if (form_name = ‘OEXOEORD’ AND block_name = ‘ORDER’) then
COPY (‘Business World’, ‘ORDER.SOLD_TO’);
VALIDATE (item_scope);
Oracle Apps Tutorials
Example Form Personalization using Custom.pll | Oracle Apps Tutorials https://iamlegand.wordpress.com/2012/10/20/example-form-personaliz...
1 sur 5 15/05/2015 08:50
app_item_property2.set_property (‘ORDER.SOLD_TO’, enabled, property_false);
end if;
end if;
· How to hide Lines Tab in Sales Order form?
my_tab_page_id TAB_PAGE;
begin
if (event_name = ‘WHEN-NEW-FORM-INSTANCE’) then
if (form_name = ‘OEXOEORD’) then
my_tab_page_id := FIND_TAB_PAGE(‘ORDER_REGIONS.LINE_ITEMS’);
SET_TAB_PAGE_PROPERTY(my_tab_page_id,VISIBLE,property_FALSE);
end if;
end if;
· How to rename ‘Lines’ tab to XX Items tab?
my_tab_page_id TAB_PAGE;
begin
if (event_name = ‘WHEN-NEW-FORM-INSTANCE’) then
if (form_name = ‘OEXOEORD’) then
my_tab_page_id := FIND_TAB_PAGE(‘ORDER_REGIONS.LINE_ITEMS’);
SET_TAB_PAGE_PROPERTY(my_tab_page_id,LABEL,’XX Items’);
end if;
end if;
· How to hide Book Order Button?
For example to hide Book button on the Sales Order Form
if (event_name = ‘WHEN-NEW-FORM-INSTANCE’) then
if (form_name = ‘OEXOEORD’) then
app_item_property2.set_property(‘ORDER_CONTROL.BOOK_ORDER’,displayed, PROPERTY_false);
end if;
end if;
· How to Rename Book Order Button?
if (event_name = ‘WHEN-NEW-FORM-INSTANCE’) then
if (form_name = ‘OEXOEORD’) then
app_item_property2.set_property(‘ORDER_CONTROL.BOOK_ORDER’,Label,’Please confirm’);
end if;
end if;
· How to make a block read-only ?
if (event_name = ‘WHEN-NEW-FORM-INSTANCE’) then
if (form_name = ‘OEXOEORD’and block_name = ‘ORDER’) then
set_block_property(block_name, insert_allowed,property_false);
end if;
end if;
· How to ensure user enters not more than 3 characters in ‘Customer PO’ field and exits the field ?
if (form_name = ‘OEXOEORD’) then
if LENGTH(name_in(‘ORDER.CUST_PO_NUMBER’))>3
and
GET_ITEM_PROPERTY(‘ORDER.CUST_PO_NUMBER’,UPDATE_COLUMN) = ‘TRUE’
then
V_REC_NUM := name_in(‘SYSTEM.CURSOR_RECORD’);
SET_RECORD_PROPERTY(V_REC_NUM,’INV_SUM_FOLDER’,STATUS,NEW_STATUS);
Example Form Personalization using Custom.pll | Oracle Apps Tutorials https://iamlegand.wordpress.com/2012/10/20/example-form-personaliz...
2 sur 5 15/05/2015 08:50
fnd_message.set_name(‘FND’,’PO Number must be <= 3 characters’);
fnd_message.Error;
RAISE FORM_TRIGGER_FAILURE;
end if;
end if;
· How to prevent a particular user from entering an Odd quantity for a particular item?
b := fnd_profile.VALUE (‘user_id’);
if (b = ‘1008697’) then
if (event_name = ‘WHEN-VALIDATE-RECORD’) then
if (form_name = ‘OEXOEORD’ AND block_name = ‘LINE’) then
if (NAME_IN (‘LINE.ORDERED_ITEM_DSP’) = ‘AS54888′) then
if (MOD (NAME_IN (‘LINE.ORDERED_QUANTITY’), 2) = 0) then
fnd_message.set_string (‘Even quantities for ‘ ||NAME_IN(LINE.ORDERED_ITEM_DSP)|| ‘ not allowed’);
fnd_message.show ();
RAISE form_trigger_failure;
end if;
fnd_message.set_string(‘Entered quantity is Odd — so no problem’);
fnd_message.show();
end if;
end if;
end if;
end if;
· How to enable Zoom for a particular form?
For example to open the Onhand Quantity from Item Description field in lines tab of Sales Order form.
To enable the Zoom function
FUNCTION zoom_available
RETURN BOOLEAN
IS
form_name VARCHAR2 (30) := NAME_IN (‘system.current_form’);
block_name VARCHAR2 (30) := NAME_IN (‘system.cursor_block’);
BEGIN
if (form_name = ‘OEXOEORD’ AND block_name = ‘LINE’) then
RETURN TRUE;
else
RETURN FALSE;
end if;
END zoom_available;
Following code helps to Onhand Quantity Form and to pass the item name to Onhand Quantity from Sales Order Form and
navigate to Item field while clicking the Zoom button.
procedure event(event_name varchar2) is
param_to_pass1 VARCHAR2 (255);
b varchar2(20);
begin
if (event_name = ‘ZOOM’) then
if (form_name = ‘OEXOEORD’ AND block_name = ‘LINE’) then
param_to_pass1 := NAME_IN (‘LINE.ORDERED_ITEM_DSP’);
fnd_function.EXECUTE (function_name => ‘INV_INVMATWB’,
open_flag => ‘Y’,
Example Form Personalization using Custom.pll | Oracle Apps Tutorials https://iamlegand.wordpress.com/2012/10/20/example-form-personaliz...
3 sur 5 15/05/2015 08:50
session_flag => ‘Y’,
other_params => ‘ITEMS=”‘ || param_to_pass1 || ‘”‘ );
end if;
end if;
if (event_name = ‘WHEN-NEW-RECORD-INSTANCE’) then
if (form_name = ‘INVMATWB’ AND block_name = ‘MATERIAL_QF’) then
b := fnd_profile.VALUE (‘user_name’);
fnd_message.set_string (NAME_IN (‘parameter.ITEMS’)||’is entered by user’ ||b);
fnd_message.show ();
GO_ITEM (‘MATERIAL_QF.ITEM’);
COPY (NAME_IN (‘parameter.ITEMS’), (‘MATERIAL_QF.ITEM’));
VALIDATE (item_scope);
END IF;
end event;
· How to enable a Special button?
Below is an example showing the menu button from sales order form
a menuitem;
Begin
a := FIND_MENU_ITEM (‘SPECIAL.SPECIAL15′);
if (event_name = ‘WHEN-NEW-BLOCK-INSTANCE’) then
if (form_name = ‘OEXOEORD’ AND block_name = ‘LINE’) then
app_special2.instantiate (‘SPECIAL15′, ‘Query Form’);
SET_MENU_ITEM_PROPERTY (a, displayed, property_true);
SET_MENU_ITEM_PROPERTY (a, enabled, property_true);
end if;
end if;
if (event_name = ‘SPECIAL15′) then
if (form_name = ‘INVIDITM’) then
fnd_function.EXECUTE (function_name => ‘INV_INVMATWB’,
open_flag => ‘Y’,
session_flag => ‘Y’ );
end if;
end if;
· How to switch off the custom code at the run time?
This is similar to switching off the custom code using
Help –> Diagnostics –> Custom –> Custom Off
Note: Switching off customization means that Codes written in custom library and for personalization are switched off.
This does not switch off Custom triggers or Custom code written on the standard forms.
A sample code for switch off customization:
IF event_name = ‘WHEN-NEW-FORM-INSTANCE’ THEN
IF fnd_profile.value(‘USER_ID’) =1318 THEN
copy ( ‘OFF’ , ‘GLOBAL.APP_CUSTOM_MODE’ ) ;
ELSE
copy ( ‘NORMAL’ , ‘GLOBAL.APP_CUSTOM_MODE’ ) ;
END IF ;
END IF ;
Example Form Personalization using Custom.pll | Oracle Apps Tutorials https://iamlegand.wordpress.com/2012/10/20/example-form-personaliz...
4 sur 5 15/05/2015 08:50
This entry was posted in custom.pll in oracle apps r12, r12 form personalization, Sample codes. Bookmark the permalink.
Oracle Apps Tutorials
Be the first to like this.
Related
Working on CUSTOM.pll with an example How to make all the responsibilities of a User
Read-Only in Oracle Applications
Make Read Only Responsibility of Users in
Oracle Apps
The Twenty Ten Theme. Blog at WordPress.com.
Example Form Personalization using Custom.pll | Oracle Apps Tutorials https://iamlegand.wordpress.com/2012/10/20/example-form-personaliz...
5 sur 5 15/05/2015 08:50