Вы находитесь на странице: 1из 5

Example Form Personalization using Custom.

pll | Oracle Apps Tutorials

1 sur 5

https://iamlegand.wordpress.com/2012/10/20/example-form-personaliz...

Oracle Apps Tutorials

Example Form Personalization using Custom.pll


Posted 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);

15/05/2015 08:50

Example Form Personalization using Custom.pll | Oracle Apps Tutorials

2 sur 5

https://iamlegand.wordpress.com/2012/10/20/example-form-personaliz...

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 = OEXOEORDand 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);

15/05/2015 08:50

Example Form Personalization using Custom.pll | Oracle Apps Tutorials

3 sur 5

https://iamlegand.wordpress.com/2012/10/20/example-form-personaliz...

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,

15/05/2015 08:50

Example Form Personalization using Custom.pll | Oracle Apps Tutorials

4 sur 5

https://iamlegand.wordpress.com/2012/10/20/example-form-personaliz...

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 ;

15/05/2015 08:50

Example Form Personalization using Custom.pll | Oracle Apps Tutorials

5 sur 5

https://iamlegand.wordpress.com/2012/10/20/example-form-personaliz...

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

This entry was posted in custom.pll in oracle apps r12, r12 form personalization, Sample codes. Bookmark the permalink.

Oracle Apps Tutorials


The Twenty Ten Theme.

Blog at WordPress.com.

15/05/2015 08:50

Вам также может понравиться