Oracle Apps Technical Notes
Oracle Apps Technical Notes
com
1|Page mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Oracle Applications
Oracle Applications/Apps is also known as Oracle ERP (Oracle Enterprise Resource
Planning), Oracle EBS (Oracle's E-Business Suite).
2|Page mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Examples of ERP Packages: -
1) Oracle Apps
2) SAP
3) JD Edwards
4) PeopleSoft
5) Siebel
6) Microsoft Dynamics
7) Baan
8) Lawson Software
1) Point of Functional consultants (FC): - They regularly interact with client and
understand the client requirement. After that they create a document (MD-50)
(Functional specification document). They act as a mediator between client and
technical consultants (TC).
2) Point of Technical consultants (TC): -Technical Consultants received (MD-50)
from functional consultants to understand the client requirement and then
they need to create a document (MD-70). MD-70 document contains step by
Step approach followed to achieve the specific task.
3|Page mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
For getting the mediator between client and technical consultant’s benefits is that
functional consultants are having industry experience they easily understand the
customer requirement. Like Client (HR Manager) trying to explain HR polices to
Technical consultants. They are not able to understand the poli7ces for this reason
FC (MBA HR) can better understand the polices because he already study about
that and also having industry experience. So for every Client department oracle
have functional consultants to understand the better requirement of the client.
APPS DBA: -
Responsibility of Apps DBA: -
1. Instances (Server)
2. Support 24*7
3. Applying Patches
4. Cloning
Cloning means copy the data from one server to other server.
4|Page mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Financial Modules: -
General Ledger
Accounts Payable
Accounts receivable
Fixed Assets
Cash Management
Purchase order
Order Management
Inventory
Manufacture Module: -
Inventory
Bill of material
Work in process
12.0.0
5|Page mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Point of file Structure of oracle apps: -
Under Application top we have modules specific top examples Cust_top, Ap_top, Inv_top,
GL_top.
IF we create a form for inventory module we should not save that form in inv_top we save
that from in cust_top.
Cust_top is an additional top. All the custom files created by the developer should be
saved in cust_top. It is frequently used top.
Files created by developer are called custom files & by default files are called standard
files/Predefined files.
___________________________________________________________________________
For example IF we need to create a form with below mention columns name but all the
columns are from different schema.
Supplier_no Supplier_name Item_no Selling Price
AP AP INV OM
IF we connect to AP Schema Can we access all the Columns Name
Yes Yes NO NO
We just can access only two columns name because AP Schema have only two columns
Database Structure
_______________________________________________________________________________________________
7|Page mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Home Page After login
Responsibilities
For example: - if you need to work in inventory module then you need to select
Inventory, Vision Operations (USA). Like this all the modules have their own
responsibilities.
8|Page mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Module Responsibility
Inventory Inventory, Vision Operations(USA)
Payables Payables, Vision operations(USA)
Receivables Receivables, Vision Operations(USA)
Purchase Purchasing, Vision operations(USA)
Default user: - Operations. Like this we can also create our own user.
We can create a new user with name sample_user and Password 123456 with 2
Modules/Responsibilities.
For Creating the user first we need to login the default user operations/welcome.
9|Page mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Password Expiration.
Days: It Depend on every company they want you to change the password after how
many days. If we want a user password will expire after 30 days so we need to enter
30.
Accesses: In this we need to mention how many attempt we can use the same
password. Like we want a user can change after one login so we need to enter one.
Now click on Responsibility. Do not type in responsibility use LOV where we can use
LOV in oracle apps.
10 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
After selecting responsibilities Press OK.
Logout the oracle apps and then login again with new user (SAMPLE_USER).
When we login the new user first thing we will need to change the password.
Now we are able to see two responsibilities which we added while creating new user.
Responsibilities
User Name
Types of Fields: -
In the above pictures where we creating the new user you have seen there are three
types of fields: -
11 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create a new user with name: - sample_user1
When you enter any information in the form it will affect backend table and the data
is stored in the table.
How to check which table is get affected while creating the new user?
12 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
FND_USER Table is get affected while creating the new user you can also from the
SQL developer by using command:
Who Columns
WHO Columns: -All the important tables in oracle apps will have who columns and
they are used for debugging purpose: -
13 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Forms Query Mode: - Query mode is required to check the details of existing data.
Now we are going to search user created by us (SAMPLE_USER).
Open a Form and then we need to go on to the query mode we need to press F11
After query mode you will field convert into blue colour.
Press CTRL + F11 you will get the result if you are not able to see your result then
press down arrow key to get your data.
14 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Responsibility
Forms
SUB - Menu
Menu
Indirect Responsibility
Consider a business scenario where you have 3 departments in your company namely
The same scenario can be implemented very easily with few steps if we go with User
Management Application.
16 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on Add another row.
Click on Apply.
17 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select Application.
Click on Apply.
Run the workflow background concurrent program & give process deferred as yes.
Press Select.
19 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create new user like above we have created but without any responsibility.
Go to Users.
Click on update.
20 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Login with your user.
Securing Attributes
Securing attributes are used by Oracle Self-Service Web Applications to allow rows
(records) of data to be visible to specified users or responsibilities based on the
specific data (attribute values) contained in the row.
You may assign one or more values for any of the securing attributes assigned to the
user. If a securing attribute is assigned to both a responsibility and to a user, but the
user does not have a value for that securing attribute, no information is returned for
that attribute.
For example, to allow a user in the ADMIN responsibility to see rows containing a
CUSTOMER_ID value of 1000, assign the securing attribute of CUSTOMER_ID to the
ADMIN responsibility. Then give the user a security attribute CUSTOMER_ID value of
1000.
When the user logs into the Admin responsibility, the only customer data they have
access to has a CUSTOMER_ID value of 1000.
21 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Responsibility Level (Second Level)
We can create a new responsibility with name sample_Resp for inventory module.
22 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on LOV of Application: -
23 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
When you enter any information in the form it will affect backend table and the data
is stored in the table.
How to check which table is get affected while creating the new responsibility?
Help Record History sometimes show you the View. You can also conform by using
SQL Developer and enter the command select * from fnd_responsibility_vl; and right
click then click on open describe go to details tab.
24 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
General you will see the view name is end with VL, V or VM like this you can easily
guess that it is a view but you can also conform by using SQL Developer.
As a developer we always need to work on table not on views.
Just creating the responsibility is not complete your task you need attach the
responsibility to the existing user (sample_user1).
Attach responsibility to the user: -For attaching the responsibility to the user we
need to open a user form. Security User Define
And then go to the query mode by pressing F11. A search criterion is SAM%. Press
Ctrl+F11. Select Responsibility & search Sample_resp.
25 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Now you are able to create a new responsibility and able to attach with user.
26 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We can create a new menu with name sample_menu for inventory module.
SEQ: -As Per oracle apps standards SEQ number start with 10 and increment by 10.
Prompt: - Prompt is like label. Prompt should have meaning full name.
Function: -Every form is considered as function.
Form = Function. Whenever you see a function in oracle apps it means form.
You can select N number of functions but we select only 3.
After selecting functions SAVE the form. You will get a request Number.
27 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
When you enter any information in the form it will affect backend table and the data
is stored in the table.
How to check which table is get affected while creating the new menu?
HELP Record History
Now again Help Record History shows you the View. Now we are able to easily guess
the table name. Table name is FND_MENU.
Select * from fnd_menus where menu_name='SAMPLE_MENU';
Primary Key: -Menu_ID
28 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Just creating the menu is not complete your task you need attach the menu to the
new reasonability (SAMPLE_RESP1).
After creating responsibility we need to attach responsibility with our existing or new
user but we connect with our existing user (SAMPLE_USER1). Go to query mode and
then follow the process as we mention above.
29 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
New Responsibility
attached
For sub menu we need to create a menu with name sample_menu1 in this we need
to attach our old menu sample_menu and sample_menu is going to sub menu in
sample_menu1.
30 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Just creating the menu is not complete your task you need attach the menu to the
new responsibility (SAMPLE_RESP2).
31 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
While creating menu sample_menu2 we add three forms (Tax status, % Discount
offered and 'A' Leads) and a sub menu. But in above screenshot only one form (tax
status) and sub menu is showing because some forms are invalid. It will disappear
when we open the user.
Now you are able to create Menu, Sub_menu, Responsibility and user and able to
connect all the levels of oracle apps.
32 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Concurrent Program
A Concurrent program is an instance of execution file with parameters and
incompatibilities.
https://selfonlinetraining.wordpress.com/cp-hello-world-pkg/
Errbuf and retcode are the mandatory parameters procedure should have to run for
concurrent program.
1) Create Executable
2) Define the program
3) Find the Request Group
4) Place the program in the Request Group
5) Switch the responsibility and submit the Request
6) View Output
34 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Login with default user operations/welcome
1) Create Executable
Select system administrator
Concurrent Program Executable
Creating executable is just to point out which type of executable file you want to run.
Short Name: - is short name of executable or we can give the same name also.
35 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Execution Method: - Need to mention the executable file type.
Short Name: - is short name of program or we can give the same name also.
36 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Executable Name: - is linking step one to step two. On step one we create executable
file (SAMPLE_HELLO_WORLD).Linking Happen trough Short Name.
Request Group
To add New
Concurrent Concurrent Programs
Program
38 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press the new Button to add new concurrent program. After pressing the new button
you get the new row select the executable file name (EXEC_HELLO_WORLD).
After close the form you will get this screen and press the black button (Like Hat) to
switch the responsibility to inventory.
39 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
40 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Submit a New Request: -
41 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Submit.
Press yes if you need to add another request. Else No.We Press No because we don't
want to create a new request.
Press Find: -
After Press Find Button you are able to see your executable file
(EXEC_HELLO_WORLD). Sometime phase is showing pending you need to wait for
some time or you can press Refresh Data button on the left side top of this form.
42 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
6) View Output
For view output press view output button on bottom right side of the form.
____________________________________________________________________
Concurrent program when submitted is called Request.
Every Request is identified by Request ID.
In the above 6th Step we click on view output to see the output.
We can click on view log to see the log of that executable file.
Every Request will have log file. Log file contains following details: -
1) Application
2) Program Name
3) Start time
4) End time
5) Log Messages: - As of now in below screenshot there are no log messages.
6) Request ID
7) Status of the request
43 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
44 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
After creating package with one procedure we need to make concurrent program.
For Concurrent program we need to do some steps like we do in above concurrent
program and for this also we need to some steps.
1) Create Executable
2) Define the program First Five Steps are same as we
3) Find the Request Group done in first concurrent program.
1) Create Executable
45 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
2) Define the program
Request Group
46 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
6) View Log
Message in logs
Create a concurrent program which accepts two numbers and display sum.
47 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
1) Create Executable
2) Define the program : - In define the Program we need to attach values. In this
program you will learn about Value Set.
Attaching the values is having some steps
Step one is same of define the program. After creating Step one we need to press
parameters button.
Parameters Form: -
48 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Adding parameters
Request Group
49 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
4) Place the program in the Request Group
Switch the responsibly we already discussed. After select the execution file name new
window will pop up to enter the value.
Press Submit.
50 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Result
Now you are able to create a concurrent program which accepts value.
In the second step we attach the value set (10/Number) this value set is predefined
we can create our own value set for restricting user to enter the values from the list.
51 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Default Type
When it is required to default value of the parameter, the fields default type and
default values can be selected. The possible values of default type field are:
1) Constant
When Constant is selected in Default Type, any constant value can be entered in
Default value field.
In the parameter window system will automatically take the default value.
2) SQL Statement
When SQL Statement is selected in Default type, any SQL statement can be written in
the default value field. SQL statement must return exactly one column in all cases.
52 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select Default Type as SQL Statement.
If you are using multiple columns system will pick the first column.
53 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
If you are using multiple rows system will pick the first value.
3) Segment
The default value is the value entered in a prior segment of the same parameter
window.
Press Tab
54 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Whatever value we will give to first parameter it will automatically assign to next
parameter.
4) Profile
System will pick the user_id from which user we are going to submit the request.
Display
If you uncheck this display button then the parameter will not display to the enter
user.
55 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Using Errbuf
In this example we have created one plsql with two exceptions no_data_found &
too_many_rows.
In this example we are adding errbuf in exception session to get the error message.
Errbuf
https://drive.google.com/open?id=1yEYWKae2mFjM36ROzKsgX84KDnbiZwaT
Create Executable.
56 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Define the program
Create parameter
Errbuf
Log Message
Using Errbuf & Retcode
Recode numbers are 0 for normal, 1 for warning & 2 for error.
Retcode
If we enter wrong department number then no_data_found will get raised & we have
given retcode as 1.
If we enter correct department number then too_many_rows will get raised & we
have given retcode as 2.
https://drive.google.com/open?id=1RlwgrdPkPgksB0mssr1GKBrXnB01GtcR
Retcode value we can give in single courts also or without single court also.
58 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Concurrent program is coming with warning status because we have given retcode as
1 & 1 is for warning.
Concurrent program is coming with error status because we have given retcode as 2
& 2 is for error.
59 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Concurrent program with SQL * PLUS executable file
SQL * PLUS is used when we want to run multiple SQL Commands or PLSQL Block.
Step 1: Create a File with SQL Commands or a PLSQL with extension needs to be .SQL
We have given to simple select commands and save the file as emp_table.sql
Step 2: Transfer the file into the Server in SQL folder.
We have transfer the file into inventory module but in real time we need to transfer
the file into the custom module.
60 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 4: Define the Program
We can give the Page Title and Below Title in our output. Page Title and below title
we will get after every query get executed.
Transfer the file into the server in the sample folder and submit the concurrent
program. We don’t need to create a new concurrent program.
Transfer the file into the server in the sample folder and submit the concurrent
program.
Value Set
63 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Independent: -
Create a concurrent program which accepts two numbers and display Sum.
A will accepts only 10,20,30,40 and B will accept only 1000,2000,3000,4000.
Max Size
of data
type
Select Data type
66 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Save the form. Now create same as for sample_val_b with values we select for
sample_val_b.
2) Define the program we need to change the parameters forms in value set which
we created.
67 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
For Parameter a Select sample_val_a and for parameter b select sample_val_b.
Save the form.
Now we move to the step 5 of concurrent program because we are using the
concurrent program which we use in last example.
Switch the responsibly we already discussed. After select the concurrent program
name new window will pop up with list of values.
68 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Values of B: - Select value of B.
Press Submit.
Press No.
Press Find.
Click on view
output.
69 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Dependent: -
State City
PB Amritsar Ludhiana
HR Hisar Kaithal
MH Mumbai Pune
IF we select PB as state then only Amritsar and Ludhiana not other cities will display
in List of values.
Press Find
70 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter the
values
71 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
72 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
1) Create Executable
Click on parameters
73 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Request Group
74 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
75 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Submit
Press No
Press Find
76 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Table
We use this value set to pick up the values from column of the table.
Select table
Name
77 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We are not going to make the new concurrent program we will use the concurrent
program which we created to add number.
2) Define the program we need to change the parameters forms in value set which
we created.
Press Parameters.
78 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Switch the responsibly we already discussed. After select the concurrent program
name new window will pop up with list of values.
Value
Meaning
79 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Submit.
Press No.
Press Find.
Sometime phase is showing pending you need to wait for some time or you can press
Refresh Data button on the left side top of this form.
80 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
None
None value set is restrict the user from minimum value to maximum value.
After selecting validation type as None we need to enter the Min value and Max
Value as per your requirement we enter Min value as 1 and Max value as 99 .
We are not going to make the new concurrent program we will use the concurrent
program which we created to add number.
2) Define the program we need to change the parameters forms in value set which
we created.
81 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Parameters.
Change value set of B.
Switch the responsibly we already discussed. After select the concurrent program
name new window will pop up with list of values.
82 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We select the value of A as 1013707 and for B we enter the value as 99. IF you are
Trying to enter the value above 99 it will not accept we are not able to press the
submit button.
Press Submit.
Press No.
Press Find.
Sometime phase is showing pending you need to wait for some time or you can press
Refresh Data button on the left side top of this form.
______________________________________________________________________
Pair and Special value sets are related to flex field constraint. We will do these two
types of value sets when we will do about Flex fields.
83 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
1) Pending Phase: - When Processor is busy or memory is not available.
2) Running Phase: - When Program is in running stage.
3) Completed Phase: - When Program is completed.
4) Inactive Phase: - When there are problem with concurrent manager.
1) Normal State
2) Warning State: - Partial Failure and partial successful
3) Error State: - 100% Failure
4) No Manager State: -Problems with concurrent Manager
5) Scheduled State: - When we schedule the concurrent program.
Scheduled State: - We can schedule the concurrent program by using SRS Window
(Standard request submit).
We schedule the concurrent program when we are going to submit the request.
Types of scheduling: -
84 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
2) Once
3) Periodically
Select Start and end date & time. Select from LOV after how many months, hours or
weeks you want to run your concurrent program.
85 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
4) On Specific days
Standard (Predefined) responsibility comes with standard request groups. For custom
responsibility we need to create a request group without a request group a user is
not able to submit a concurrent program from the custom responsibility.
86 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Errors you get while submit a request without a request group from custom
responsibility.
87 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Attaching request group with existing responsibility (SAMPLE_RESP).
Go to Query Mode Press F11 and Find existing responsibility then press CRTL + F11.
Login with User you created (SAMPLE_USER1) try to submit the concurrent program
request: -
Now you are able to see the concurrent program which we have selected while
creating request group.
88 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select the concurrent program you want to execute.
Press Submit
Press No
Press Find
__________________________________________________________________
Request Set
Request set is shortcut process to submit more than one concurrent program in once.
89 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Option 1: -
Sequentially (One after Another)
In Parallel (All At Once)
Option 2: -
Abort Processing: - While processing the Concurrent Program is having error in
concurrent program is stop at that time.
Continue Processing: - While processing the Concurrent Program is having error in
concurrent program still continuing the process.
Press Next.
90 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Next
Press Ok.
91 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Table get affected while creating request set: -
92 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Submit.
Press No.
Press Find.
You will see request set name and in bracket you will get report set with this you can
easily find it is a single request or a request set.
93 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Incompatibilities
As Oracle apps is a multiuser environment multiple users can submit the same
program at once. When the concurrent program invoke the procedure which has
some DML operations. Deadlock may happen.
Deadlock will happen on running procedures with DML commands.
We can avoid deadlocks by making a concurrent program incompatible to itself.
We are not creating the new concurrent program we are going to use our existing
concurrent program.
Press Incompatibilities.
Select the concurrent program which you want to incompatible. we select the same
concurrent program. You can also select the other concurrent program or select
more than one.
94 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We created concurrent program through form (front end) now we are going to create
a concurrent program through predefined package (backend).
96 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Query in the front-end to see whether your Concurrent program is created or not.
Request ID
After submitting the plsql block you will get the request id. Find the request id from
front end form.
Now you are able to create concurrent program from backend process.
_____________________________________________________________________
Creating Calendar
98 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
For upcoming modules we need calendar. Most of the time you get the calendar in
your oracle apps if you don't have calendar follow the below mention steps.
Create a calendar to define an accounting year and the periods it contains. You
should set up one year at a time, specifying the types of accounting periods to
include in each year. Defining one year at a time helps you be more accurate and
reduces the amount of period maintenance you must do at the start of each
accounting period. You should define your calendar at least one year before your
current fiscal year.
Add Button
Press Add button for add new month but your cursor on the last month (Adj) of the
last year.
In oracle apps we need to create 13 months in year 12 months we already have and
the 13th month as an adjusting period.
99 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter the range of dates (From and to) when the accounting period begins and ends.
Use the date format DD-MON-YYYY (for example, 01-OCT-2018).
If you choose to make an accounting period an Adjusting period, it can overlap the
dates of other accounting periods. For example, you can define a period called DEC-
18 that includes 01-DEC-2018 through 31-DEC-2018. You can also define an adjusting
period called DEC31-18 that includes only one day: 31-DEC-2018 through 31-DEC-
2018. Both your adjusting and non-adjusting periods should have the period type
associated with your set of books.
Adjusting Period
Always select adjusting period. For every Year you create the calendar.
Calendar should be on sequence like you have the calendar till adjusting period 2017
and now you need to work on March 2019. You need to create the calendar for 2018
also. You cannot directly for 2019 it will give you the error.
100 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Inventory Module
Select V1 as Organisation.
101 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter the Name of Item you want to create and the description of the item.
For every item we need to add the properties from all the tabs.
As a technical consultant we don't need to worry about properties. This details you
will get from the functional consultant which property you need to select for the
item. For this example we will select only three properties from inventory tab.
102 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Samsung Galaxy S8 is in segment 1 column.
Assign item to child organization means Samsung create model Samsung s8 but they
want to sell this phone in some countries not in the whole world so they want to add
this items on those countries software where they want to sell this mobile model.
So we select only four countries. Total we select 5 org one on company level and 4
county levels.
103 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Accounting close cycle Inventory Accounting Period
For Current month you want to work and all the previous months are on open status
otherwise you will get error.
For change status Press Change Status and press save.
Step 4.Raise on hand quantity
Transactions Miscellaneous Transactions
104 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
105 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select Item Samsung Galaxy S8. Sub inventory we select Mobile B in second step so
select Sub inventory as Mobile B .To Subinv as Stores.
Scroll to right & enter the quantity you want to transfer to stores from mobile b.
106 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select the Item.
Press Find.
While creating item we need to select properties if we go to every tab it will take so
much of time so we can create template with this we can easily select properties that
we want to attach in item as per the customer requirement.
Press New.
107 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter the Name for the template and select the Values you want to add into the item
as per the client requirement.For this example we again select 3 values.
Select V1 as Organisation.
Enter the Name of the Item and description.
108 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Done.
You will able to see the values you select while creating template are applied in item.
109 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
AP Module (Payables) & PO Module ( Purchasing )
110 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 2
Press Create.
Select Country.
Don’t check RFQ Only. If you select you are not able to create purchase order for
supplier.
111 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Continue.
Press Continue.
112 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Like this create one more supplier
113 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 3.Create Supplier List
Enter list name & select your supplier which we have created
Go to Requisitions Requisitions
114 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter the details of item which we want from supplier.
Click on approve
115 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press ok.
116 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Auto create.
117 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Change document type to RFQ & Select your line.
Press Automatic
118 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on suppliers
Press apply.
120 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 8. Create Quotation.
121 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Do changes as per supplier quotation.
Do the same thing for another supplier & enter the details in quotation form as per
the supplier.
122 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
123 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 9. Quote Analysis
124 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select the quotation & press approve quotation.
125 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 10.Create Purchase order
Press Automatic.
Press Create.
127 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
128 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select Open from Lov for Current month or the previous months if they are not open
and Press Ok.
Enter Invoice date --- Select Current Data for Practice, Invoice Num -- Enter any
number for Practice, Amount.
129 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Save the Form.
Lines Means need to give the description of the amount of the invoice/ bill.
130 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to General Tab.
131 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Status is Never Validated.
132 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter Bank Details, Payment type, Document Type.
Press Save.
133 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Split Payment
In the above example we have select pay in full because we want to make the full
payment but we can split the payment also in 2 or 3 instalments.
Create lines
Change the gross amount to 5000 & change the due date.
Select the second line & select the due date & enter the 5000 as gross amount.
134 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press pay… 1
Press save.
135 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Pre-payment
Go to Lines
We have already done 1000 as advance payment it means we need to pay 9000.
Create lines
137 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Check Apply/Unapply prepayment.
Press ok.
If we want to apply less prepayment amount to apply on this invoice just remove the
1000 to amount you want to apply.
Press apply.
138 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to view prepayment application tab.
Go to Lines
Make the payment in Full or if you want to split the payment you can do that also.
Points to Remember
1) You cannot partially pay a prepayment. You must fully pay it.
2) You can apply prepay on the invoice type is Standard, Mixed, or Expense
Report.
3) You can apply only Item distributions from the prepayment.
4) You must fully pay a prepayment before you can apply the prepayment to an
invoice.
5) Supplier, invoice currency and payment currency must be same on prepay and
to invoice.
139 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
AR Module (Receivables)
Press create.
Enter organization name & scroll down to enter the organization address.
140 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter the address & scroll down to select the location purpose.
Select bill to first location and press save and add details to create ship to location.
Press Finish.
141 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Save.
Source - Manual
142 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select customer Ship to & Bill to locations which we created in first step.
Transaction Number
Click on Complete.
Complete button change to incomplete. But if you get the GL account error like below
mention screenshot flow the steps to rectify. After rectify the error press complete
button.
Press GL Account.
144 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
You will see there is no department select Department & press Ok.
Press Save & Do the same steps for all the lines you are creating.
145 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 5.Create a receipt
Receipt Receipts
Press Save.
146 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Customer Pre-payment
Go to Commitment Tab.
Enter the amount which we have received from customer as advance payment &
select description as generic commitment.
If you get GL Error go to distributions button & select any department which we have
done in the above example.
Click on apply.
147 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
After some days we have given delivery to the customer & we have received the full
payment.
Select the commitment we will get the advance payment transaction id.
Press refresh.
148 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on details
We don’t need to create receipt because customer has made the full payment in
advance if he didn’t made the full payment in advance then for the pending amount
received we need to create the receipt.
149 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Order management Module
This module responsibility accepting the order from the customer ends with delivery
of the goods.
Customers Standard
Select Organization: - V1
150 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter the on hand Quantity for both the items & select any account.
151 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Repeat for DIGITAL_CAM
152 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 6.Create Sales Order
Go to other Tab.
Select warehouse: - V1
Go to Lines tab
Press Save.
153 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Shipping Transactions
154 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Shipping Transactions
Press Go.
155 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Delivery tab.
Press OK.
156 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Reports
Reports are used to build the reports in oracle apps. Reports are also used to present
the data for read only purpose.
Wizard
Manually
Open the report builder tool Welcome to the Report Builder Select Use the
report wizard OK Welcome to the report wizard Next Create both Web
and Paper Layout Next Title -- EMP Details , Choose the report style as
Tabular Next SQL Query Next Data Source Definition -- Select * from
emp; Next provide the username, password and database details Connect
Move all the fields from Available Fields to Displayed Fields Next Next Next
Select No template (Oracle apps does not support templates) Next Finish.
157 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Double click on query Q_1, the query used in developing the report is displayed.
158 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
In the Object Navigator, when we expand the Data Model, we can see the Query,
Group and list of the columns in the group.
159 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
first frame that is created by the wizard. The name of the frame always ends with
GRPFR (stands for Group Frame).
The next object is repeating frame. We can identify the repeating frame in two ways.
Repeating alwayshas an arrow on the frame.
The name of the repeating frame always starts with R_
repeating frame represents a group in the query.
There is one-to-one relationship between group and repeating frame.
The last objects are field objects. These objects reside inside the repeating frame.
Field objects display database columns. The field names start with F_ . The fields
must be displayed in the repeating frame that corresponds to the group they are in.
When we are creating the layout manually from the scratch we have to be very
careful that the fields are placed in the correct repeating frames.
160 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Let us look at another similar example.
Let’s us create another report using wizard based on DEPT table
In the Object Navigator, expand paper layout, under main section, we find Group
frame, Header frame and Repeating frame. Repeating frame contains fields. This is
same as our previous example.
161 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
In the Object Navigator, select Paper Layout, Go to Tools à Report Editor, we get the
paper layout of the report. This layout is designed by the wizard.
Select all the fields (ctrl + A) move the layout to the centre by using arrow keys in the
keyboard.
Click on any field and select the outer most frame by clicking "select parent
frame" button(two times)
expand outermost frame to all the directions by using mouse.
162 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select column heading loc , select its parent frame by clicking "Select parent frame"
button.
Click on LOC field, select its parent frame and expand to all directions by using
mouse.
Repeating
Frame
163 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select LOC field and move the field towards right by using arrow key.
Select DEPTNO field and move the field towards left by using arrow key.
Fields
164 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Developing the report manually
Open the Report Builder tool Select Build new Report manually OK
Click on SQL and Click on Work Area. We get SQL Query Statement window.
Provide the connection Details, User name, password and the Database OK
165 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Paper Layout
Button
Right Click on the frame Property Inspector Provide the following property
166 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
General Information
Name -- M_GRPFR
General Layout
Vertical Elasticity -- Expand
Right Click on the inner frame Property Inspector Provide the following
property
Name -- M_HDR
Click on Text and place three text_items (Deptno, Dname and loc) in the frame
M_HDR.
167 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create a repeating frame below the header frame.
Right click on the Repeating Frame Property Inspector Provide the following
property.
Repeating Frame
Source -- G_DEPTNO (It is the name of the group in data model).
Right click on the Field (F_1) Property Inspector Provide the following property.
Field
Source -- DEPTNO (It is the column name).
Right click on the Field (F_2) Property Inspector Provide the following property.
168 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Field
Source -- DNAME (It is the column name).
Right click on the Field (F_3) Property Inspector Provide the following property.
Field
Source -- LOC (It is the column name).
Right click on the Field (F_3) Property Inspector Provide the following property.
In the Object Navigator, we can see the all the frames, repeating frames, text and
fields which we have created.
169 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Summary Column
Summary columns are used to perform aggregate functions like sum ( ), max ( ),
Min ( ), count ( ) etc;
Lets us understand with an example
I want to create a report which display Empno, Ename and Sal of the employees
working in deptno =10
I also want to display total sal.
Open report builder tool Use the report wizard Ok Next Create both Web
and Paper layout Next Tabular SQL Query select empno, ename, sal from
emp where deptno =10; Connect à provide connection details Next Move all
the fields from Available Fields to Displayed Fields Next Select sal from available
Fields , click on sum
Double click on the Summary Column; you will get the following information
Name SumsalPerReport
Column Type Summary ( Indicates that it is a Summary Column )
Function Sum
Source Sal
171 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
For better understanding of the layout, give spacing between the frames.
Let us extend all the frames, for better understanding of the layout.
Field
Text
Frame
172 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Observe the source for the field F_SumsalPerReport, it is SumsalPerReport( Summary
Column Name )
As we have now analysed the Data Model and layout Model of the report, we will try
to develop the same report manually in the next example.
Click on SQL and click on Work Area. We get SQL Query Statement window.
173 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on summary column and click on work area.
A Summary Column is created.
General Layout
Vertical Elasticity -- Expand
174 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Place a frame inside the frame.
Click on text, place three text items (Empno, Ename, sal) in the inner frame.
175 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Provide the source for the repeating frame.
176 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We want the field F_4 to display total Sal.
We need to provide the source to the field F_4
Formula Column
177 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
178 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Right click on the formula column Property Inspector
Double click on PL/SQL Formula column, provide the following code
179 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We will be directed to the paper layout, design the report using Frame, Repeating
Frames, Text and Fields (similar to the example of develop the reports manually).
As we know, we need to provide the source for the repeating frame and the fields.
For the repeating frame, we need to provide source as group ( G_empno ).
For the fields, we need to provide the source as column name.
For the last field ( F_4 ), provide the source as CF_1, as it needs to get the data from
the formula column.
180 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
181 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
182 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
functionbonusFormula return Number is
net number(16,2);
b number(14,2);
begin
net := :sal+ nvl ( :comm, 0);
:p1 := round ( net *.2);
183 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Invoke the report wizard by click on Tools Report Wizard Create both Web and
Paper Layout Select Tabular SQL Query Data source definition : select * from
emp ( Query is present ) Move all the fields from Available Fields to Displayed
Fields ( Observer we have 10 fields ) Next Next Select No template Finish
184 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Place a formula column inside the group.
185 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
elsif :job ='MANAGER' then
b := p1+3000;
else
b := p1+5000;
end if;
return (b);
end;
click on compile.
Invoke the report wizard by click on Tools Report Wizard Create both Web and
Paper Layout Select Tabular SQL Query Data source definition : select * from
emp ( Query is present ) Move all the fields from Available Fields to Displayed
Fields ( Observer we have 9 fields ) Next Next Select No template Finish
Group Filter
Ex:
Open the report builder tool,
develop the report using report wizard using the query - select * from emp;
Save the report with the name GROUP_FILTER.rdf
This is how the report looks like, We get all the 14 records in the report output.
Go to Object Navigator ( F5 ),
Under Data Model a Groups a Select the group G_EMPNO
187 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Close the Property Inspector. Save the report. Run the Report.
Observe, We get only first five records in the output.
188 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Let's make few change to the report
Go to Object Navigator ( F5 ),
Under Data Model à Groups à Select the group G_EMPNO
Right click on the group G_EMPNO, select Property Inspector
Filter type - change to Last
No of Records - Change to 3
Close the Property Inspector. Save the report. Run the Report.
Observe, We get only last three records in the output.
189 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on compile.
Click on close.
1) Bind parameters
2) Lexical Parameters
190 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Bind Parameters
Example:
We want to create a report which accepts deptno and display employees working for
that deptno.
Open Report Builder tool Use the report wizard OK Next Create both Web
and Paper Layout Next Tabular Next SQL Query
Data Source Definition -- Select * from emp where deptno = :dno; Next Provide
username , password and database details Connect
We get a message - The Query Q_1 has created bind parameter DNO
(As we know, bind parameter is prefixed with colon (: ) , in the SQL Query, we have
used colon, so report builder identified DNO as bind parameter) OK Move all the
fields from Available Fields to Displayed Fields Next Next Next Select No
template next finish.
191 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter the value - 10 Press Enter Key
In the output, we get only the employees working for deptno 10.
The bind parameter information is also available in Object Navigator (Press F5)
Under Object Navigator Data Model User Parameters DNO
192 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Providing list of values to the parameter
Under Object Navigator Data Model User Parameters DNO , Right click select
property Inspector
Click on List of values
193 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select radio button Static values.
Enter Value - 10 Click on Add button.
Enter Value - 20 Click on Add button.
Enter Value - 30 Click on Add button.
Enter Value - 40 Click on Add button.
Enter Value - 50 Click on Add button.
Enter Value - 60 Click on Add button.
Click on OK
Observer, we have entered six static values (10, 20, 30, 40, 50, 60 )
( Note: We do not have employees working in deptno 40, 50 and 60 )
Save the report.
Run the report.
Under Object Navigator Data Model User Parameters DNO, Right click select
property Inspector
Change the data type - Number
195 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on OK
save the report.
Run the report.
196 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Now, we know what is bind parameter? And how to creating list of values to the bind
parameter.
Assignment 1
Create report based on the following query
select * from emp where deptno= :deptno and job = :designation
Assignment 2
select * from emp where to_char(hiredate, 'YYYY') = :year;
197 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Lexical parameter
Example:-
We want to create a report to display employee details based on the condition.
Condition is passed as a parameter.
Open the report builder tool Use the report wizard OK Next Create both
Web and paper layout Next Tabular Next SQL Query
Data source definition - select * from emp&a;
198 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
OK Move all the fields from Available Fields to Displayed Fields Next
Next Next Select No template next finish
In the output, we get only the employees whose salary is greater than 2000
199 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Let's run the report one more time.
Click on Program in Menu bar Run Paper Layout
As Usual, We get Runtime parameter form
Enter the Value - where job ='CLERK' Press Enter Key
For the 1st time, we have passed the value -- wheresal> 2000
For the 2nd time, we have passed the value -- where job = 'CLERK'
We got the appropriate output as per the condition for every execution.
So, our report is displaying the employee details based on the condition passes as
parameter.
Lexical parameter accepts string (whereclause) at runtime and giving the desired
results.
The lexical parameter information is also available in Object Navigator (Press F5)
Under Object Navigator Data Model User Parameters A
200 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Group Above
A group above report also contains multiple groups in its data model, dividing the
rows of a table based on a common value in one of the columns. Use this type of
report to restrict a column from repeating the same value several times while values
of related columns change. The data model for group above and group left reports is
the same, but the layouts differ; group above reports display the master information
at the top while group left reports display break columns to the side.
Open report builder tool Use the report wizard Next Create both Web and
Paper Layout Next select group above button Next SQL Query Data
source definition - select * from emp; Next provide the username, password
and database details Connect Move Job to Group fields
201 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
202 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Master Detail Report
In many reports, the data displayed for one part of the report is determined by the
data displayed for another part.
This is termed a "master/detail," or "parent/child," relationship.
To create a master/detail report, we need to define data link between two queries.
When you run a master/detail report, each row of the master query will cause the
detail query to be executed, retrieving only matching rows.
Again
Click on SQL. We get SQL Query Statement window.
Provide the Query Select * from emp OK
203 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
204 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select - Create both Web and paper layout Next Style - Group Above Next
205 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Output of Page 1
Output of Page 2
Output of Page 3
207 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
The detail query (Q_2 ) retrieves all related records for each record retrieved by the
master query.
Report Triggers
Open the report builder tool Use the report wizard OK Next Create both
Web and Paper layout Next Style - Tabular Next SQL Query Data Source
208 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
definition - select * from emp; Next provide username, password and
database Connect Move all the columns from Available Fields to Displayed
Fields Next Next Next No Template Next Finish
209 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
functionBeforeReport return boolean is
begin
srw.message(10, 'Welcome to my Report');
return (TRUE);
end;
Click on compile.
You should get a message "Successfully compiled"
Click on close.
210 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
end;
Click on compile.
You should get a message "Successfully compiled"
Click on close.
Click on OK
212 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on OK
213 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Let us now experience BEFORE PARAMETER FORM and AFTER PARAMETER FORM
triggers.
Open the report builder tool Use the report wizard OK Next Create both
Web and Paper layout Next Style - Tabular Next SQL Query Data Source
definition - select * from emp where deptno = :deptno ; Next provide
username, password and database Connect Move all the columns from
Available Fields to Displayed Fields Next Next Next No Template Next
Finish
PL/SQL Editor
214 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
end;
Click on compile.
You should get a message "Successfully compiled"
Click on close.
215 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
As, we know, the above code is executed, after runtime parameter form is displayed.
If the end user, do not pass any value, the value 10 is assigned to the parameter.
Click on OK
We get the employees working for deptno 10.
216 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Similarly , try with BEOFRE PARAMETER FORM trigger and experience it.
Open Report Builder tool Use the report wizard OK Next Create both Web
and Paper Layout Next Tabular Next SQL Query Data Source Definition --
Select * from emp where deptno = :dno; Next Provide username , password and
database details Connect OK Move all the fields from Available Fields to
Displayed Fields Next Next Next Select No template Next Finish.
In real time you need to transfer files in custom application but in my system I don't
have custom application so we transfer rdf file into inventory module.
217 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
On left side select the path where you the save the rdf file.
On right side select the path of the module in which you want to run the file.
path - /d01/oracle/VIS/apps/apps_st/appl/inv/12.0.0/reports/US
218 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
After transfer the file need to create a concurrent Program . We already learn how to
create a concurrent program.
In this concurrent program only change is executable file is report (.rdf) file earlier we
learn with PL/SQL Stored Procedure. There is no change in the process to run the
concurrent program.
1) Create Executable
Select system administrator
Concurrent Program Executable
Execution Method: - Need to mention the executable file type. We are running
oracle report through concurrent program so execution method is oracle reports.
Execution file Name: - Mention only report name not extension and Save the form.
219 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select Style as A4.
220 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Save.
After close the form you will get this screen and press the black button (Like Hat) to
switch the responsibility to inventory.
This is how you are able to run the report through concurrent program.
221 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Lexical Parameter Report Registration in Oracle Apps
Below is the image which data is showing with our sql query.
We have created 2 lexical parameters for range as low & high. In our parameters we
will give the range from 1000 to 1010 all the customers are available between in this
range will show in our report.
But in lexical parameters we need to write the where & front end people don’t know
how to write the where clause so we need to create the two bind parameters & we
need to attach the lexical parameters with our bind parameters by using triggers.
222 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Bind Parameters
Parameters
223 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Attach Bind Parameters with Lexical Parameters.
For attaching the bind parameter with lexical parameters we need to create trigger in
after parameter form.
https://drive.google.com/open?id=1_Rklfce41owsNAr3KsGwkrzFo0n4ARCW
In this we have written in LCN what value we have given all the data will display is
equal to or greater than.
In this we have written in HCN what value we have given all the data will display is
equal to or Less than.
If we didn’t give any value then system will provide the all the rows available in the
data.
Save the file as RDF & transfer the file in the server.
Create Executable
Try to submit this same concurrent program without any values in parameters. It will
display all the rows which are available in our table.
226 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Standard Report Customization
For editing the standard report you need to transfer the rdf file into client machine.
You only have the concurrent program name (Sales Order Acknowledgement). To you
know the rdf file name first find the executable name with concurrent program name
then check the executable you will get the rdf file name. Transfer the rdf file
(OEXOEACK.RDF).
/d01/oracle/VIS/apps/apps_st/appl/ont/12.0.0/reports/US
Open the rdf file in report builder. Create a duplicate file. Don't touch the original.
About the report: -This report gives all the details of the sales order between the
range. (66150 and 66160)
Client requirement: - Report should give all the details of the sales orders which are
entered, booked and closed. This flow status code should be passed as a parameter.
227 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
1) Add a new parameter (P_SALES_ORDER_STATUS) in data model User
parameters
Right Click on new parameter Property palette Data type – character Size -100
/*---------Lexical Parameter for Sales Order Status parameter added by Ankit --------*/
else
end if;
5) Open the data model, in Q_orders group ( clickon the group name to get the
query)
https://sites.google.com/view/standardreport
229 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Save the file and transfer the file into server.
In real time you need to transfer file into custom application but we transfer file in
order management module.
5) Create new table based Value set, which contains three values Entered, Booked
and closed.
230 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create New Concurrent Program.
1) Create Executable
Select system administrator
Concurrent Program Executable
Don't create the new program open the existing program (Sales Order
Acknowledgement)
231 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Ok.
233 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
5) Switch the responsibility and Submit the Request
Scroll Down.
234 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Interfaces
Interfaces are programs used for extracting or loading the data in oracle apps.
1) Outbound Interfaces
2) Inbound Interfaces
Outbound Interfaces
Copy the path in the above query result for outbound file destination.
We will use this path in procedure.
(v_fpath := '/d01/oracle/VIS/db/tech_st/11.1.0/appsutil/outbound/VIS_glo';)
Note: Only above query paths are suitable for outbound files in server. Then you can
transfer file from server for client machine
We have used the below mention SQL Query to get the data
select header_id,order_number,ordered_date,price_list_id
from oe_order_headers_all where to_char(ordered_date,'yyyy')= 2003;
Run the Package in SQL Developer.
1) Create Executable
Select system administrator
Concurrent Program Executable
236 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
237 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
This is how you can create the concurrent program to get the data in file.
Outbound Exceptions
1) utl_file.invalid_operation
2) utl_file.invalid_path
3) utl_file.invalid_mode
4) utl_file.invalid_filehandle
5) utl_file.read_error
6) utl_file.write_error
7) utl_file.internal_error
8) OTHERS
We need to use utl.file.fclose_all in exception section to close all the files if we get
any error.
238 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Outbound interface with Parameter
In the above example we have given the year 2003 but we can do some modification
that when end user will submit the concurrent program that time he will get the
parameter where he can select the year as per requirement.
For this we need some changes in our package. We need to create one more
parameter & define that parameter in our select statement.
https://drive.google.com/open?id=1JzZt96ZkPYlBDHmz-R2MePp1acKCfnna
Create Executable
239 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Define the Program
240 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Switch the responsibility & submit the request
We want to restrict the user to select only those years which are available in the
table.
https://drive.google.com/open?id=14_KYrdt7DdxBarPWurVzumaxfP_ryAPk
241 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create or replace view order_date as SELECT distinct
(to_char(ordered_date,'yyyy'))ordered_date FROM oe_order_headers_all
WHERE ordered_date IS NOT NULL;
242 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Switch the responsibility & submit the request
Inbound Interfaces
It is process of loading the data from flat file to Oracle Apps Base table.
Interface
Import Program
Base Table Table
First step convert xls file into csv file from save as option.
Second Step
We load the data from CSV file to the Staging table by using SQL*Loader.
Before Learning about inbound interface we will learn SQL * Loader tool.
243 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
SQL Loader
This tool is used to load the data from the flat file to the tables.
This tool requires control file (.ctl) for loading the data.
Create table
Student (Rollno number (3),
Name varchar2 (10),
Marks number (3));
Download the data file from below mention link for upload data in student table.
https://goo.gl/qACrds
Transfer the data file in server in out folder of module, by using WINSCP.
Save the server path ---Data File Need to Transfer in out Folder
/d01/oracle/VIS/apps/apps_st/appl/inv/12.0.0/out/Sample_SQL.txt
Server Path
Syntax: -
LOAD DATA
infile '<data file path>'
Insert/append/truncate/ into table <table_name> fields terminated by ','
(col1, col2, col3)
Example:-
LOAD DATA
infile '/d01/oracle/VIS/apps/apps_st/appl/inv/12.0.0/out/Sample_SQL.txt'
Insert into table student fields terminated by ','
(Rollno, Name, Marks)
244 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Put the above code in notepad file and save the file with extension .ctl
Control file is used to give information about source (datafile) and Destination
(table).
1) Create Executable
245 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
246 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
_________________________________________________________________
Insert: - Insert is used to add the rows into the table but only when table is empty.
Append: - Append is used to add the rows in Existing table (In those table that are
having existing data).
Truncate: - Truncate is used to replace the complete old data to new data.
If we want to load just First five rows from the data. We need to do some changes
in Control file.
options(load = 5 )
Load data
infile '/d01/oracle/VIS/apps/apps_st/appl/inv/12.0.0/out/Sample_SQL.txt'
Insert into table student fields terminated by ','
( Rollno, Name, Marks )
If we want to skip some rows from the data. we need to do some changes in
Control file.
options ( skip = 5 )
LOAD DATA
infile '/d01/oracle/VIS/apps/apps_st/appl/inv/12.0.0/out/student_data.txt'
truncate into table student fields terminated by ','
( Rollno, Name, marks )
247 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
If we want to load rows based on some conditions from the data. we need to use
when clause in Control file.
LOAD DATA
infile '/d01/oracle/VIS/apps/apps_st/appl/inv/12.0.0/out/student_data.txt'
truncate into table student when marks = '50' fields terminated by ','
( Rollno, Name, marks )
Bad Files: - In bad file you will see those data which is rejected from SQL Loader
because of data type and size of the column.
Discard Files: - In discard File you will see those data which is rejected from SQL
Loader because of when clause.
You can see bad file and discard file. After submit the concurrent program you will
get view log in that window you can see the path and open the path in the server
with this you can see the bad file and discard file and send to the client as per their
requirement.
Create Table student1 (rollno number (10), sname varchar2 (10), marks number (10));
In the First file we have some rows and in second file we have some rows we want to
add all the rows in a table student using one control file.
248 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
First File
https://drive.google.com/open?id=1AWwjE-VxAEELAuBYpkrtZdzwKoTF2ljg
Second File
https://drive.google.com/open?id=1ogSDvBUBoJ_MaRHufAvh0XlRl7-rBXjP
249 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
https://drive.google.com/open?id=1lcL2HBR5Pfbt0KDHpIWHX_rMgXzq9RK1
In the Control file we just need to mention our other file name also.
1) Create Executable
Create tables
Create Table student2 (rollno number (10), sname varchar2 (10), marks number (10));
Create Table student3 (rollno number (10), sname varchar2 (10), marks number (10));
Data File
https://drive.google.com/open?id=1j80au1GOF_x2FpvbT9_3NjJH4YgwqDZT
Data File Need to Transfer in out Folder
251 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Control File
https://drive.google.com/open?id=1r9Y1AqlQicE4YcH38Kg6TDTabZinW7NR
When we want to transfer the same data into the other table we need to mention
the position on the first columns other columns will automatically come as next.
252 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Insert data from a single data file to multiple tables SKIP Column
Create table student4 (rollno number (10), eng number (10), maths number (10));
Data File
Our Requirement is we need to load rollno , eng & maths marks upload in student4
table and rollno & sname we need to upload in student5 table.
For this we need to skip sname column from student4 load script. We will use the
keyword filler. With the keyword filler we can skip the colums.
https://drive.google.com/open?id=1xXFTfru98HdipXTfGEv--5EJbBuyxKlM
Control File
253 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
The TRAILING NULLCOLS clause causes SQL*Loader to treat any fields that are
missing at the end of a record as null
https://drive.google.com/open?id=147BILag1oR02lTPqNrNsEdRe52OkLet3
Transfer both the file to server. Create & submit the concurrent program.
Log File
254 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Loading Data from Fixed Length file
We have a fixed length format file containing student data, as shown below, and
want to load this data into an Oracle table.
Create table
Create table student6 (rollno number (10), sname varchar2 (10), marks number (10));
Data File.
First Open the file in a text editor and count the length of fields, for example in our
fixed length file, student number is from 1st position to 3rd position, student name is
from 6th position to 10th position, marks is from 13th position to 14th position.
Similarly other columns are also located.
https://drive.google.com/open?id=1BXSMPfzxuHg-uofgN_Nrh80Nnzzb9qFU
Control File
https://drive.google.com/open?id=156ESOkFnB5ebOAhsOWF80IsJ_wReNZO0
255 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
The data types (INTEGER EXTERNAL, CHAR) identify the data type of data fields in the
file, not of corresponding columns in the student table.
Transfer both the file to server. Create & submit the concurrent program.
Now we want to load all the student whose marks is equal to 10 into student7 table
and those student marks is not equal to 90 in student8 table. To do this first create
the table’s student7 and student8 by taking appropriate columns and data types.
Create table student7 (rollno number (10), sname varchar2 (10), marks number (10));
Create table student8 (rollno number (10), sname varchar2 (10), marks number (10));
Data File 1
https://drive.google.com/open?id=1w-fpgBEXnYIY_t9poBsAv0z7i4y7Tl0L
https://drive.google.com/open?id=1u_rUJDBlpk6yx9qnTbVX2OwaxlRJ2Vxd
256 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Data File 2
Control File
https://drive.google.com/open?id=1ltv92_gzF8qg8DAfU0MEOmqzQDaBAzBJ
Transfer both the file to server. Create & submit the concurrent program.
257 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
The first three are possible for any situation. But the fourth case is possible only when
the structure of all tables is the same. Otherwise we have to go for multiple control
files.
If you want to practice more than one time change Item Number.
In the staging table we have create the table using interface table columns & in the
end we have added two extra columns (transaction_id_stg , status_stg).
transaction_id_stg is used to check the count of the rows & , status_stg is for
validation purpose when you create the table all the rows are having status as N.
With staging table we have also created the Synonyms for the auto generate number
for count of the rows.
259 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Download the Control file.
https://drive.google.com/open?id=159bHVfR57zsrDuI1iyNzlXHtTGXIfpOM
260 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 7: Register the ctl file as concurrent program
1) Create Executable
261 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
4) Place the program in the Request Group
262 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
As the client needs the invalid data to be loaded into a custom table, we have created
additional table i.e.error_log.
263 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 9: Create Package to validate data & load data
1) Set_defaults
2) Validate_data
3) load
Validate_data: This procedure will validate the staging table data as per the client
requirement.
Load: This procedure is used to load the validate data into the interface table.
264 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 11: Execute validate_data procedure
Step 12: Check the data in the staging table, to know the records which are valid
and invalid.
265 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 14: Find the Interface table.
Select * from all_tables where table_name like '%INT%' and owner = 'INV';
Step 15: Delete all the rows in the interface table ( by using delete command) and
make it empty.
266 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 18: Take a note of the no of rows in the base table (mtl_system_items_b)
Step 19: Login to Inventory, Vision Operations (USA) and submit the import
program“Import Items”
First open the Master Item form then submit the concurrent program.
267 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 20: Once the import program is completed, check the no of rows present in
the base table.
So, this is how the data is to be loaded from the flat file to the base table.
When we learn inbound interface we transfer the data in base table using import
item program through interface table. There are base tables which are not having
interface table. For those tables oracle have provided pre-defined packages (API).
For this first we will transfer only one row in the base table with this we will get the
idea how to transfer the more than one row in one go.
API
Base Table
We want to upload below mention Row in the oracle apps table & this data is related
to customers.
268 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
When we create a customer two base table get affected is hz_parties &
hz_cust_accounts.
Customer Name
Organization Name
Predefined Package
In the PL/SQL block we just need to enter the details of customer name &
organization name.
269 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Before running this package check the count of rows from both the tables (hz_parties
& hz_cust_accounts)
After run this PLSQL block we need to do commit to save the data permanent in the
database.
Party_Id
270 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
X_Cust_Account_Id
In this block we just need to add addess1, city, country, postal_code& state as per
data file.
In this block also we are using the same package which we used to create customer &
this is very important line in this PLSQL block.
Before running this package check the count of rows from the table (hz_locations)
271 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
After run this PLSQL block we need to do commit to save the data permanent in the
database.
After creating the address we are not able to Track this address is for which party &
customer so in the step 3 & step 4 we need to link the location with party &
customer.
272 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 3 Creating Party Sites
This step is link the location & hz_party. With this we can easily track which location
is used to which party.
Before running this package check the count of rows from the table (hz_party_sites)
After run this PLSQL block we need to do commit to save the data permanent in the
database.
273 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
This step is link the location &hz_cust_accounts. With this we can easily track which
location is used to which customer.
274 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
cust_account_id we get from step 1 &party_site_id we get from step 3.
Before running this package check the count of rows from the table
(hz_cust_acct_sites_all)
After run this PLSQL block we need to do commit to save the data permanent in the
database.
275 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
If we need to use this side for SHIP_TO location need to mention in code but we are
using same BILL_TO location.
Before running this package check the count of rows from the table
(hz_cust_acct_sites_all)
276 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
After run this PLSQL block we need to do commit to save the data permanent in the
database.
With this we have completed how to insert single row in a oracle apps base table
but if we have 100 rows we are not able to do this step so next we are going to
learn if we want to insert more than one row.
https://drive.google.com/open?id=1-hnsJgVH-0TQZPrRErUiEx64j3EnRzda
277 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
If you want to practice more than one time change Account name & organization
name
In this we pick the columns from the base tables & data available in the csv file.
In the starting we add two columns (Transaction_IDF_STG & Status_STG) for validate
the data. Transaction_IDF_STG is used to check the count how many numbers of
rows updated in staging table. Status_STG is used to validate the data. In the
between also we added some columns from base table to get the all the id’s available
in our stating table so client can pick the id & validate the data. In the end we have
added error message column.
278 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 5: Transfer the CSV file to the OUT directory of Receivables top.
Step 6: Transfer the ctl file to the bin directory of Receivables top.
Create Executable
279 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Define the program
280 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
You can see in status_stg column all the rows are having N because with staging table
we have created one trigger.
281 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 8: Validation Requirement
Step 10: Create Package body to validate data & Load data
282 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Alter validation valid rows status change to V & invalid change to VE.
We have 3 rows for sample2 customer in the second update command we have
mention the where rownum = 1 from that group update first row again status as N.
Account Name is null: - where account name is null change status to VE.
Organization Name is null: - where organization name is null change status to VE.
283 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Second Procedure is used to Load the data from staging table to oracle apps base
table.
If you see the code is same as above example where we insert the single row. In the
package we take cursor name.column name.
Create Executable
284 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Find the Request Group
285 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
You can see the validate rows are update as V & invalid rows are update as VE.
We already have count for all the tables which we have used in previous example.
Create Executable
In this program we need to create parameters as per client he just want to load
some rows now after some time he want to load some rows . So he can enter row
number& when we are creating the package specification we have mention two
local variables.
286 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
287 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Place the program in the Request Group
In this example we only have 22 rows so we are uploading all the rows.
288 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Now check the data by using id from all the tables & check the count for the entire
base table which we have used in previous example
Conversion
Conversions are data migrations program used to migrate data from legacy system to
oracle system. It is one time process. Let us suppose client is using some legacy
system and now moving to oracle apps. So, whatever data is present in existing
legacy system must also be present in oracle apps table. Conversion program can be
developed to load the data into oracle apps table. Conversion is not a scheduled
process.
289 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Forms Registration
Forms are used to accept the data from the user. Form is a file extension .fmb(Form
module build). When we compile fmb file we will get .fmx file (Form module
executable). We use form builder tool, to build a new form.
Step 1: - Create a folder in local machine and get template.fmb & Appstand.fmb
from AU_TOP.
In resources folder you will get all the libraries (PLL files).
290 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 3: - Transfer the Appstand.fmb & template.fmb file to resource folder which
we have extracted from server.
Files
After transfer the file we have all the files in single path.
291 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 4: - Need to mention the path of the resources folder.
Step 5: - Open form builder tool & select build a form based on template & select
the template.fmb file.
292 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
It look like this.We need to do all the above steps othewise you will get and error.
293 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
In this template.fmb file we will get some existing data block, canvas, windows & all
those steps don’t worry about that & don’t change anything from existing work.
Step 6:- we are going to create a new form based on Table AP_INVOICE_ALL. With
only four columns INVOICE_ID, VENDOR_ID, INVOICE_NUM&INVOICE_AMOUNT
Data block is mapping the relationship between form & table. Data block is pointing
the table name & column name which is required for our form.
1) Select the data block option & press the plus symbol (+).
Plus Symbol
Press Next
294 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
3) Select Table or view.
Press Next
4) Enter the table name for which you need to create a form.
Press Refresh E nter the database details you will get all the columns those
are available in the table you need to select only four columns for our form.
To transfer the
columns from left to
right select the column
& press this arrow
button
295 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Next Press Next Press Next Create the data block,
then call the layout wizard Press Finish.
With this we have created a data block now we are going to create the layout wizard.
Layout is a how do you place your buttons & where do you place your buttons.
Press Next
296 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
A canvas is a surface inside a window container on which you place visual objects
such as interface items and graphics. It is similar to the canvas upon which a picture is
painted.
1) Select New Canvas because we don’t need to change anything from the existing
Canvas.
Press Next
297 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
3) Select Form Style
The outer most frame is called window. Where we can close, minimise & maximum
button.
Plus Sign
We will get an option primary canvas. We need to select our canvas sample_can from
the drop down list & press Save.
300 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select our canvas sample_can from the canvas option & right click open the property
palette. We will get the option window. Select our window sample_win
We provide the subclass information for the look & feel of the standard form.
301 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Total now we have 6 data blocks 5 are the standard one & 1 is the created by us.
The entire standard data blocks are having red arrow mark but which we have
created is not having arrow mark because of subclass information. When we provide
subclass information to the AP_INVOICES_ALL it will automatically get the red arrow
mark.
Like this all the things which we have created are not having red arrow mark. Red
arrow mark indicated the sub class information.
302 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Ok.
Now we will see the red arrow mark on our data block.
Extract the data block in this we will see the items & extract the items you will get 4
items.
Items
303 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Like this we need to do for all the four items & all will get the red arrow mark.
304 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
305 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
306 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
It looks like this. We need to scroll down. Clear mention that following code must not
be modified we can edit the below mention code.
We can edit this code. They have given a generic name we need to mention our form
name& Compile the form.
307 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 14: - Transfer the FMB file to the server (AU_TOP/forms) using WINSCP.
Login putty & paste the below mention code using right of the mouse & press enter.
frmcmp_batchmodule=/d01/oracle/VIS/apps/apps_st/appl/au/12.0.0/forms/US/sam
ple.fmb userid=APPS/apps
output_file=/d01/oracle/VIS/apps/apps_st/appl/ap/12.0.0/forms/US/sample.fmx
module_type=form batch=yes compile_all=special
The Complete line need to be in a single line on notepad & then copy paste done on
putty.
308 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Mention form name, Application (Module) & User Form Name is same as form name.
Press Save.
309 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 17:- Form as Function
We already learn that every form is considered as function at page number 20 when
we are learning about menu creation.
Enter Function Name & User Function Name is same as function name.
Go to Properties Tab.
310 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Form Tab.
Press Save.
Press Save.
311 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 19:- Create a Responsibility & Attach a menu.
Press Save.
In real time we need to attach the form with the existing menu.
312 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Calling Concurrent Program from Menu
Till the time we have submit the entire concurrent program from the view Option.
Enter Function Name & User Function Name is same as function name.
Go to Properties Tab.
313 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Form Tab.
In the above example we have select the form which we have register in oracle apps.
In the Parameters Option we need to mention our concurrent program short name &
Application Short name.
CONCURRENT_PROGRAM_NAME="WORLD_PRO"
PROGRAM_APPL_SHORT_NAME="INV"
Press Save.
314 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Attach the function with the menu.
315 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Form Personalization
This is the form. You can see that revision is not a mandatory field.
316 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
317 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Mention the description as per the task & sequence number
318 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Change property name to required.
With this we can change the field to mandatory & field colour is change to yellow.
319 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Example 2: - Change the prompt.
Find the block Name & field name of alternate field with the same process which we
used in first example.
320 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We get this screen because we have already done one change on the form.
Press Get value. Will get the current prompt. Current prompt is alternate.
321 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Change the prompt as per your need we are going to change alternate to alternate
item.
322 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
In this example we are going to hide the revision field.
Find the block name & Field Name with the same process.
323 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
324 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
How to disable the form personalization.
Save the form. Close the form & reopen the form. The Revision field is back in the
form.
325 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
In this example we are going to change the width of the alternate field.
327 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Add a Hint Message in Revision field when we put cursor on revision field need to get
a hint message Enter Revision information
328 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select Revision field.
You can see by default trigger event is when new form instance but for this example
we need to use When new item instance.
Blockname.fieldname
329 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to the action tab.
Enter sequence number
Select message type as hint & enter message text as per the requirement.
Hint Message
330 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Example 6: - Change the position of the button
Form Name
Change the position of the find button from right side to the left side.
Till now first step we have find block name & the field name but find is a button we
are not able to find the block name & field name. So this we directly go to the second
step. But we need to know the form name (FIND ITEM WHEREUSER)
331 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter sequence number.
Generally we enter block name & field name but for this we don’t have.
We are dealing with button & type should be button. Total we have 2 buttons clear &
find but we need to change the position of find button select find button & press ok.
For previous examples also we can select block name & field name by select by text
button.
Enter value as 1 & press apply now & save the form.
332 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Actions tab.
334 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go the existing form.
Open personalization
Trigger event need to be same as menu entry which we have selected in the
sequence number 10.
Go to action tab.
335 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter function code as EAM_EAMASHDW & Press tab button system will pick the
function name.
336 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Like this we can open the two forms at a time & we can use it.
We can call the concurrent program also in the special menu in built in type we need
to select Launch SRS Form.
Level of personalization
It’s the level that defines at what level the forms personalization is being applied. If
Level is 'Forms' then all the functions under that forms will be impacted. If Level is
function then the forms personalization will have its impact only when you are
working on that function inside the form.
Context of Personalization
1) Industry
2) Site
3) Responsibility
4) User
337 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Note down the block name.
338 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Actions
We want to restrict the user so we cannot insert & update the user.
340 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Save the form.
341 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Find the block name & Field name for User name.
342 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Change Trigger Event to When New Record Instance & enter block name.
Go to actions tab.
Select property name as INITIAL_VALUE & enter the value as which user we want to
show when we open the form.
343 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
You will see we have lot of LOV in the category field. We just want only two fields
Adjustment & Manual
344 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Form Name: GLXJEENT
Get this form FMB File to the client machine from the AU Top.
345 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Double click on the field then property palette window will open & find the list of
values attach to the field.
346 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Find USER_JE_CATRGORY_NAME Record Group.
You will get the SQL Query used for the lov.
347 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We want to display only two Rows.
We cannot change the columns name. We can only filter the rows.
Go to Actions Tab.
348 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
349 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Target object is field name.
Property Name is Group_name & in the value we need to enter the group name
which we have mention the built in type.
Example 11: - Create message & Show the message before form open.
We want to display the message when a user open that forms it will show his
username & organization id.
THIS IS A TEST MESSAGE FOR USER NAME &USERNAME AND ORG ID &ORG_ID
350 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Purchasing Responsibility.
FND_MESSAGE.SET_NAME ('INV','BB_TEST')
351 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
FND_MESSAGE.SET_TOKEN('USERNAME',FND_PROFILE.VALUE('USERNAME'))
FND_MESSAGE.SET_TOKEN('ORG_ID',FND_PROFILE.VALUE('ORG_ID'))
=FND_MESSAGE.GET
352 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Change Message Type to Hint.
Go to Inventory Responsibility
We want to restrict the user not able to select Miscellaneous Recpt (RG update) &
Miscellaneous Receipt.
353 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Trigger Object we need to mention any of the field block name & field name.
Go to Actions Tab.
354 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter Sequence Number & Select Type As Built in
Go to Payables Responsibility
355 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Personalization
to_char(:INV_SUM_FOLDER.GL_DATE,'MM') <>
to_char(:INV_SUM_FOLDER.INVOICE_DATE,'MM')
356 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Actions Tab.
Select message type as per your requirement & enter message as per your client.
357 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter other details & try to save the form.
When we block instance we are using when we are moving from one block to another
block.
358 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
One page can have multiple blocks.
If we move from one block to another block that time when new block instance
trigger will get execute.
Go to Personalization.
Trigger object needs to be when we have click on that block that it will execute.
Go to Actions tab.
359 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create new user & try to select any responsibility.
Custom PLL
Library collection of code & collection of code is in the form of procedure & functions.
Custom.pll is a package.
360 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Using zoom button we can call the 2nd form, so that user can work with both the
forms.
We already know for getting the file or transfer the file to server we need to login
with winscp.
When we compile the pll file we will get the plx file.
There are more than 2000 pll files but we are not supposed to disturb any file only
file we can change is custom.pll.
Take backup for both the files in another folder so if we have done any mistake so we
have the backup
361 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Open a form
Zoom button means is not form size is bigger. Zoom butoon is used to calling the
second form at a time. In oracle apps if you open one form & try to open the second
from first form is automatically closed. With this you are able to open second from.
Till now Zoom button is disable. First we need to enable the zoom button.
Zoom Button
First we need to know on which form we need to enable the zoom function we are
going to enable the zoom function on above form.
362 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Find the form Name.
363 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Open Form builder tool
Open package specification to see how many procedure & function are there in
package.
In this example we are trying to enable planning to enable the zoom button.
364 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
So we need to changes in zoom_available function & we can do change in code in
package body.
If we need to
enable the
zoom button
we need to
copy this code
& make
changes as per
the
requirement
Real Code
In the code we need to mention only form name & block name.
If we want to enable the zoom button we need to transfer the pll file into the server.
365 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Completely Logout the oracle apps & transfer the pll file into the server.
Login winscp & transfer the custom.pll file to AU_TOP/ Resource folder from local
folder.
Custom.pll is updated but custom.plx file is still the old one for this we need to
generate the plx file in the putty environment.
Login putty.
Run the below mention command in putty to generate the custom.plx file.
frmcmp_batch
module=/d01/oracle/VIS/apps/apps_st/appl/au/12.0.0/resource/CUSTOM.pll
userid=apps/apps
output_file=/d01/oracle/VIS/apps/apps_st/appl/au/12.0.0/resource/CUSTOM.plx
module_type=LIBRARY batch=yes compile_all=special
366 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
You can check the winscp the AU_TOP/ Resource for the custom.plx file is generated
& date is changed.
After you click the zoom button nothing is happen because we didn’t mention the
about the second form details.
367 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Real Code
368 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
https://sites.google.com/view/callingsecondform/
Transfer the custom.pll file into the server & generate the custom.plx file like we have
done on the above steps.
369 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Now you can see the 2 forms are open at a time in oracle apps.
Event procedure allows us to execute our own code for the specific events.
1) ZOOM
2) WHEN – NEW – FORM – INSTANCE
3) WHEN – NEW – BLOCK – INSTANCE
4) WHEN – NEW – RECORD – INSTANCE
5) WHEN – NEW – ITEM – INSTANCE
6) WHEN – VALIDATE – RECORD
370 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
FLEX FIELDS
These are special fields in oracle apps. With Flex Fields we can add the new fields in
the forms.
We have seen already that this from is used to create the items.
371 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on Descriptive Flex Fields.
Segments
We want to create item Vivo V95 & client need one more option of Card slot& oracle
is not providing card slot option in any tab.
Click Segments.
Add New
373 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Every Segment is need to attach with attribute column of the base table. You can
select any attribute for the segment.
Go to open Button.
We can also create the value set & attach the values set with segments.
Again open the Master items form& check on flex field’s option.
375 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
If you click on Flex Field option no form is open because flex field option is disable.
Step 1: - Find the block name & Field Name for Flex Field
376 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Note down the Block Name (Order) & Field Name (DF).
377 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
378 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
By default you will get one field extra. To hide we again need to open the flex field
form in system administrator.
379 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
380 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Example 3: - Context Field Value.
Like we if enter any details in website we select our country India then after selecting
India we are able to see our states name if we select Australia we are able to see all
the Australia cities name details.
If you click on Flex Field option no form is open because flex field option is disable.
Step 1: - Find the block name & Field Name for Flex Field
381 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Note down the Block Name (LINES) & Field Name (DESCRIPTIVE_FLEX).
Purchasing is Application.
383 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Check the Displayed Option & if you want to make the field mandatory then check
the required option also.
Click on Segments.
384 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter the Segments details & Select Value Set.
Click on Segments.
385 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on Segments.
386 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
After press Compile One Concurrent program is running.
Open form.
387 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We get the Context Field Value
388 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We cannot delete the Context Field value from the front end. We can only disable the
context field value. So now we are going to delete the context field value from the
backend.
Application is purchasing.
389 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Application id is 201.
Procedure DELETE_ROW (
X_APPLICATION_ID in NUMBER,
X_DESCRIPTIVE_FLEXFIELD_NAME in VARCHAR2,
X_DESCRIPTIVE_FLEX_CONTEXT_COD in VARCHAR2
);
390 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Begin
End;
Begin
fnd_descr_flex_contexts_pkg.delete_row (201,'PO_REQUISITION_LINES','Item
Category');
End;
Like this we need to delete all three Context field values code which we have created
in the previous example.
392 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Segments
In account we have just one segment but we need 5 segments like company, division,
location, department & account. It needs to be look like this.
393 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
In oracle apps we have 13 periods (12months & one Adjusting Period) that we have
already discussed when we learn how to create a calendar.
394 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create a new calendar.
When you try to close calendar form they will ask you to run the concurrent program
press the current button & ok. You can check one concurrent program is running.
395 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We don’t need to define the currencies because oracle has created all the currencies
for us.
https://selfonlinetraining.wordpress.com/list-of-key-flex-fields/
396 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
For every form there is one flexfield title & for which form we are creating flex field is
realted to account.
We already discuss every segments have LOV. We need to create a value set for LOV.
398 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Value Set for Company.
Qualifiers are words that explain the functions performed by a particular segment.
There are six flex field qualifiers. They are:
Cost Center Segment: - This attribute is used to identify the cost center segment.
Natural Account Segment: - This attribute is used to identify the natural account
segment.
Balancing Segment: - This attribute is used to identify the balancing segment. This is
typically the company segment.
All the general ledger entry should balance at company segment. So select balancing
segment.
All the accounts are coming under expendure.So select balancing segment
We cannot delete Chart of account but we can change the title & we can also change
the window prompt for segments or we can disable the segments.
402 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We will make three companies Tata Steel, Tata Motors & TCA. Give the values also.
403 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
In this example we have very less company & account we can build manually if we
have lot of company & accounts we can need load the data by using inbound
interface & make the table value set & attach the values set with segments. Then we
no need to enter the values in segments.
404 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Division
It is good practice to create first one no division because some companies don’t have
any division.
405 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Location
Departments
Accounts
Allow Budgeting and Allow posting again we need to select as yes but with this we
need to select account type and for every Description we need to select account type
as per the options available.
In accounts we are getting extra options because we have selected nature account.
406 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Retained Earnings
407 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Interest Received
Cash
408 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Accounting Setups
409 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We need to create 3 legal entities for each company & all the 3 legal entities are
having one primary ledger.
Select Territory.
Enter Name, organization name & legal entity identifier.
Enter Pan Number.
Now we are going to create 2nd legal entity for the second company & Select the
existing address.
411 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Now we are going to create 3rd legal entity for the Third Company& Select the
existing address.
Like this we want to create legal entity for all the companies for one group of
company.
412 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
In primary Ledger we need to attach our calendar, chart of accounts & Currency.
Click on next.
Press Finish.
Note: - Before Press Finish Check your details after this you are not able to do any
changes in primary ledger.
413 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select all the companies one by one you have create Select & Press Select.
414 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Now we need to add the segments for the companies which we have created.
Click on Update balancing Segments values for Tata Steels & then for other legal
entity also
415 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on Add Balancing Segment value (is the first Segment).
Press go.
416 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
For Tata Steel we have updated our balancing segment value like this we need to
update for Tata motor & TCA.
With this we have updated balancing segment for the Legal entity.
417 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
418 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Retained account should be mapped on company level.
Click on create.
419 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
No need to do on step 3.
420 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
In this form we just need to check the option we have selected are correct or not. If
option are not correct Press Back & change the option otherwise press finish.
Press Yes.
421 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
With this we have created our key flex field now we created new responsibility & new
user.
Menu (GL_GIS_SUPER_USER).
Primary ledger means we need to attach currency, calendar & Chart of account.
Profile System
422 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Responsibility & Select your responsibility.
Press Find.
423 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create a new user & attach the New Responsibility & System Administrator.
Indirect Responsibility
424 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to AA_GL_Responsiblity
Setup Open/Close
Press Find.
Press open.
Press Yes.
425 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Open period then select your next month.
Press Open.
You can also see two concurrent programs are running in backend automatically.
Step 10)
426 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
You can see that our period is open & one month is open automatically. This is
because when we create primary ledger we have select next month need to open
automatically.
Click on Account.
428 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
XML Publisher / BI Publisher
Advantage
Example 1
Step 1: - First Design the Query and develop the rdf file.
429 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select No template (Oracle Apps doesn’t support reports template)
430 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 2: - Transfer the RDF file to server.
In real time we all need to transfer these file in custom top but in our machine we
don’t have custom top folder so we are transferring the file in payables top.
Path - /d01/oracle/VIS/apps/apps_st/appl/ap/12.0.0/reports/US
Step 3: - Register the RDF file as Concurrent program& Get XML File.
Create Executable
After RDF file we need XML file so while defining the program we need to change the
format to XML.
431 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
432 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Place the program in the Request Group
433 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Save the File.
Now we have 2 files one is RDF file and another is XML file.
Open MS Word.
File
434 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click Attach.
Browse the file (C:\Program Files \ Oracle \ XML Publisher Desktop \ Template
Builder for Word \ TemplateBuilder_en_US.dot)
435 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Ok.
436 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Options.
Go to Add-Ins tab.
Data
Press Data.
437 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select our XML File.
Press Open.
Press Insert.
438 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Field
439 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
440 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Add-Ins option in MS-Word is temprorary we always need to do the same process for
add-ins tab & we can use all the features of MS-Word.
Example 2
Step 1: - First Design the Query and develop the rdf file.
441 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Select Invoice_id, vendor_id, invoice_num, invoice_amount from ap_invoices_all
Where invoice_amount between -100 and 0;
442 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
In real time we all need to transfer these file in custom top but in our machine we
don’t have custom top folder so we are transferring the file in payables top.
Path - /d01/oracle/VIS/apps/apps_st/appl/ap/12.0.0/reports/US
Step 3: - Register the RDF file as Concurrent program& Get XML File.
Create Executable
After RDF file we need XML file so while defining the program we need to change the
format to XML.
443 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Save the Program.
444 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on View Output.
Load the XML Data same way we have done in first example.
445 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 5: - Insert All Fields& Preview PDF.
Now you will see the diffrence when we you will see the output.
446 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
If Client is not happy with this design we need to do changes in RTF file.
We can attach our RTF file with concurrent program so end user when submit the
program they will get data in PDF file for this we need to create Data Definition (XML
File ) & Data Template (Design). In this Registration process we are going to use XML
File & RTF File from the example 2.
To Create Data Definition & Data Template we need to select XML Publisher
Administrator Responsibilty in oracle apps.
447 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We are not finding the data definitions so click on create data definition.
Code is very imp. We are getting data from the XML file & we are getting the XML file
from the concurrent program so in code we need to mention concurrent program
short name. In this example conncurent program short name is XML_SAMPLE_PROG.
448 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 2) Create Data Template.
Go to Template Tab.
Application Again mention the same when we are creating concurrent program.
Data Definition which we have create on step one. Enter the name of that data
definition.
449 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Default output type select as PDF.
File we need to select our RTF file. Browse that file and Attach.
Language we need to mention English. If you want report in any other language you
can select language as per your requirement.
450 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Earlier when we submit the concurrent program we get the XML File but now we get
the PDF File. You can see in the above screenshot in layout we have the RTF file which
we have attach with the data template.
When we want to change the standard report format or client want the standard
report in BI Publisher.
In this we are going to changes in Customer Open Balance Letter Report. This Report
is giving details about balance we have recieived from the customer & This report is
related to receivables.
451 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
452 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to System Adminstrator.
453 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on view output.
454 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Move the Fields are per your Requirement.
Select the last option because we want the information about invoices.
455 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Move Trx Number, Tranaction Date, Trans amount & Trans Amount Remaining.
Here we get For each tag because this line is having data from then one line.
456 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Save the file as RTF File.
Go to Preview PDF
457 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Apply.
458 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
459 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Data Template Feature
Till now are getting the PDF File through Below mention structure.
In Second Step we need XML File from RDF File . The same step we can do with the
SQL Query also. We can create a SQL Query & get the XML File.
https://drive.google.com/open?id=1Wo0EG0u1hGAhiH1YvJZMzSza5viKg9nC
Step 1) Copy the SQL Query & paste on Notepad & Save the file as extension .XML.
460 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Syntax for the SQL is Mention the SQL Statement & in the end we need to mention
every Column name.
461 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We save the file as XML but you can see it is not like our XML file
1) Properties
2) Parameters : We need to Create Bind parameter query.
3) Triggers
4) Data Query
5) Data Structure
Triggers : Triggers are optional elements of data template which are nothing but a
PL/SQL Function or a Procedure which gets executed at specific times during the
execution and generation of XML output. Triggers can be used to perform some pre
and post execution activities like in financial reports where we update some table
columns stating that a particular is row is printed.
462 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Define the program & attach the executable short name with the program.
Press Apply.
463 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
In data Template load your XML File which we have create with SQL Query.
Data definitions will only respesent the data. Earlier we attach the RDF file with the
executable So now we are goint to attach the XML file with the data template.
Press Open
464 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Apply.
Press Update.
465 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 6) Switch the responsibility and submit the Request
466 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 7) Add Add-ins tab in ms word & Load XML Data
467 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
For Each tag is created.
Preview PDF.
468 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
469 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
In the above example we have generate the XML File using Concurrent program. We
can genrate the XML File using report builder tool also.
470 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
471 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Open MS workd.
Press Next
Press Next.
472 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Save the rtf file & click on Preview PDF
We are not getting Heading for department number . we can add our own heading
also.
473 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Insert.
474 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Date on Report
475 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
For Break page we need to edit the end for each group tag.
476 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Add the attribute
<xsl:attribute name="break-before">page</xsl:attribute>
We can use group above , Functions feature of our report builder tool.
If we create parameters and trigger in report builder tool it will not work in BI
publisher.
477 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Condition Tag :
If Sal is less than 1000 then it need to display sal in red color.
478 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
If employee is having commession it will display Y else it will display N.
Enter new if tag (<?xdofx:if COMM='' then 'N' else 'Y' end if?> )
Like this we have a lot of tags we can use in our xml publisher report :
https://selfonlinetraining.wordpress.com/xml-tags/
479 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
XML File Using PLSQL
Create Procedure
https://drive.google.com/open?id=1Y-98WI7vMRE-qwNk9BnVfKNi6CoF9n23
Create Executable
480 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Define the Program
Create Parameter
481 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Switch the Responsibility & Submit the Request
482 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Data Template
483 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
XML File Using PLSQL Master Report
Create procedure
https://drive.google.com/open?id=1Aw2lPy9qpzygtQcHGAE3c-L4AsTQT34n
Create Executable
Create Parameters
484 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
For organization we are using profile option & uncheck the display.
485 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
https://drive.google.com/open?id=1wELf4GFaN_xSGdhy6lcuqK48iVA1RE38
Click on output.
486 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Images In BI Publisher
Go to Insert Picture
487 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Add Image from Web URL
Select size.
Go to alt text
url:{'https://selfonlinetraining.files.wordpress.com/2018/11/capture.png'}
488 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Check the preview.
Enter cd $OA_MEDIA
Press enter
Enter pwd
/oraAS/oracle/VIS/apps/apps_st/comn/java/classes/oracle/apps/media
489 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Tranfer one image to the server or you can use the existing one also.
Select size.
Go to alt text
url:{'${OA_MEDIA}/IMAGE_NAME'}
url:{'${OA_MEDIA}/selfonlinetraining2.PNG'}
Register the file as template in xml publisher responsibility & submit the concurrent
program & check the output.
490 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
In the file data column we have images but xml publisher by default cannot handle
the image for this we want to convert those images into text.
https://drive.google.com/open?id=1vWMpZU_nzq1ti2Q-1vMxWlfn3MLNORyB
492 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
For generating the XML File we already have pre-defined executable.
Click on apply.
493 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Add the program in request group
495 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
496 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Before Report Trigger
https://drive.google.com/open?id=1rFFFGlT0Z2cvNl7tRTeFD4RvRWSwm1Bf
https://drive.google.com/open?id=1-p-0udbPFnDY90KkUSxWKE6l-uyTd9-I
497 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
If we are using package in the data template file we need to mention the package
name also.
Register the file as template in xml publisher responsibility & submit the concurrent
program & check the output.
Package specification
498 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Package Body
https://drive.google.com/open?id=1uNcorZZ8Rjk5I5uAAScgXZ_jzU9lLLda
https://drive.google.com/open?id=1i0OMyx_ZLZyVX09bg9XT70hHkWrCrn1D
Update the data template file in program & submit the request
Log file
499 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
SUB Template
https://drive.google.com/open?id=1hYl0BgdvGCTLPcI126pERawnVY2NKTcm
We no need to create executable we alredy know we will use pre defined executable.
500 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Data Definition.
501 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create RTF File. ( Main Template)
502 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create SUB Template
<?TEMPLATE:SUB_TEMPLATE_NAME?>
Sub Template Design Layout -- Content
<?END TEMPLATE?>
We have create two sub template First for Header & Second for Footer.
Sub Template Name
Content we want
to display.
We can create multiple sub template in one file & save the file as extenstion (.RTF).
503 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Import & Call Sub Template In Main Template
Import
Syntax : <?import:xdo://Short_Name.Sub_Template_code.Language.Territory/?>
<?import:xdo://INV.TRAIN_SUB.en.00/?>
EN -- Language ( English)
Call Template
Syntax : <?call:Sub_Template_name?>
504 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Sub Template 2
505 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Sub Template With Condition
https://drive.google.com/open?id=1e95dDWhTw8obvGDQTqBG_gvxM5NUAUGr
We no need to create executable we alredy know we will use pre defined executable.
506 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Data Definition.
We Will create 2 sub template one for department number 10 & One for department
number 20. Save the file as extension (.RTF)
507 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
If We enter department number 10 while submiting concurrent program then this is
footer needs to display.
Register Both the template as SUB Template & Note down the Template Code.
<?import:xdo://INV.TRAIN_SUB.en.00/?>
<?import:xdo://INV.TRAIN_SUB1.en.00/?>
<?if:P_DEPTNO=20?><?call:HEADER?><?END IF?>
in this example we have seen if we submit the concurrent program with department
number 10 & 20 it will print this is header & footer but if we give any other
department number that time if will print only the data present in the table.
509 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We want if we enter department number 10 & 20 then it will print this is header &
this is footer but if we enter any other department number then it needs to print
some another message so for this we need to use when condition in our rtf file.
Create one more rtf file with sub template for other department numbers.
Import the sub template in the main file like we have done in the above example.
Call the sub template but in this we are using chose when condition.
<?choose:?>
<?when:P_DEPTNO=10?><?call:HEADER?>
<?end when?>
<?when:P_DEPTNO=20?><?call:FOOTER?>
<?end when?>
<?otherwise:?><?call:PHOTO?>
<?end otherwise?>
<?end choose?>
510 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Switch the responsibility & submit the request with another department number
present in the table.
511 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
XML Bursting
XML Bursting can be used to split one XML File into multiple XML Blocks. These
individual xml blocks can then be used to generate reports and even use different
layouts. You can also deliver the reports to multiple destinations based on a XML
Element.
Step 1 : - Design the SQL Query & Save the File as .XML in XML Format.
https://drive.google.com/open?id=1PuPj5yuO_UNCj3zhWM9eB_gEBf0rNu5W
XXAR_CLIENT_DET_CASH_PYMT/LIST_G1_CLNT_DET/G1_CLNT_DET
https://drive.google.com/open?id=1vBwog-jxVD_aldhOwJrli1QyBb7_rTNH
513 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
https://drive.google.com/open?id=1bCXU0GpmgyozFn7rXKOQ3WylGaW93YfB
Tags
Server
path
Rows Filter
Module Short Name . Template Name Code . Language. Territory (we don’t mention
any territory so we mention 00 )
In output we have mention the complete path of the folder which we have create in
server with File Name for every order number (59219.pdf)
514 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 13) Switch the Responsibility & Submit the Request.
But Still we get only one file when we click the view output & no file in server folder
which we have created.
After Run the Concurrent program we need to run one more concurrent program
that is XML Publisher Report Bursting Program . This program wil help us to filter the
PDF Files & in paramter we need to select our concurrent program request id.
Now check the server & transfer the complete folder into the local machine.
515 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
If we want to genarate the rtf to excel we just want a little change in our bursing file.
Change
https://drive.google.com/open?id=1hfExz2feNkOpg70wC52k2biH4xg4hsPl
516 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Xml Bursting With Filter
XML Bursting can be used to split one XML File into multiple XML Blocks. These
individual xml blocks can then be used to generate reports and even use different
layouts. You can also deliver the reports to multiple destinations based on a XML
Element.
Step 1 : - Design the SQL Query & Save the File as .XML in XML Format.
517 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
This is the data we get from our SQL Query & you can see we have total 18 rows. 5
from Australia, 5 from Canada, 5 from India & 3 from japan.
Our Requirement is to create different PDF file for every Person & For every country
we need different outlook.
https://drive.google.com/open?id=1VoKy32K4NPiW2DEIh_zAyC7qc5OOGUZt
518 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Define the program & attach the executable short name with the program.
519 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Code need to be same as concurrent program short name.
Press Apply.
In data Template load your XML File which we have create with SQL Query.
Data definitions will only respesent the data. Earlier we attach the RDF file with the
executable So now we are goint to attach the XML file with the data template.
520 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 5) Place the Program in the Request Group
521 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Save the File as extension .XML.
/XXCV_BURSTING/LIST_G_USER_NAME/G_USER_NAME
522 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 7) Add Add-ins tab in ms word & Load XML Data
Step 8) Insert All Fields & Create the Different style RTF file for the country.
For Australia
For India
523 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
For Canada
For Japan
Step 9) Create Template For every country & Attach their respected RTF file .
Australia Template.
524 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Canada Template
India Template
Japan Template
525 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 10) Switch the Responsibility & Submit the Request
You can see that in layout Japan template is get selected automatically because we
have created Japan template in the end. Which ever template we create in the end it
get select with the concurrent program.
526 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
But Still we get only one PDF File with all the countries data. To seprate the data we
need to create Bursting File& create Folder in serve.Need to attach the bursting file
with our data template which we have created in Step3.
527 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 12) Create Bursting XML File.
Tags
Folder Path
Rows Filter
Module Short Name . Template Name Code . Language. Territory (we don’t mention
any territory so we mention 00 )
In output we have mention the complete path of the folder which we have create in
server with File Name for every persion (person_id & nationality).(174_CAN.pdf)
528 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
https://drive.google.com/open?id=1kyh-KzV1fU-IOUJPQFRZNJpq8-UlwOzJ
529 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 13) Switch the Responsibility & Submit the Request.
But Still we get only one file when we click the view output & no file in server folder
which we have created.
After Run the Concurrent program we need to run one more concurrent program
that is XML Publisher Report Bursting Program . This program wil help us to filter the
PDF Files & in paramter we need to select our concurrent program request id.
530 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
You are not able to see any thing when you click on view output.
Now check the server total 18 PDF Files are created with person_id & Nationality.
Transfer the complete folder in your client machine so you can see the output.
Canada Template.
531 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Australia Template
India Template
Japan Template
532 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
XML Publisher Password Protect
In Real time when we are received any PDF file from any company for mobile bill or
bank statement all those file are password protected file. We need to enter the
password to open the PDF File.
For Password protect example we are taking the same SQL File which we used in
Bursting program.
https://drive.google.com/open?id=1VoKy32K4NPiW2DEIh_zAyC7qc5OOGUZt
533 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Define the program & attach the executable short name with the program.
534 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Apply
535 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Step 6) Switch the Responsibility & Submit the Request.
536 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
{/XXCV_BURSTING/LIST_G_USER_NAME/G_USER_NAME}
537 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Save the File as RTF File.
538 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Custom.
Name: - xdo-pdf-open-password
Type: - text
Press Add.
Name: - xdo-pdf-security
Type: - text
Values: - true
Press Add.
539 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Ok.
Go to Preview PDF.
540 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press OK.
Dynamic password is different for every file. When we create the files in XML Bursting
for every file password need to be different & password needs to their person_id.
For Dynamic password we need to enter the XML Tags names in MS-Word Properties.
541 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
{/XXCV_BURSTING/LIST_G_USER_NAME/G_USER_NAME/PERSON_ID}
Change 123456 to
{/XXCV_BURSTING/LIST_G_USER_NAME/G_USER_NAME/PERSON_ID}
Press Modify
Press ok.
542 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
You are able to view the output.
If you try to enter any other person id you will get the error.
Because file will tag the first Person id as password for this file.
Now try to create the Different RTF Files for Every country & then create Template.
For Every file you will get different password as their person_id.
543 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Translation in BI Publisher
Create Data Template File
https://drive.google.com/open?id=1J2uVAGOECuwmPlqcAYtDHQF4Euienw6R
544 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Data Definitions
Create Template
545 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Update
target
elements
with
translation
of source
elements
Copy the target name & use Google translation to translate in target language.
546 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We are going to use French & for French language code is Fr.
547 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Template
548 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
After that when we will submit the concurrent program our output will come in
French language.
549 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Excel Template
Create Data Template SQL File.
https://drive.google.com/open?id=1hYl0BgdvGCTLPcI126pERawnVY2NKTcm
550 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Data Definition.
551 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on New.
In the Name we are getting column name we need to create a tag & enter the tag
name.
XDO_?EMPNO?
552 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
XDO_?ENAME?
XDO_?JOB?
553 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
XDO_?SAL?
After creating tag for each column we need to create one group tag.
Click on New.
554 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on Refers
In the refers it has select only sal column we need to select all the columns.
Each Excel template requires a sheet within the template workbook called
"XDO_METADATA". Use this sheet to identify your template to BI Publisher as an
Excel template.
This sheet is also used to specify calculations and processing instructions to perform
on fields or groups in the template. BI Publisher provides a set of functions to provide
specific report features. Other formatting and calculations can be expressed in XSLT.
555 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create the header section by entering the following variable names in column A, one
per row, starting with row 1:
Version
ARU-dbdrv
Extractor Version
Template Code
Template Type
Preprocess XSLT File
Last Modified Date
Last Modified By
In the header region, for the variable "Template Type" enter the value:
TYPE_EXCEL_TEMPLATE
556 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Data Template.
557 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Work Flows
Workflows are used for Approval process and sending notifications to users of Oracle
Apps.
Components of workflows
1) Attributes
2) Processes
3) Functions
4) Notifications
5) Messages
6) Events
7) Lookup types
558 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Example One : - Create a workflow to send "Have a nice day" notification to a
Operations user.
Click on Open .
559 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Right Click on Standard workflow & select New Item Type
560 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Apply & then OK.
After Creating the Item we will get all the components of Workflows.
Create Process
561 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We don't need to create the new function Start function is a pre defined function &
pre defined function is available in standard workflow (WFSTD)
562 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Node Tab
Go to Node Tab.
All these Steps Which we have done till now are the common steps for every
workflow.
Create Notification
564 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We are not able to create message with process screen we need to create message
from navigator screen.
In the message we need to add the message we need to send to operations user.
566 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Body tab.
567 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
568 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Node Tab.
In the node tab we need to give the user name in value to which user we need to
send the notification.
Give Directions
Need to Give Directions from Start to Notification & From notification to End.
569 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Same way Click on notification and drag to end.
570 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Save the Workflow in the database.
Select Database.
Press OK.
571 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Close the Workflow Builder & Login oracle apps with user sysadmin & password is
also sysadmin.
Press Run
572 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Submit.
Ok.
573 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Status Monitor Tab to Check the status of our workflow.
Press Go.
Status is Complete.
574 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Ok.
575 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We read our message so it removed from worklist.
Item key always be unique if we enter the same item key we will get error.
576 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Submit.
Press ok.
You can see one is open and one is closed because first notification we have open
second notification we didn't open.
578 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Start & End Function
The same way from example one & in the node tab change Start/End option.
Start and end function is pre defined function for this example we are creating our
own function
579 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
If we need to do some calculation in PL/SQL Block we need some local variables like
in this example also we need some local variable.
Create Attributes.
URL is used for calling external url in the notification. Like we need to call any website
in the nofitication.
Document The attribute value is an attached document like if we want to store excel
or word document.
https://docs.oracle.com/cd/B13789_01/workflow.101/b10284/defcom03.htm
581 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We can enter the value in this form or we can enter the value in the end when we
going to submit the workflow.
Like this create one more attribute (B) & enter the value as 20.
Create one more attribute ( C ) but without any value because C wil store value which
we are getting after adding A & B.
582 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Package with procedure to accomplish the specific task.
Package Specification.
All the variables which we are creating in this procedure is a manditory variables in
workflows like we have errorbuf and redcode for concurrent program.
Package Body
583 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
To download above package click on below mention link.
https://drive.google.com/open?id=1yXaGyE-3wGKtBXHwx3kotTAgHZiXk3cf
584 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
585 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Run.
In the workflow attributes screen in A and B we get the values 10 and 20 by default
because we have given the values while creating attributes.
If we don't give the values at the time of creating attributes we need to give the
values now.
586 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press OK.
Status is completed
587 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Example 3: Create a workflow to calculate sum of two numbers & If Sum is greater
than 100 then First Notification to user if less then 100 then second notification to
user.
Create Item
588 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Process
589 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
590 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
One is For More than 100 & One is for Less than 100.
591 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
After creating a notification we need to create message and need to attach the
message with notification.
Go to Navigator
Go to Body Tab.
592 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Apply
Go to Node Tab & Give the User Details to which you want to send the message.
593 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Go to Node Tab & Give the User Details to which you want to send the message.
594 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Package
Package Body
595 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Give Function Name (Package name . Procedure Name).
IF Total is More than 100 then it take as Yes or If Less than 100 it take as No.
Give Directions
596 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
System is asking you want addnot1 as yes or no we select as Yes.
597 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Close process window and minimize everything.
598 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Login oracle Apps with Sysadmin user.
Press Run
You can we are not any values because we didn’t give any values while creating
attributes.
599 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Submit
Go to Status Monitor
Go to Status Diagram
600 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
You can see System has taken the ADDNOT1 path because our total of values is
greater then 100.
Submit your workflow again with total is less than 100 & then check the status
diagram.
Press Submit
601 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Our total is less than 100 so system is taking the path from addnot2.
Lookup Types
A lookup type has one or more values called lookup code associated with it. Function
or process as its possible result type. A lookup type is a list of values that can be
referenced by a message or by a notification, attribute.
602 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Standard Lookup Types.
We want to create one more notification where can give the message ‘Sum is equal
to 100’.
603 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Add the user name to which user we want to send the notification.
604 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press New
605 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Enter Internal name & Display name.
We are creating 3 lookup code. We create G lookup code for greater than 100 . E for
equal to 100 & L for Less than 100.
606 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
607 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Now we need to do some changes in our PLSQL Code also.
https://drive.google.com/open?id=18qtuxKb3qLIEvuLJM-uerXvJuWn2YzCw
Give directions to all the notifications & attach your result type to respective
notification.
608 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
609 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Status Monitor
We have two types of notification one is for your information purpose & other one is
for your action. Till the time we have learn about FYI types of Notification. In this we
will learn about FYA types of Notification.
In this example we will learn about how to call attibutes with our message & we can
provide the approve & Reject button in the message.
When we run the workflow operations user will get the notification that we need
holiday for next two days. Then if operations user will approve then It will send the
approve message or if press reject button it will send reject message.
610 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We will create four attributes for manager name , employee name , from date & to
date.
We can create start & end function with the short cut.
Go to File Quick Start wizard Enter Item name & Process name.
Request Notification we are creating where we will add approve & reject button.
We will add message also where we will get the manager name , employee name &
dates from which we need leave.
611 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
612 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Approve Notification
613 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Till the time we have create attibutes but we didn’t call them in our message. Now in
this example we will learn how to call the attributes in message.
614 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Mention Length also.
615 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
For To Date
Attach Attribute in Message by using Ampersand operator ( & ). Just put the
Ampersand operator with attribute name.
616 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Request Message
We are attaching the lookup type in the message option because we need approval &
Rejected button in the message option.
617 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
We are getting it question mark sign in request_msg after attaching result type.
Approval Message.
Reject Message.
618 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Attach Message to Notification.
619 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Give directions to all the notifications & attach your result type to respective
notification.
620 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Verify the workflow.
To over come to this error we need to attach all the attribute with the message. For
this trag the attribute and paste in Request message. Because we have call the
attributes in request message.
Now verify your workflow & save the workflow in your database.
621 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Submit.
622 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
You can see the path is not completed because we have mention approve & reject
button in the message.
We are able to see the details in the message we have enter the details in the
attributes fields.
Right Side we are able to see the approve & reject button.
623 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Open the nofitication.
Till the time we are calling the workflow using the form . we can call the workflow
using plsql block also.
https://drive.google.com/open?id=1Eb_jDOYl3XY6xmP1ztC7WK0iFsrr3Wg5
624 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
625 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Run the PlSQL Block
We are getting the values which we have mention in the PLSQL Block.
Click on approve.
Till the time the example we have done we have hardcore the user name in the
notification & notification so to that user.
627 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Operations, workflow_notes, krishan & Anand are FND Users.
We are creating 3 new attributes One for Requester, One for Manager & One for
Leave Days.
In the table we have mention 30 days for every employee & it’s manager name also.
628 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
629 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Changes in Notification.
Open Request notification & Go to Node tab ( Where we have hard core the user
name).
Like this we need to select requestor for Approve & Reject notification.
630 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Function will subtract the number of leaves we have used from the table.
We need to create one procedure for the calcualtion & Attach that procedure with
the function.
https://drive.google.com/open?id=1wAxAbIVlO2Lp1JmmAcTti0HUgk-sQ48c
631 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Provide Directions.
632 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Run the workflow using workflow_notes user.
633 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on approve.
You can see with approve & Reject button we have two more buttons Reassign &
Request Information. These are the pre defined button from oracle.
Request Information
If the Manager want some another information before approval or we have send this
notifcation to our project manager. He want some information from our Team Leader
so he can Request information from other users also.
634 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
In Workflow particpant we will only get the name of the user which we have in the
workflow.
In Any user we can select any user from the oracle apps.
Press Submit.
635 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Login With workflow_notes.
636 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Reassign
Click on Reassign
We got two options Delegate your response & Tranfer nofitication ownership.
Delegate your response we will use when we are giving temporary rights to the other
person so can approve on our behalf . In this we will be the owner of the workflow
notification.
637 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Press Submit.
https://drive.google.com/open?id=1JzbtJ_wPiDxZAPUiD8fvdh4kcxUstAHi
638 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Login with sysadmin user because we have given opertions as employee & sysadmin
is the manager of the operations as per our table we have created.
639 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Click on approve.
640 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Roles
When we want to send the one nofitication to multiple users we need to create roles.
Create Role
https://drive.google.com/open?id=10steWEiZBlmz-UxQuYBTlu0qeHQkDPiI
Table : wf_roles
API ( wf_directory.adduserstoadhocrole)
https://drive.google.com/open?id=1S1yid53M4nfSaLfk6nEmRaCi_R87cS0Q
Table : - wf_user_role_assignments
641 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Workflow
Create Attribute
Create Message
642 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Create Notification
Give Directions
643 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Run the workflow
https://drive.google.com/open?id=1bM1WMold-60tSsGzluSaCS5ihpeEp9cH
Notification will receive by all the users we have added in our role.
If one user has read the notification then if will automatically read for the other users
also.
644 | P a g e mailankitnarula@gmail.com
www.selfonlinetraining.wordpress.com
Delete the User from Role
https://drive.google.com/open?id=1m0M1Z1AZ4ZsiIfhP4FuFnWYCVzK8fCEf
Tables
wf_items
wf_item_types
wf_item_attributes
wf_message_attributes
wf_notifications
wf_activities
WF_MESSAGES
WF_NOTIFICATION_ATTRIBUTES
Fnd load script is used to transfer the data from Development server to test server or
test server to production server.
https://drive.google.com/open?id=1itq3GHNHJQom6jSfYsfxQsucIRvnixhB
645 | P a g e mailankitnarula@gmail.com