Sub Functions In Oracle Application
|
|
|
|
Author |
|
Name:
|
Archana
|
|
E-mail:
|
navya.rsk@gmail.com
|
|
|
|
|
|
|
|
This article show how to use various form functions in oracle applications
|
Overview:
There are two types of functions: form functions, and non-form
functions. For clarity, we refer to a form function as a form, and a non-form function
as a sub function, even though both are just instances of functions in the
database.
Oracle Applications aggregates several related business functions
into a single form. But all users should not have access to every business
function in a form; Oracle Applications provides the ability to identify
pieces of applications logic as sub functions. When part of an application's functionality is identified as a sub functions, it can be
secured (i.e., included or excluded from a responsibility).
Sub function (Non-Form Function):
A non-form function (sub function)
is a securable subset of a form's functionality. Sub functions are
frequently associated with buttons or other graphical elements on forms. For
example, when a sub function is created for a button in a form and if the
created sub function is added to the particular responsibility, then only
the corresponding button will be enabled in that responsibility, otherwise
(if the created sub function is not added to responsibility) the button is
disabled, even if the main function is added to that responsibility, and the
user will not be able to access the button.
The user can access the main function but not the sub function, if
the sub function is not added to the responsibility, which means we can
provide security to the part of the form functionality, using the function
security mechanism through the sub function.
Diagrammatic illustration of the sub functions:
Steps to implement a Sub function in a form:
1:
Open Template.fmb using Oracle form builder, save it with another
name(XX_SUB_
FUNC.fmb) and give the module name as “XX_SUB_
FUNC”.
2:
Delete the following:
“BLOCKNAME”
from Canvas and Data Block
“DETAILBLOCK”
from Data Block
“BLOCKNAME” from
Window.
3: Create window (XX_SUB_
WIN), apply subclass information as “WINDOW” and
give the title.
4:
Give this window name in
PRE-FORM trigger (Form Level)
and also in APP_CUSTOM body from Program_Unit (in place of window name).
Give this window name in
PRE-FORM trigger (Form Level)
As Shown below
Give this window name in
APP_CUSTOM (PACKAGE BODY) as below
5: Create New Canvas
6: Now create a new Data block (EMP) using Wizard or Manual, apply
subclass information to the block as “BLOCK” and also apply subclass
information to the items as “TEXT_ITEM”.
Click on Finish..............until
finish
7: Give the Subclass information for Block (EMP) As BLOCK
8: Create a Button(EXIT) in Canvas
and write your required functionality code in when button pressed trigger.
9: Give the Subclass information for ITEM (EMPNO) as TEXT_ITEM
10: Finally move your form
from our Local Machine to CUSTOM_TOP using WINSCP or any of your local
tools.
11: Compile the Form using “f60gen”
In the UNIX environment, type the following command:
f60gen XX_SUB_
FUNC.fmb apps/apps
12: Connect to Oracle Applications:
1. Create a Form (Navigation: Application Developer->Application-> Form)
Here give the following details and
save the details.
Form =>XX_SUB_
FUNC (.fmx
)
Application => xxmz Custom(Custom TOP Application)
User Form Name=>Give any name
2. Create a function (Navigation: Application->function)
Here give the following
details:
Description Tab:
Function name: Any Name (XX_SUB_
FUNC_
FUNC)
User Function Name: Any Name (XX_SUB_
FUNC_
FUNC)
Properties Tab:
Type: Form
Maintenance Mode Support: None
Context Dependence: Responsibility
Form Tab:
Attach User Form Name:XX_SUB_
FUNC
Create Sub Function (XX_SUB_
FUNC_
FUNC1) below the main function
(Navigation: Application
Developer=>Application=>Function)
Give the User Function
Name: XX_SUB_
FUNC_
FUNC:
EXIT (User function name: button name)
Properties Tab:
Type: Sub function
Maintenance Mode Support: None
Context Dependence: Responsibility
13: Once again Switch to Form builder open the user form and go to Form Level
Trigger
“WHEN_NEW_FORM_INSTANCE” and
incorporate the function
14: Write the Function ( Function
name=>fnd_function.test) As
Script:
if fnd_function.test('XX_SUB_
FUNC_
FUNC1')then
set_item_property('emp.exit',ENABLED<PROPERTY_TRUE):
else
set_item_property('emp.exit',ENABLED,PROPERTY_FALSE);
END IF;
15: Save it and move the form to custom top using WINSCP like tools and compile
the form again
16: Switch to Oracle application:
Switch to Menu
(Navigation: Application Developer=>Application=>Menu)
Attach
Main function to the Custom TOP menu
User function name: XX_SUB_
FUNC_
FUNC
Switch to Custom Application Responsibility (XXMZ CUSTOM)
Execute the Function (Click on the
Function name)
(Function name=>sub functions)
The button will be
disabled (because the sub function is added for the button and sub function
is not added to the custom
menu)
Switch
to Application Developer Responsibility
Attach Sub function to the Custom TOP menu without giving prompt.
User sub
function name: XX_SUB_
FUNC_
FUNC:
EXIT
Again Switch Custom Application Responsibility(XXMZ CUSTOM)
Click on Function name (sub
functions)
The button will be enabled (because the sub function is added to the button
and also to the custom menu)
|
kumar
|
commented on
10/16/2009 7:33:30 AM
|
|
|
|
|
can u give more examples on this
|
|
|
|
|
|
srinivas
|
commented on
10/16/2009 7:53:56 AM
|
|
|
|
|
Hi archana can please provide where to use the fnd_function example more,seems to be your good at forms
|
|
|
|
|
|
ivistutz
|
commented on
7/22/2010 3:57:32 PM
|
|
|
|
|
yahoo 1800s globe pattern
|
|
|
|
|
|
ramaraju
|
commented on
8/17/2010 4:29:00 AM
|
|
|
|
|
|
|
|
rama raju
|
commented on
8/17/2010 4:31:26 AM
|
|
|
|
|
Hi Archana This is Raju i want information about how to create go button in oracle apps using forms please help me urgent and post me to my mail Thanks& Regards T V Rama Raju
|
|
|
|
|
|
|
|
|
|
|
|