Find the Meanings of Various Status Codes
The following query would provide you the information regarding the status_code and its meaning for fnd_concurrent_processes.
SQL> select lookup_code, meaning from fnd_lookups where lookup_type='CP_PROCESS_STATUS_CODE'
LOOKUP_CODE ----- MEANING
----------------- ------------
A -------------------> Active
C -------------------> Connecting
D -------------------> Deactiviating
G -------------------> Awaiting Discovery
K ------------------->Terminated
M ------------------>Migrating
P ------------------>Suspended
R ------------------>Running
S ------------------>Deactivated
T ------------------>Terminating
Z ------------------>Initializing
Here are the status_codes for fnd_concurrent_requests and their meanings :-
PROCESS_STATUS_CODE ------- Column:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A ------------------------------------>Waiting
B ------------------------------------>Resuming
C ------------------------------------>Normal
D ------------------------------------>Cancelled
E ------------------------------------>Error
F ------------------------------------>Scheduled
G ------------------------------------>Warning
H ------------------------------------>On Hold
I ------------------------------------->Normal
M ------------------------------------>No Manager
Q ------------------------------------>Standby
R ------------------------------------>Normal
S ------------------------------------>Suspended
T ------------------------------------>Terminating
U ------------------------------------>Disabled
W ----------------------------------->Paused
X ------------------------------------>Terminated
Z ------------------------------------>Waiting
PHASE_CODE -----------column
----------------------- ---------------
C ------------------------->Completed
I ------------------------->Inactive
P ------------------------->Pending
R ------------------------->Running
AD ADMIN UTILITIES
Ad admin is a utility which is used to perform
Login as a Applmgr user:
[applmgr@apps ~]$ adadmin
Preliminary Tasks:
1. Running the environment file.
2. Verifying that ORACLE_HOME set properly.
3. Ensuring that ORACLE_HOME/bin and AD_TOP/bin are in your path.
4. Shutting down the concurrent managers when relinking certain files or performing certain database tasks.
5. Ensuring Sufficient temporary disk space.
Ad administration prompts:
Your default directory is '/u01/app/apps/uatappl'.
Is this the correct APPL_TOP [Yes]
Filename [adadmin.log] :
APPL_TOP is set to /u01/app/apps/uatappl
Please enter the batchsize [1000] :
Enter the password for your 'SYSTEM' ORACLE schema: manager
Enter the ORACLE password of Application Object Library [APPS] : apps
The main AD Administration log file is called adadmin.log by default. This name can be
Changed when starting up AD Administration.
Errors and warnings are listed in the log file
/u01/app/apps/uatappl/admin/UAT/log/adadmin.log
General Applications file menu
There are five functional choices in the generate applications file menu.
1. Generate Message Files:
This task generates message binary files in the $PROD_TOP/mesg directory from oracle application object library tables.
We generally perform this task only when instructed to do so in a readme file of a patch.
2. Generate Form Files:
This task generate binary oracle forms file for all installed languages from the form definition files. Extension (*.fmx)
Perform this task whenever we have issue with a form or set forms.
Oracle application uses these binary files to display the data entry forms.
When we choose Generate form files:
It prompts following:
Generate Report files:
This task generates binary report files for all installed languages. Extension of the file name like (*.rdf)
When we choose Generate report files menu, it prompts the following.
Generate Graphics files:
This task generates Oracle graphics files for all installed languages. Extension of the file name like (*.ogd)
The serious of prompts and actions in this task are very similar to the prompts and actions in the Generate form files task.
Generate Product JAR files:
This generate product jar files task prompts
Do you wish to force generation of all jar files? [No]
If we choose No, it only generates JAR (Jave Archive) files that are missing or out of date.
Choose yes for this option when generating JAR files after upgrading the developer technology stack or after updating your Java version.
Maintain Applications Files tasks
Relink Application programs:
This task relinks all your oracle applications binary executables.
Select this task after us:
1. Install new version of the database or a technology stack component.
2. Install an underlying technology component used with oracle applications.
3. Apply a patch to the application technology stack.
4. Apply a patch to the operating systems
These tasks execute AD relink utility. Use AD admin, not the AD relink utility directly, to relink non AD-executables.
Create Applications environment file:
Select this task when you want to:
1. Create an environment file with settings that are different from your current environment file.
2. Recreate an environment file that is missing or currept.
Copy files to destinations:
The copy files to destinations task copies files from each product area to central locations where they can easily referenced by oracle applications.
Use this option to update the java, HTML and media files in the common directories (such as JAVA_TOP, OA_TOP) when users have issues accessing them.
1. Java file are copied to JAVA_TOP
2. HTML files are copied to OAH_TOP
3. Media files are copied to OAM_TOP
Convert Character Set:
1. This task converts the character set of all translatable files in APPL_TOP.
2. You should select this task when changing the base language or adding additional languages to oracle applications
3. You may need to convert database character set and file system character set to one that will support the additional languages.
Maintain snapshot information:
1. This task record details for each file in the APPL_TOP (like file name and file version).
2. They also record summary information’s about patches that have been applied to the APPL_TOP.
3. The maintain snapshot information task stores information about files, file versions and bug fixes present in an APPL_TOP.
4. You must run Maintain snapshot information option once for each APPL_TOP before you apply any patch that contains a “compatible feature prereq” line on that APPL_TOP.
1. The check for missing files task verifies files needed to install, upgrade, or run oracle applications for the current configuration are in the current APPL_TOP.
2. Choose this task if you suspect there are files missing in your APPL_TOP.
Maintain Database Entries tasks:
Validate apps schema task run SQL script (advrfapp.sql) against the apps schema to verify the integrity of the schema.
It determines:
1. Problems you must fix(not specific to apps schema)
2. problems you must fix(specific to apps schema)
3. Issues you may want to address(specific to apps schema)
A report called APPSschemaname.lst is produced in APPL_TOP/admin/
This report contains information about how to fix the issues. We can find following things by running the Validate Apps schema.
1. Missing or invalid package.
2. Missing or invalid synonyms.
3. Invalid objects in apps schema.
This task is more effective if run:
1. Immediately after an upgrading or applying maintenance pack
2. After a patch is applied.
3. After performing export/import (migration)
4. When doing custom development in the apps schema.
Recreate Grants and Synonyms:
This task recreates grants and synonyms for oracle application public schema (applsyspub)
Recreate grants on some packages from system to apps
Run this task when grants and synonyms are missing from the database. This may occur as a result of
1. Custom development
2. Incomplete database migrations
3. Patches and administrative sessions that failed to run successfully to completion
Maintain multi-lingual tables:
MLS or multilingual support is oracle application’s ability to operate in a multi languages simultaneously. When running Maintain multi-lingual task you can select the number of parallel workers. In generally run during the NLS install and maintenance processes. This task runs the
Check Dual Tables:
This task looks for a dual table accessible by oracle applications and ensures the correct grants are set up. If such table not exists or if an existing DUAL table has more than one row, AD administration displays error. If a DUAL table containing only one row exists, AD admin completes successfully.
Maintain multiple reporting currencies:
This option varies depending on whether you currently have multiple reporting currencies (MRC) enabled or not.
If MRC functionality is implemented in your database, the option reads maintain multiple reporting currencies.
Convert to multiple organizations:
To convert in to multiple-org does the following thing:
1. Confirms that you want to run the task
2. Asks for the number of parallel workers
3. Create script to disable and re-enable triggers in the APPS schema
4. Disable all triggers in the apps schema
5. Converts seed data and transaction data to multiple organizations in parallel.
6. Re-enable all previously disabled triggers in the apps schema.
Compile and Reload Database Entries tasks:
This task compiles uncompiled program units (pl/sql and java) in the apps schema.
You can perform this task with multiple workers.
When running this task, AD administration prompts,
Run Invoker's Rights processing in incremental mode [No]?
Type Yes at this prompt to run Invoker Rights processing only on packages that have changed
Since Invoker Rights processing was last run or accept the default to run Invoker Rights
Processing on all packages.
During the upgrade progress.
Compile Menu Information:
This option compiles menu data structures.
Choose this task after uploading menu entries.
It asks if you want to force compilation for all menus,
1. If you choose the default [no] only menus with changes are saved
2. If you enter yes all menus are compiled
Compile flexfield:
Run this task if the readme of a patch indicates that this step should be performed.
Details of the task with a list of compilation status of every flexfield are written to a log file.
The name of the log file is in the format
Reload JAR Files to Database:
This option runs the loadjava utility to reload all appropriate oracle applications
JAR files into the database.
Change Maintenance mode:
1. Must be enabled before patching oracle applications
2. Improves patching performance
3. Restricts users access to system
4. Is enabled and disabled using AD administration
Troubleshooting Oracle Applications Performance Issues
Doc ID:
Note:169935.1
https://metalink.oracle.com/metalink/plsql/f?p=130:14:3661229079955080828::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,169935.1,1,1,1,helvetica
Oracle Database 10g: The Top 20 Features for DBAs
http://www.oracle.com/technology/pub/articles/10gdba/index.html
Workflow Scripts
Doc ID:
Note:183643.1
Oracle Applications Systems Administration Setup and Usage
Doc ID:
Note:189457.1
https://metalink.oracle.com/metalink/plsql/f?p=130:14:3661229079955080828::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,189457.1,1,1,1,helvetica
How To Find Trace File From Concurrent Request ID Doc ID: Note:452225.1
Beginner's Guide: Create a Custom Event Alert to Fire against a Custom Table Doc ID: Note:103418.1
How to Generate SQL Level traces for Oracle forms (Level 4, Level 8, Level 12) Doc ID: Note:364479.1
Troubleshooting Benefits Performance Issues Doc ID: Note:364333.1
Linux OS Service 'sendmail'
Doc ID:
Note:555115.1
Linux Quick Reference
Doc ID:
Note:341782.1
Creating a Custom Application in Applications 11i
Creating a Custom Application in Applications 11i
Custom Applications are required if you are creating new forms, reports, etc. This allows you to segregate your custom written files from the standard seeded functionality that Oracle Applications provide. Customizations can therefore be preserved when applying patches or upgrades to your environment.
1) Make the directory structure for your custom application files.
cd $APPL_TOP
mkdir mz
mkdir mz/11.5.0
mkdir mz/11.5.0/admin
mkdir mz/11.5.0/admin/sql
mkdir mz/11.5.0/admin/odf
mkdir mz/11.5.0/sql
mkdir mz/11.5.0/bin
mkdir mz/11.5.0/reports
mkdir mz/11.5.0/reports/US
mkdir mz/11.5.0/forms
mkdir mz/11.5.0/forms/US
mkdir mz/11.5.0/$APPLLIB
mkdir mz/11.5.0/$APPLOUT
mkdir mz/11.5.0/$APPLLOG
2) Add the custom module into the environment
Apply ADX.E.1 and add the entry to topfile.txt as a standard product top entry (follow the existing model in the file)
Customised environment variables can be added to AutoConfig by using the filename specificed by s_custom_file, which is then called from the APPSORA.env file.
If using Forms Listener Servlet, you may also need to add $CUSTOM_TOP to formsservlet.ini in $APACHE_TOP/Jserv/etc
3) Create new tablespace for database objects
create tablespace MZ datafile '/emea/oracle/visuk09/visuk09data/mz.dbf' size 10M default storage(initial 10k next 10k)
4) Create schema
create user mz identified by mz default tablespace mz
temporary tablespace temp quota unlimited on mz quota unlimited on temp;
grant connect, resource to mz;
5) Register your Oracle Schema.
Login to Applications with System Administrator responsibility
Navigate to Application-->Register
Application = MZ Custom
Short Name = MZ
Basepath = MZ_TOP
Description = MZ Custom Application
6) Register Oracle User
Naviate to Security-->Oracle-->Register
Database User Name = MZ
Password = MZ
Privilege = Enabled
Install Group = 0
Description = MZ Custom Application User
7) Add Application to a Data Group
Navigate to Security-->Oracle-->DataGroup
Data Group = MZGroup
Description = MZ Custom Data Group
Click on "Copy Applications from" and pick Standard data Group, then add the following entry.
Application = MZ Custom
Oracle ID = APPS
Description = MZ Custom Application
8) Create custom request group
This will act as a placeholder for any custom reports we wish to make available for the Custom Responsibility (which is defined at a later stage)
Navigate to Security-->responsbility-->Request
Group = MZ Request Group
Application = MZ Custom
Code = MZ
Description = MZ Custom Requests
We will not define any requests to add to the group at this stage, but you can add some now if required.
9) Create custom menu
This will act as a placeholder for any menu items we wish to make available for the Custom Responsibility (which is defined at a later stage) We will create two menus, one for Core Applications and one for Self Service.
Navigate to Application-->Menu
Menu = MZ_CUSTOM_MENU
User Menu Name = MZ Custom Application
Menu Type =
Seq = 100
Prompt = View Requests
Submenu =
Description = View Requests
Seq = 110
Prompt = Run Requests
Submenu =
Description = Submit Requests
Menu = MZ_CUSTOM_MENU_SSWA
User Menu Name = MZ Custom Application SSWA
Menu Type =
10) Create new responsibility.
One for Core Applications and One for Self Service (SSWA)
Navigate to Security-->Responsibility-->Define
Responsibility Name = MZ Custom
Application = MZ Custom
Responsibility Key = MZCUSTOM
Description = MZ Custom Responsibility
Available From = Oracle Applications
Data Group Name = mzGroup Data Group
Application = MZ Custom
Menu = MZ Custom Application
Request Group Name = MZ Request Group
Responsibility Name = MZ Custom SSWA
Application = MZ Custom
Responsibility Key = MZCUSTOMSSWA
Description = MZ Custom Responsibility SSWA
Available From = Oracle Self Service Web Applications
Data Group Name = mzGroup
Data Group Application = MZ Custom
Menu = MZ Custom Application SSWA
Request Group Name = MZ Request Group
11) Add responsibility to user
Navigate to Security-->User-->DefineAdd MZ Custom responsibility to users as required.
12) Other considerationsYou are now ready to create your database Objects, custom Reports, Forms, Packages, etc
Create the source code files in the MZ_TOP directory appropriate for the type of object. For example formswould be located in $MZ_TOP/forms/US or package source code in $MZ_TOP/admin/sql for example.
Database Objects, such as tables, indexes and sequences should be created in the MZ schema, then you need to
a) Grant all privilege from each custom data object to the APPS schema.
For example : logged in as MZ user
SQL> grant all privileges on myTable to apps;
b) Create a synonym in APPS for each custom data object For example : logged in as APPS user
create synonym myTable for mz.myTable;
Other database objects, such as views and packages should be created directly in the APPS schema.
RELATED DOCUMENTS
Oracle Applications Release 11i Developers Guide.
Oracle Applications Release 11i System Administrators Guide.
Additional Search Words
11i custom customisation core apps
Note:216589.1
Note:216823.1
Processes Used by E-Business Suite
tnslsnr Applications RPC Listener process adalnctl.sh
httpd Apache Web Server Listener adapcctl.sh
httpds
java
FNDLIBR Concurrent Manager adcmctl.sh
FNDSM
INVLIBR
oad Discoverer processes addisctl.sh
osagent
jre oracle.disco.locator.Locator
d2lc60 Forms Metrics Client adfmcctl.sh
d2ls60 Forms Metrics Server adfmsctl.sh
f60srvm Forms Server Listener process adfrmctl.sh
f60webmx
rwmts60 Reports Server adrepctl.sh
jre oracle.apps.fnd.tcf.ServerControl TCF SocketServer process adtcfctl.sh
Fulfillment Server process jtffmctl.sh
java oracle.apps.jtf.fm.engine.processor.Processor
java oracle.apps.jtf.fm.engine.remote.RemoteCommand
Apps Syntex on adrelink, compile
f60gen module=AFMLSUBB.pls userid=apps/apps output_file=AFMLSUBB.plx module_type=library batch=yes compile_all=special
f60gen module=ASOQTLIN.pll userid=apps/apps output_file=ASOQTLIN.plx module_type=library batch=yes compile_all=special
f60gen module=CSXSRISR.fmb userid=apps/accel Output_File=/ora/apps/prodappl/cs/11.5.0/forms/US/CSXSRISR.fmx log=/ora/apps/prodappl/cs/11.5.0/log/CSXSRISR.log
f60gen module=CSXCHTAB.fmb userid=apps/apps Output_File=/oracle/apps/trgappl/cs/11.5.0/forms/US/CSXCHTAB.fmx Module_Type=form Batch=Yes Compile_All=Special
Compile Backage and Backage Body
select 'alter ' || object_type ||' '|| OBJECT_NAME || ' compile ' || ';' from dba_objects where object_type in ('FUNCTION','PACKAGE','PROCEDURE','TRIGGER','VIEW') AND
select 'alter ' || 'PACKAGE '|| OBJECT_NAME || ' compile body' || ';' from dba_objects where object_type in ('PACKAGE BODY') AND STATUS ='INVALID';
Check the Apps file version
strings -a $XXX_TOP/resource/EAMOPMDF.plx | grep '$Header'
strings -a $XXX_TOP/patch/115/sql/EAMWOTHB.pls | grep '$Header'
Manually issue the adrelink command to relink one executable.
i.e - adrelink.sh force=y ranlib=y "FND FNDFS"
adrelink.sh force=y "ad adadmin"
Creating a Custom Application in Applications 11i
Custom Applications are required if you are creating new forms, reports, etc. This allows you to segregate your custom written files from the standard seeded functionality that Oracle Applications provide. Customizations can therefore be preserved when applying patches or upgrades to your environment.
1) Make the directory structure for your custom application files.
cd $APPL_TOP
mkdir mz
mkdir mz/11.5.0
mkdir mz/11.5.0/admin
mkdir mz/11.5.0/admin/sql
mkdir mz/11.5.0/admin/odf
mkdir mz/11.5.0/sql
mkdir mz/11.5.0/bin
mkdir mz/11.5.0/reports
mkdir mz/11.5.0/reports/US
mkdir mz/11.5.0/forms
mkdir mz/11.5.0/forms/US
mkdir mz/11.5.0/$APPLLIB
mkdir mz/11.5.0/$APPLOUT
mkdir mz/11.5.0/$APPLLOG
2) Add the custom module into the environment
Apply ADX.E.1 and add the entry to topfile.txt as a standard product top entry (follow the existing model in the file)
Customised environment variables can be added to AutoConfig by using the filename specificed by s_custom_file, which is then called from the APPSORA.env file.
If using Forms Listener Servlet, you may also need to add $CUSTOM_TOP to formsservlet.ini in $APACHE_TOP/Jserv/etc
3) Create new tablespace for database objects
create tablespace MZ datafile '/emea/oracle/visuk09/visuk09data/mz.dbf' size 10M default storage(initial 10k next 10k)
4) Create schema
create user mz identified by mz default tablespace mz
temporary tablespace temp quota unlimited on mz quota unlimited on temp;
grant connect, resource to mz;
5) Register your Oracle Schema.
Login to Applications with System Administrator responsibility
Navigate to Application-->Register
Application = MZ Custom
Short Name = MZ
Basepath = MZ_TOP
Description = MZ Custom Application
6) Register Oracle User
Naviate to Security-->Oracle-->Register
Database User Name = MZ
Password = MZ
Privilege = Enabled
Install Group = 0
Description = MZ Custom Application User
7) Add Application to a Data Group
Navigate to Security-->Oracle-->DataGroup
Data Group = MZGroup
Description = MZ Custom Data Group
Click on "Copy Applications from" and pick Standard data Group, then add the following entry.
Application = MZ Custom
Oracle ID = APPS
Description = MZ Custom Application
8) Create custom request group
This will act as a placeholder for any custom reports we wish to make available for the Custom Responsibility (which is defined at a later stage)
Navigate to Security-->responsbility-->Request
Group = MZ Request Group
Application = MZ Custom
Code = MZ
Description = MZ Custom Requests
We will not define any requests to add to the group at this stage, but you can add some now if required.
9) Create custom menu
This will act as a placeholder for any menu items we wish to make available for the Custom Responsibility (which is defined at a later stage) We will create two menus, one for Core Applications and one for Self Service.
Navigate to Application-->Menu
Menu = MZ_CUSTOM_MENU
User Menu Name = MZ Custom Application
Menu Type =
Description = MZ Custom Application Menu
Seq = 100
Prompt = View Requests
Submenu =
Function = View All Concurrent Requests
Description = View Requests
Seq = 110
Prompt = Run Requests
Submenu =
Function = Requests: Submit
Description = Submit Requests
Menu = MZ_CUSTOM_MENU_SSWA
User Menu Name = MZ Custom Application SSWA
Menu Type =
Description = MZ Custom Application Menu for SSWA
10) Create new responsibility.
One for Core Applications and One for Self Service (SSWA)
Navigate to Security-->Responsibility-->Define
Responsibility Name = MZ Custom
Application = MZ Custom
Responsibility Key = MZCUSTOM
Description = MZ Custom Responsibility
Available From = Oracle Applications
Data Group Name = mzGroup Data Group
Application = MZ Custom
Menu = MZ Custom Application
Request Group Name = MZ Request Group
Responsibility Name = MZ Custom SSWA
Application = MZ Custom
Responsibility Key = MZCUSTOMSSWA
Description = MZ Custom Responsibility SSWA
Available From = Oracle Self Service Web Applications
Data Group Name = mzGroup
Data Group Application = MZ Custom
Menu = MZ Custom Application SSWA
Request Group Name = MZ Request Group
11) Add responsibility to user
Navigate to Security-->User-->DefineAdd MZ Custom responsibility to users as required.
12) Other considerations
You are now ready to create your database Objects, custom Reports, Forms, Packages, etc
Create the source code files in the MZ_TOP directory appropriate for the type of object. For example formswould be located in $MZ_TOP/forms/US or package source code in $MZ_TOP/admin/sql for example.
Database Objects, such as tables, indexes and sequences should be created in the MZ schema, then you need to
a) Grant all privilege from each custom data object to the APPS schema.
For example : logged in as MZ user
SQL> grant all privileges on myTable to apps;
b) Create a synonym in APPS for each custom data object For example : logged in as APPS user
create synonym myTable for mz.myTable;
Other database objects, such as views and packages should be created directly in the APPS schema.
RELATED DOCUMENTS
Oracle Applications Release 11i Developers Guide.
Oracle Applications Release 11i System Administrators Guide.
Additional Search Words
11i custom customisation core apps
Step By Step Guide to Creating a Custom Application in Applications 11i
Doc ID:
Note:216589.1
FNDLOAD
Last week i had spent a considerable amount of time working with quieries involving the FNDLOAD utility.
The FNDLOAD utility also know as the Generic loader in Oracle Applications is a concurrent program that can move data across applications instances using database and text file representations.
The FNDLOAD downloads the data from the database using a oracle predefined configuration file (.lct) and stores the data in a converted data file (.ldt).Similarly while using FNDLOAD to upload data, the loader uploads the data from the data file created by the previous download based on the configuration file.
The FNDLOAD does the download and upload based on the instructions given the configuration files(.lct),these are predefined by oracle and can be located at $FND_TOP/patch/115/import.
You could also create custom configuration files and place them here.
The data files created by the download process and used for the upload are in the form of of text files and hence portable. It is not recommended to modify the data files manually.
Oracle currently supports the migration of the following types of data using FNDLOAD
Printers / Print queues / Executables Printers / Print queues / Executables.
Roles / Responsibilities / Forms Roles / Responsibilities / Forms.
Menus / Users / Request Sets Menus / Users / Request Sets.
Request Groups / Request Queues Request Groups / Request Queues.
Work shifts / Programs / Libraries Work shifts / Programs / Libraries.
Attachments / Help Files Attachments / Help Files.
Mime Types Mime Types.
Security Information.
FNDLOAD utility uses the OWNER and LAST_UPDATE_DATE attributes to ensure data preservation. The data with OWNER=CUSTOM is always given preference over OWENR=SEED. That is the CUSTOM data will never be overwritten by the SEED data. In a case where the OWNERS are same the LAST_UPDATE_DATE is given preference that is a row with the LAST_UPDATE_DTE higher is inserted.
The FNDLOAD executable can be located at $FND_TOP/bin.
syntax
FNDLOAD [username/password] 0 Y [mode] [configuration file] [target data file] [object type key] [object Identifier]
Where
0 Y represent your concurrent program flags.[username/password] your apps username and password[mode] might be download or upload[configuration file] might be the .lct file like afcpprog.lct[target data file] this the .ldt file created while download(or used for upload) like someprg.ldt[object type key] this would represent you object type like CONCURRENT_PROGRAM[object Identifier] this would be your object name like CONCURRENT_PROGRAM_NAME='XXACMEPRT'
I am presenting a few FNDLOAD commands used frequently by me
Some of the below examples here are orignally from Anil Passi's site and a full list can be found at(http://oracle.anilpassi.com/oracle-fndload-script-examples.html)
Concurrent Program
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE 0 Y DOWNLOAD $FND_TOP/admin/import/afcpprog.lct XXSAM_PRG.ldt PROGRAMAPPLICATION_SHORT_NAME='XSPRT' CONCURRENT_PROGRAM_NAME='XX_SAM_CUSTOM_PRT'
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE 0 Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct XXSAM_PRG.ldt
Request Sets
This will happen in two stages first for the request set defination and then the underlying links.
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE DOWNLOAD 0 Y $FND_TOP/patch/115/import/afcprset.lct XX_SAM_REQ_SET_DEF.ldt REQ_SETREQUEST_SET_NAME="XX_SAM_REQ_SET"
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct XX_SAM_REQ_SET_LK.ldtREQ_SET_LINKS REQUEST_SET_NAME="XX_SAM_REQ_SET"
Now upload the defination first and then the links
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE 0 Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct XX_SAM_REQ_SET_DEF.ldt
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE 0 Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct XX_SAM_REQ_SET_LK.ldt
Value Set
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE 0 Y DOWNLOAD $FND_TOP/admin/import/afffload.lct XXSAMVALUESET.ldt VALUE_SETFLEX_VALUE_SET_NAME='XX_SAM_VALUE_SET'
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct XXSAMVALUESET.ldt
Request Groups
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct XX_SAM_GROUP.ldt REQUEST_GROUPREQUEST_GROUP_NAME="XX_SAM_GROUP" APPLICATION_SHORT_NAME="XXSAM"
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE O Y UPLOAD $FND_TOP/patch/115/import/afcpreqg.lct XX_SAM_GROUP.ldt
Responsiblity
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct XXSAMCUSTRESP.ldtFND_RESPONSIBILITY RESP_KEY="XX_SAM_CUSTRESP"
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE O Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct XXSAMCUSTRESP.ldt
Menus
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct XXSAM_MENU.ldt MENUMENU_NAME="XX_SAM_MENU"
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE O Y UPLOAD $FND_TOP/patch/115/import/afsload.lct XXSAM_MENU.ldt
Messages
This will download all messages under the custom application XXFL
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct XX_FL_MSG.ldt FND_NEW_MESSAGESAPPLICATION_SHORT_NAME='XXFL'
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE O Y UPLOAD $FND_TOP/patch/115/import/afmdmsg.lct XX_FL_MSG.ldt
You may also download and upload indivdual messages.
Lookup Values
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE 0 Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct XX_SAM_PO_VAL.ldtFND_LOOKUP_TYPE APPLICATION_SHORT_NAME ='XXPO' LOOKUP_TYPE="XX_SAM_PO_VAL"
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE O Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.lct XX_SAM_PO_VAL.ldt
Profile Options
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE $FND_TOP/patch/115/import/afscprof.lct SAMPRF.ldt PROFILE PROFILE_NAME="profile option" APPLICATION_SHORT_NAME="FND"
$FND_TOP/bin/FNDLOAD apps/apps@DB_INSTANCE UPLOAD$FND_TOP/patch/115/import/afscprof.lct SAMPRF.ldt
DBC creation
CLASSPATH contains the full path of the jdbc classes111.zip file.
This is usually $ORACLE_HOME/jdbc/lib/classes111.zip. Your
LD_LIBRARY_PATH contains the directory, which contains the jdbc oci
library file. This is usually $ORACLE_HOME/lib.
jre oracle.apps.fnd.security.AdminAppServer apps/
FNDNAM=apps GWYUID=applsyspub/pub TWO_TASK=
SECURE_PATH=$FND_TOP/secure GUEST_USER_PWD=GUEST/ORACLE
APPS_JDBC_DRIVER_TYPE=THIN DB_HOST=hostname.xxxxx.in DB_PORT=1531
DBCA Templates
Metalink Note:148676.1
https://metalink.oracle.com/metalink/plsql/f?p=130:14:10696451704012263570::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,148676.1,1,1,1,helvetica
FND Concurrent Manager FAQ's
When you modify the Printer Driver you have to restart the Manager which
runs the request which is attached to that Printer Driver, however,if you do
not know which manager then you have to restart the Internal manager because
the printer driver can be used by multiple managers and multiple requests.
If only a concurrent program definition is modified, running a verify on the
Internal Manager will pick up the changes without the need for bouncing the
manager.
Does the Internal manager schedule requests to be run or does it put requests
into queues to be run by other managers?
This is a very common misconception. The ICM really does not have any
such scheduling responsibilities. It has NOTHING to do with scheduling
requests, or deciding which manager will run a particular request.
Its function is only to run 'queue control' requests, which are
requests to startup or shutdown other managers. It is responsible for
startup and shutdown of the whole concurrent processing facility, and
it also monitors the other managers periodically, and restarts them if
they should go down. It can also take over the Conflict Resolution
manager's job, and resolve incompatibilities.
If the ICM itself should go down, requests will continue to run
normally, except for 'queue control' requests. You can restart it with
'startmgr', you do not need to kill the other managers first.
How can I check to see if a concurrent manager is running?
One way to see if a manager is running is to use the 'Administer
Concurrent Managers' form. Navigate to Concurrent->Managers->Administer.
You will see two columns labeled 'Actual' and 'Target'. The Target column
lists the number of processes that should be running for each manager
for this particular workshift. The Actual column lists the number of
processes that are actually running. If the Actual column is zero, there
are no processes running for this manager. If the Target column is zero,
then either a workshift has not been assigned to this manager, or the current
workshift does not specify any target processes. If the target column
is not zero, then the manager processes have either failed to start up,
or gone down. You should check the manager's logfile and the ICM
logfile. You can also search for OS processes using the 'ps' command.
It is possible for the form to be inaccurate, i.e. it may show actual
processes even though they are not really running. When in doubt, check for
processes at the OS level. On NT, you can check to see if the Concurrent Manager
service is running using the Services control panel.
Where do concurrent request or manager logfiles and output files go?
The concurrent manager first looks for the environment variable
$APPLCSF. If this is set, it creates a path using two other
environment variables: $APPLLOG and $APPLOUT
It places log files in $APPLCSF/$APPLLOG, output files go in
$APPLCSF/$APPLOUT
So for example, if you have this environment set:
$APPLCSF = /u01/appl/common
$APPLLOG = log
$APPLOUT = out
The concurrent manager will place log files in /u01/appl/common/log,
and output files in /u01/appl/common/out
Note that $APPLCSF must be a full, absolute path, and the other two
are directory names.
If $APPLCSF is not set, it places the files under the product top of
the application associated with the request. For example, a PO report
would go under $PO_TOP/$APPLLOG and $PO_TOP/$APPLOUT
Logfiles go to: /u01/appl/po/9.0/log
Output files to: /u01/appl/po/9.0/out
All these directories must exist and have the correct permissions.
Note that all concurrent requests produce a log file, but not necessarily
an output file.
Concurrent manager logfiles follow the same convention, and will be
found in the $APPLLOG directory
What are the logfile and output file naming conventions?
Request logfiles: l
Output files: If $APPCPNAM is not set:
If $APPCPNAM = REQID: o
If $APPCPNAM = USER:
Where:
And:
Manager logfiles:
ICM logfile: Default is std.mgr, can be changed with the mgrname
startup parameter
Concurrent manager log: w
Transaction manager log: t
Conflict Resolution manager log: c
Where:
Can I delete a concurrent manager?
You can disable the manager by checking the 'Enabled' checkbox, or
you can simply Terminate the manager and it will not run again unless
you reactivate it.
If it is really necessary, you can query the manager in the
'Define Manager' form, and delete the row. (It is recommended that you
DO NOT do this)
What is the function of the 'Conflict Resolution Manager'?
Concurrent managers read requests to start concurrent programs running. The
Conflict Resolution Manager checks concurrent program definitions for
incompatibility rules.
If a program is identified as Run Alone, then the Conflict Resolution Manager
prevents the concurrent managers from starting other programs in the same
conflict domain.
When a program lists other programs as being incompatible with it, the
Conflict Resolution Manager prevents the program from starting until any
incompatible programs in the same domain have completed running.
What is the 'Internal Scheduler/Prereleaser' manager?
The short name for this manager is FNDSCH. It is also known as the
Advanced Scheduler/Prereleaser Manager. This manager is intended
to implement Advanced Schedules. Its job is to determine when a
scheduled request is ready to run. Advanced Schedules were not fully
implemented in Release 11.0, they are implemented in Release 11.5,
but are not widely used by the various Apps products. General Ledger
uses FNDSCH for financial schedules based on different calendars and
period types. It is then possible to schedule AutoAllocation sets,
Recurring Journals, MassAllocations, Budget Formulas, and MassBudgets
to run according to the General Ledger schedules that have been
defined.
If financial schedules in GL are not being used then it is not a
problem to deactivate this manager.
What is the 'Internal Monitor' manager/service?
This manager/service is used to implement Distributed Concurrent Processing.
It monitors whether the ICM is still running, and if the ICM crashes,
it will restart it on another node.
You do not need to run this manager/service unless you are using Distributed
Concurrent Processing.
See the Installation manual and Sysadmin Guide for more info on DCP.
How do I check/set the PMON method?
To check the PMON method:
1) cd $FND_TOP/sql
2) sqlplus apps/apps @afimchk.sql
This will tell whether the internal manager is running, what the PMON
method is, and where the log file is.
To set the PMON method:
1) first shut the concurrent managers down
2) cd $FND_TOP/sql
3) sqlplus apps/apps @afimpmon.sql LOCK (or RDBMS)
How do I enable/disable the Conflict Resolution Manager?
Use the system profile option 'Concurrent: Use ICM'.
Setting this to 'No' (which is the default) allows the CRM to be started.
Setting it to 'Yes' causes the CRM to be shutdown and the Internal
Manager (ICM) will take over the conflict resolution duties. If the CRM will
not start (it is started automatically by the ICM), check this profile option.
Note that using the ICM to resolve conflicts is not recommended.
The CRM's sole purpose is to resolve conflicts, while the ICM has
other functions to perform as well. Only set this option to 'YES'
if you have a good reason to do so.
How do I clean out the Concurrent Manager tables?
Cleaning out the tables is a useful method of making sure that there
are no invalid statuses that can prevent the managers from starting.
Previously, this has been done by truncating fnd_concurrent_processes
and/or fnd_concurrent_requests. Truncation of the tables is a little
drastic, and can cause problems later when trying to purge requests,
not to mention losing all of the request information.
Run the script, cmclean.sql, article Note 134007.1 CMCLEAN.SQL - Non
Destructive Script to Clean Concurrent Manager Tables
It will make sure the relevant status codes are valid without
deleting any information.
How do I tell concurrent manager processes apart at the OS level?
Use: pf -ef grep FNDLIBR
This will produce output like:
vd11 13703 13660 0 May 11 ? 0:01 FNDLIBR FND Concurrent_Processor
MANAGE OLOGIN="APPS/94A491A1000000000000000000
n1070161 24936 24927 0 Apr 29 ? 0:05 FNDLIBR FND Concurrent_Processor
MANAGE OLOGIN="APPS_APPDEMO/94C4B1C10000000000
n1070161 24938 24927 0 Apr 29 ? 0:06 FNDLIBR FND Concurrent_Processor
MANAGE OLOGIN="APPS_APPDEMO/94C4B1C10000000000
n1070161 24927 24922 0 Apr 29 ? 2:03 FNDLIBR FND CPMGR FNDCPMBR sysmgr
="" sleep=60 pmon=20 diag=N logfile=/u16/app
The last process, #24927, shows 'FNDLIBR FND CPMGR', this one is the
Internal Manager (ICM). Notice that it gives some of the parameters it
was started with, the other processes showing 'Concurrent_Processor'
are Standard manager processes. Notice that the ICM process is the
parent process of the Standard managers. (processes 24936 and 24938)
Other managers will have the name of the executable, like ARLIBR or
INVLIBR:
$ ps -ef grep ARLIBR
vd11 13683 13660 0 May 11 ? 0:20 ARLIBR APPS/82A2A4940000000000000
000000000000000000000000000000000000000 AR ART
The Conflict Resolution manager will look like:
$ ps -ef grep FNDCRM
n1070161 24941 24927 0 Apr 29 ? 1:17 FNDCRM APPS_APPDEMO/84BFBEB900000
0000000000000000000000000000000000000000000000
What is the syntax for controlling the concurrent manager using startmgr and
concsub in NT?
On NT, the concurrent manager is run as an NT service, you start and
stop the managers using the Services control panel.
See the Applications Installation manual for NT, Appendix A for
details. See pg. 5-9 of this manual for instructions on creating the
concurrent manager service.
Why am I seeing pinging entries like this in the ICM logfile?
PING (0.0.0.0): 56 data bytes
64 bytes from 192.75.91.2: icmp_seq=0 ttl=255 time=0.705 ms
64 bytes from 192.75.91.2: icmp_seq=1 ttl=255 time=1.120 ms
Process monitor session ended : 29-FEB-2000 10:38:43
64 bytes from 192.75.91.2: icmp_seq=2 ttl=255 time=0.985 ms
64 bytes from 192.75.91.2: icmp_seq=3 ttl=255 time=1.006 ms
Pinging other machines is used in Distributed Concurrent Processing.
This means you have DCP turned on, using the environment variable
APPLDCP. Set APPLDCP to OFF and restart the managers.
I hit the Restart button to start the Standard manager, but it still did not
start?
Telling a manager to restart just sets the status to Restart. The ICM
will start it the next process monitor session or the next time the
ICM starts. Use Activate to start a manager immediately.
When a manager is deactivated manually, the ICM will not restart
it, you will need to set it to Restart, or activate it manually.
How many rows are in FND_CONCURRENT_REQUESTS and FND_CONCURRENT_PROCESSES
tables?
When tables reach above 3000-4000 rows, the performance begins to
diminish. You may want to run Purge Concurrent Request on a regular basis,
dependant on the amount of requests being run.
The Purge Concurrent Requests job can be used to purge:
Requests, Mgr logs, and All requests depending on what is chosen.
Use the following options: Enter = All, Mode = AGE, Mode Value = 15
The std.mgr log continuously grows where it may good to
archive it regularly.
Any processes pending in Internal or Conflict Resolution Manager?
Best course of action before starting the Concurrent Managers is to cancel
any "Deactivate" or "Verify" jobs pending in the Internal Manager and place
any other pending jobs on hold.
How do I turn on transaction manager diagnostics?
Set the profile option 'Concurrent:Debug Flags' to 'TCTM1' at the site
level. This will cause transactions to make debug entries in the
FND_CONCURRENT_DEBUG_INFO table. Truncate this table before running a
tranasction, then select the entries from the table.
Starting the managers with diag=Y will also produce more information
in the transaction manager logfile.
How do transaction managers work?
Briefly:
(See the server documentation for details on the DBMS_PIPE package)
1) A tranasction manager is started on the concurrent processing
server, and periodically reads the pipe for incoming transactions.
2) A client program (usually a form) calls the
FND_TRANSACTION.SYNCHRONOUS function.
3) This function writes a message into the pipe containing the program
to be run and its parameters.
4) FND_TRANSACTION.SYNCHRONOUS begins reading a return pipe for the
return status.
5) The manager sees the message in the pipe, retrieves the program id
and parameters.
6) The manager runs the program with the specified parameters. The
program will be of type 'Immediate', so there will not be a
separate concurrent request run.
7) The program completes, and the manager packs its return status into
the return pipe.
8) FND_TRANSACTION.SYNCHRONOUS reads the return value and passes it
back to its caller.
Note that these events take place essentially simultaneously on the
client and server. This is a synchronous transaction because the
client waits for the server to return, or times out waiting for it.
Problem....
When you try to submit a request like Active users or
Active responsibilities, request gets submitted.
When we view the help requests, you find that it is
inactive / nomanager.
Within 12 to 15 seconds, you refresh-it gets completed.
Initially, you could find only inactive and we look at
the diagnostic- the concurrent manager assigned is not
picking up.
There is no specialization rules in any managers except
the include program this source.
Solution....
Most often when this occurs where a request goes
"inactive/no manager" and is then processed a short time
later, the solution is to either increase the cache size
for your Standard manger, or increase the actual number of
Standard manager processes.
Cache Size is set on the CONCURRENT/MANAGER/DEFINE form. Basically,
this regulates how many requests a manager will pick up for each
sleep cycle.
How do I process more concurrent requests concurrently?
The Concurrent Manager parameters, (Query the concurrent manager by
Login as Sysadmin, navigate -> Concurrent -> Manager -> Define and Query for
the relevant concurrent manager), should be modified to handle more
concurrent requests concurrently, this can be done in two steps:
(i) Increase the Number of Target processes for the manager
(ii) Change the cache size of the concurrent manager as this determines
how many requests will be evaluated by a manager at a time and should match the target (process) value as set above.
RELATED DOCUMENTS
-----------------
Note 1050938.6 What to Set $APPCPNAM for the Report Output File Naming Convention Format
Note 149600.1 FND_CONC_PP_ACTIONS and FND_RUN_REQ_PP_ACTIONS Growing Exponentially
Note 134007.1 CMCLEAN.SQL - Non Destructive Script to Clean Concurrent Manager Tables

