Trace a Concurrent Request And Generate
TKPROF File
How to Trace a Concurrent Request And Generate TKPROF File
Enable Tracing For The Concurrent Manager Program
Responsibility: System Administrator
Navigate: Concurrent > Program > Define
Query Concurrent Program
Select the Enable Trace Checkbox
Turn On Tracing
Responsibility: System Administrator
Navigate: Profiles > System
Query Profile Option Concurrent: Allow Debugging
Set profile to Yes
Run Concurrent Program With Tracing Turned On
Logon to the Responsibility that runs the Concurrent Program
In the Submit Request Screen click on Debug Options (B)
Select the Checkbox for SQL Trace
2. Find Trace File Name
Run the following SQL to find out the Raw trace name and location for the concurrent
program. The SQL prompts the user for the request id
SELECT ’Request id: ’||request_id , ‘Trace id: ’||oracle_Process_id, ‘Trace Flag: ’||
req.enable_trace, ‘Trace Name: ‘||dest.value||’/'||lower(dbnm.value)||’_ora_’||
oracle_process_id||’.trc’, ‘Prog. Name: ’||prog.user_concurrent_program_name,
‘File Name: ’||execname.execution_file_name|| execname.subroutine_name , ‘Status : ’||
decode(phase_code,’R',’Running’) ||’-'||decode(status_code,’R',’Normal’), ‘SID Serial: ’||
ses.sid||’,'|| ses.serial#, ‘Module : ’||ses.module
from fnd_concurrent_requests req, v$session ses, v$process proc,
v$parameter dest, v$parameter dbnm, fnd_concurrent_programs_vl prog,
fnd_executables execname where req.request_id = &request
and req.oracle_process_id=proc.spid(+) and proc.addr = ses.paddr(+)
and dest.name=’user_dump_dest’ and dbnm.name=’db_name’
and req.concurrent_program_id = prog.concurrent_program_id
and req.program_application_id = prog.application_id
and prog.application_id = execname.application_id
and prog.executable_id=execname.executable_id;
3. TKPROF Trace File
Once you have obtained the Raw trace file you need to format the file using TKPROF.
$tkprof raw_trace_file.trc output_file explain=apps/apps sort=(exeela,fchela) sys=no
Where: raw_trace_file.trc: Name of trace file
output_file: tkprof out file
explain: This option provides the explain plan for the sql
statements
sort: his provides the sort criteria in which all sql statements will be
sorted. This will bring the bad sql at the top of the outputfile.
sys=no:Disables sql statements issued by user SYS
Another example: To get (TKPROF) sorted by longest running queries first and limits the results
to the “Top 10″ long running queries
$ tkprof <filename.trc> <output_filename> sys=no explain=apps/<password> sort=’(prse
la,exeela,fchela)’ print=10
Oracle Applications - Technical Questions
what is a flexfield qualifier ?
Oracle Applications products use flexfield qualifiers to identify certain segments used for
specific purposes. eg: segment named ‘Account’ is qualified as ‘Natural Account’so that
it identifies Accounts, similarly a segment named ‘Company’ can be qualified as
‘Balancing Segment’, i.e, for these segment values B/S can be brought out in Accounting
Flexfield in GL.
A flexfield is made of segments and oracle identifies if particular segment in the
accounting flexfield is an account segment or a company segment, based on some
predefined values called as flexfield qualifiers which are assigned to the segments to look
meaningful for defining the accounting flexfield. Eg: Account segment uses Natural
Account segment and the company segment uses Balancing segment are mandatory for
defining the accounting flexfield. Other values are Cost center segment, Inter company
segment, secondary tracking segment
What is the difference between configuration, conversion, and customization?
Conversion, customization and configuration are part of an oracle implementation project
they come in this order
1. configuration/set up
2. Customization
3. Conversion
Configuration is setting up customer specific requirement which generally exist in oracle
apps customization is filling the gap between oracle apps and Customer requirement by
developing some extension and solution design
Customization is relatively different thing, something that is not a part of oracle apps core
product but the client requirement demands it we go for Customization. If the
functionality demanded by the client exists in the application, it is to be configured
according to his needs by taking some data, this is called configuration
Conversion is structural change of customer data in a form which is compatible with
oracle database best of luck. Conversion is the process of mapping the tables from a
legacy system to apps system. Sometimes conversions can be from one version to other
Where we can check the status of PO.
In po_headers_all authorization_status coloumn is their we can find through this coloumn
What is back order in OM
There are few reasons that a scheduled order could be Backordered during pick release
process.
1. In-sufficient onhand
2. Order might be put as ‘Pick release hold’
3. If it’s a lot controlled item being involved then some of the factors will be checking at
picking rule setup (like Lot- expiration date, etc) and tured to ‘Backordered’ incase the
criteria does not meet.
Where we find the status of order information.
Order header status is in oe_order_headers_all table reference with flow_status_code
column and order line status would be oe_order_lines_all table reference with
flow_status_code column.
What are the tables of auto invoice?
RA_INTERFACE_LINES_ALL, RA_INTERFACE_DISTRIBUTIONS_ALL ARE
THE TWO INTERFACE TABLES MAINLY USED BT AUTOINVOICE. FURTHER
DATA READ FROM THESE TABLES WILL BE INSERTED INTO
RA_CUSTOMER_TRX_ALL , RA_CUSTOMER_TRX_LINES_ALL ,
RA_CUST_TRX_LINE_GL_DIST_ALL , AR_PAYMENT_SCHEDULES_ALL
AFTER VALIDATING.
For report i have two parameters those are from_date and to_date ,so to_date
should be greater when compare to from_date ,if we are giving to_date is less then it
must shows some error how we will make it.
While defining Parameters you can set range option(in concurrent prog parameters
window). Select low for from_Date and high for to_Date.Then it will not allow for
from_date > to_date.
How to find the custom directory in front end.
From Application Developer responsibility, navigate to Application –> Register. Query
for the custom application name. The value in the field Basepath, is the OS system
variable that stores the actual directory info.
What are the execution methods in oracle apps?
1. Host
2. Immediate
3. Java Stored Procedure
4. Java Concurrent Program
5. Multi Language Function
6. Oracle Reports
7. Request Set Stage Function
8. Pl/Sql Stored Procedure
9. Spawned
10. Sql*Lodar
11. Sql*Plus
12. Perl Concurrent Program
What are APIs
API stands for application program interface. Oracle has its own api facility to transfer
data from a external source to oracle base table so api is an standard oracle tool to
transfer data to oracle database. It is a very simple method and a person with no technical
background also can use api. Example-uploading journal and budget data through API.
Profile Option values for all levels using SQL*Plus.
How to list E-Business Suite Profile Option values for all levels using SQL*Plus.
Connect to the eBusiness Suite database using APPS schema name
select p.profile_option_name SHORT_NAME,
n.user_profile_option_name NAME,
to_char(v.last_update_date,‘DD-MON-RR’) “Last Updated”,
decode(v.level_id,
10001, ‘Site’,
10002, ‘Application’,
10003, ‘Responsibility’,
10004, ‘User’,
10005, ‘Server’,
10007, ‘SERVRESP’,
‘UnDef’) LEVEL_SET,
decode(to_char(v.level_id),
‘10001′, ”,
‘10002′, app.application_short_name,
‘10003′, rsp.responsibility_key,
‘10005′, svr.node_name,
‘10006′, org.name,
‘10004′, usr.user_name,
‘10007′, ‘Serv/resp’,
‘UnDef’) “CONTEXT”,
v.profile_option_value VALUE
from fnd_profile_options p,
fnd_profile_option_values v,
fnd_profile_options_tl n,
fnd_user usr,
fnd_application app,
fnd_responsibility rsp,
fnd_nodes svr,
hr_operating_units org
where p.profile_option_id = v.profile_option_id (+)
and p.profile_option_name = n.profile_option_name
– and upper(n.user_profile_option_name) like upper(’%&profile_name
%’)
and usr.user_id (+) = v.level_value
and rsp.application_id (+) = v.level_value_application_id
and rsp.responsibility_id (+) = v.level_value
and app.application_id (+) = v.level_value
and svr.node_id (+) = v.level_value
and org.organization_id (+) = v.level_value
order by short_name, level_set;
Distribute the workload of concurrent requests in the
same node
How to distribute the workload of concurrent requests in the same node?
In order to distribute concurrent requests to distinct concurrent managers on the same
node, you
have to :
1 - Create a new concurrent manager on the forms Define Concurrent Managers from the
System Administrator responsibility ( set the same setup as the Standard Concurrent
manager ), then click on the button Specialization Rules and Include the concurrent
programs you want to run on this concurrent manager.
2 - Query the Standard concurrent manager on the forms Define Concurrent Managers
from the System Administrator responsibility, then click on the button Specialization
Rules and Exclude the concurrent programs you include in step 1 for the new concurrent
managers.
3 - Bounce the concurrent managers.
Export a concurrent program and executable
using FNDLOAD
How to export a concurrent program and executable using FNDLOAD?
Please use the following FNDLOAD command to download a concurrent program to a
flat file :
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct
file_name.ldt PROGRAM
APPLICATION_SHORT_NAME=”<your_application_short_name>”
CONCURRENT_PROGRAM_NAME=”<your_concurrent_name>”
To upload it to another environment, use the following command :
FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct
file_name.ldt
You may found additional explanation in the Oracle Applications System Administrator’s
Guide - configuration Release 11i ( appendix C)