Sunday, August 10, 2025

Oracle Database & Applications R12.2 Log file locations

Many times, we forget the path for the log files since there are too many. 
Below is the list of frequently used log files which can help us out in our day to day activities. 

Database Alert Log Files :

$ORACLE_HOME/admin/$CONTEXT_NAME/bdump/alert_$SID.log

Database Network Logs :

$ORACLE_HOME/network/admin/$SID.log

Database OUI Inventory Logs :

$ORACLE_HOME/admin/oui/$CONTEXT_NAME/oraInventory/logs

Database Tier opatch log : 

$ORACLE_HOME/.patch_storage

Database Tier Relink Log files :

$ORACLE_HOME/appsutil/log/$CONTEXT_NAME /MMDDHHMM/ make_$MMDDHHMM.log

Log files for start/stop of application services from $ADMIN_SCRIPTS_HOME

$LOG_HOME/appl/admin/log

Log/Out files for Concurrent programs/managers

Log files: $APPLCSF/$APPLLOG (or $NE_BASE/inst/<CONTEXT_NAME>/logs/appl/conc/log)
Out files: $APPLCSF/$APPLOUT (or $NE_BASE/inst/<CONTEXT_NAME>/logs/appl/conc/out)

Log files for OPMN and OHS processes

$IAS_ORACLE_HOME/instances/<ohs_instance>/diagnostics/logs

Log files for Autoconfig process

On Applicaion Tier: $INST_TOP/admin/log/<MMDDhhmm>
On Database Tier: $ORACLE_HOME/appsutil/log/<CONTEXT_NAME>/<MMDDhhmm>

Log file for Weblogic Node Manager

Log file is generated by Node Manager and contains data for all domains that are controlled by Node Manager on a given physical machine.

$FMW_HOME/wlserver_10.3/common/nodemanager/nmHome1/nodemanager.log

Log file for Weblogic Oracle Management Service log file

Initial settings AdminServer and Domain level information is written in this log file

$EBS_DOMAIN_HOME/sysman/log

Log files for managed server processes initiated through Weblogic

Stdout and stderr messages generated by the server instance (server instances like forms, oafm, oacore etc) at NOTICE severity level or higher are written by Weblogic Node Manager to below directory.

$EBS_DOMAIN_HOME/servers/<server_name>/logs/<server_name>.log
$EBS_DOMAIN_HOME/servers/<server_name>/logs/<server_name>.out

Log files file Online patching (adop)

$ADOP_LOG_HOME/<adop_session_id>/<date>_<time>/<phase>
or
$NE_BASE/EBSapps/log/adop/<adop_session_id>/<date>_<time>/<phase>

This log directory will contain patch logs, patch worker logs and other patch related log files created for specific purposes.

Log files related to cloning in R12
  • Preclone log files in source instance
Database Tier - /$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/StageDBTier_MMDDHHMM.log

Application Tier - $INST_TOP/admin/log/ StageAppsTier_MMDDHHMM.log
  • Clone log files in target instance
Database Tier – $ORACLE_HOME/appsutil/log/

Application Tier – $INST_TOP/admin/log/



Saturday, August 9, 2025

Concurrent Managers

Oracle Concurrent Manager helps in batch processing of tasks. It is essentially a job scheduling and execution system that handles the background processing of non-interactive, time-consuming tasks and reports.

A concurrent manager is itself a concurrent program that starts other concurrent programs running. When an application user submits a request to run a program, the request is entered into a database table that lists all of the requests

How it helps in batch processing:

Scheduling and Queuing:

When users submit requests to run programs (known as "concurrent programs"), these requests are entered into a database table. Concurrent Managers read these requests from the table and manage their execution.

Background Execution:

Concurrent Managers allow these programs to run in the background, freeing up the user's terminal and enabling them to continue with other interactive tasks.

Resource Management:

They manage the allocation of resources by controlling how many concurrent programs can run simultaneously through "target processes."

Specialization and Work Shifts:

Concurrent Managers can be specialized to run specific types of programs or operate within defined work shifts, allowing for optimized resource utilization and controlled execution.

Fault Tolerance and Performance:

In environments with Parallel Concurrent Processing, Concurrent Managers can be distributed across multiple nodes, enhancing performance by running processes in parallel and providing fault tolerance in case of node failures.

Incompatibility Rules:

The Internal Concurrent Manager (ICM), which acts as the "boss" of other managers, enforces incompatibility rules to prevent conflicting programs from running simultaneously.

 

Types of Concurrent Managers

There are many types of concurrent managers, each governing flow within each Oracle Apps areas. In addition there are "super" Concurrent Managers whose job is to govern the behavior of the slave Concurrent Managers. The main 3 concurrent managers are 

  1. Internal Concurrent Manager
  2. Conflict Resolution Manager
  3. Standard Manager

1) The Internal Concurrent Manager (ICM) in Oracle Applications R12 is the central process that manages and monitors all other concurrent managers. 

It acts as the "boss" and is responsible for starting, stopping, and resetting individual concurrent managers. 

The ICM ensures that other managers are running and functioning correctly, and it can also restart failed managers. 

More detailed explanation:

Centralized Control:
The ICM oversees the entire concurrent processing environment. 

Manager of Managers:
It starts, stops, and resets other concurrent managers, such as the Standard Manager and Conflict Resolution Manager. 

Monitoring and Recovery:
The ICM monitors the status of other managers and can restart them if they fail. 

No User Requests:
The ICM does not directly process user requests like reports or other specific tasks. 

Service Manager Interaction:
The ICM uses the Service Manager (FNDSM) to manage the lifecycle of other managers. 

OS Process:
The ICM's operating system process is named FNDLIBR

2) The Conflict Resolution Manager (CRM) is a crucial component of the Concurrent Processing system. It ensures that incompatible concurrent programs do not run simultaneously, preventing data corruption or other issues. 

The CRM achieves this by checking for incompatibility rules defined in concurrent program definitions and managing the execution of requests accordingly. 

More detailed explanation:

What it does:

Incompatibility Checks:
The CRM's primary function is to examine concurrent program definitions for incompatibility rules. 

Conflict Resolution:
It identifies if a program is defined as "Run Alone" or has other incompatibility rules and prevents other incompatible programs from starting until the first one completes.
 
Request Management:
The CRM manages the status of requests, ensuring they are processed in a way that avoids conflicts. 

Key aspects of the CRM:

System Profile Option:
The system profile option "Concurrent: Use ICM" controls whether the CRM is enabled. 

Concurrent Managers:
The CRM is one of the three main types of concurrent managers, along with the Internal Concurrent Manager (ICM) and Standard Manager. 

Conflict Domains:
Incompatible programs are often associated with conflict domains, which define the specific data or resources that must be protected from simultaneous access. 

Monitoring:
The CRM's activities can be monitored through various tools like operating system commands, forms, and SQL scripts. 

How it helps:

Prevents Data Inconsistencies:
By preventing incompatible programs from running together, the CRM helps maintain data integrity. 

Optimizes Resource Usage:
It ensures that resources are used efficiently by preventing conflicts and allowing for proper scheduling of requests.
 
Improves System Stability:
The CRM contributes to the overall stability of the Oracle Applications system by preventing issues that could arise from concurrent program conflicts. 

In simpler terms:
Imagine you have two reports that cannot be run at the same time because they both try to update the same data. The Conflict Resolution Manager in Oracle Apps R12 would act like a gatekeeper, making sure that only one of these reports runs at a time, preventing any conflicts and ensuring data consistency. 

3) The Standard Manager is a general-purpose manager that handles any concurrent requests that haven't been specifically assigned to another manager. Essentially, it acts as a default or safety net, ensuring that all concurrent requests can be processed, even if they don't fall under a specialized manager's purview. 

More detailed explanation:

Default Manager:
The Standard Manager is designed to execute any concurrent request that doesn't have a specific manager assigned to it. 

Continuous Operation:
It's active 24/7, 365 days a year, ensuring continuous processing of requests. 

No Specialization:
It doesn't have any specific specialization, meaning it can handle any type of concurrent request. 

Critical for Unassigned Requests:
If you don't define custom managers for specific tasks, the Standard Manager will handle those requests, ensuring that no requests are left unprocessed. 

Example:
It's often used to run reports that are part of the standard Oracle E-Business Suite installation. 

Process Name:
The Standard Manager's process name is FNDLIBR

Don't Alter:
It's generally not recommended to alter the definition of the Standard Manager, as this could prevent some programs from running if you haven't defined alternative managers to handle those requests, according to the Oracle Help Center. You can always create separate managers if you want certain concurrent programs to run on a different manager queue. 

Key Role:
The Standard Manager is a cornerstone of the Concurrent Processing system, ensuring smooth and reliable background processing within the Oracle E-Business Suite. 


Other Managers
  1. Transaction Manager
  2. Service Manager
  3. Internal Monitor

 1) Transaction managers are background processes that handle the execution of various transactions, particularly within Oracle Inventory and Manufacturing modules. 

They manage the flow of data from user interfaces or other sources into the Oracle database, ensuring transactions are processed efficiently and reliably. 

More detailed explanation:

Key Functions:
Transaction Processing:
Transaction managers handle the execution of different types of transactions, such as material transactions, move transactions, and cost transactions. 

Concurrency Control:
They manage the concurrent execution of multiple transactions, preventing conflicts and ensuring data integrity. 

Background Processing:
Transactions are typically processed in the background by the transaction manager, allowing users to continue with their work without being blocked by long-running operations. 

Scheduling and Monitoring:
Transaction managers can be scheduled to run at specific intervals and are monitored to ensure they are functioning correctly. 

Integration with Other Modules:
They integrate with various Oracle Applications modules, including Inventory, Manufacturing, and Costing, to manage the flow of data and updates. 

Types of Transaction Managers:

Material Transactions Manager: Processes inventory transactions.
Move Transactions Manager: Processes Work in Process (WIP) move transactions.
Resource Cost Transactions Manager: Processes WIP resource transactions.
Material Cost Transactions Manager: Processes costing transactions. 

How they work:

Client Interaction:
A client program (e.g., a form) initiates a transaction by calling a specific function (e.g., FND_TRANSACTION.SYNCHRONOUS). 

Message Passing:
The client program sends a message to the transaction manager via a pipe, containing the transaction details (program ID and parameters). 

Transaction Execution:
The transaction manager retrieves the message, executes the specified program with the provided parameters, and updates the database. 

Return Status:
The transaction manager sends a completion message back to the client, indicating the success or failure of the transaction. 

Benefits of using Transaction Managers:

Improved Performance:
Transactions are processed in the background, allowing users to continue working without waiting for the completion of lengthy operations.

Reduced Database Load:
By handling transactions in batches, transaction managers can optimize database access and reduce overall load.

Enhanced Scalability:
The mechanism allows for a large number of clients to be serviced by a relatively small number of transaction manager processes.

Real-time Response:
Despite being processed in the background, many transactions can be processed with minimal delay, providing a near real-time user experience. 

In summary, transaction managers in Oracle Apps R12 are essential for efficient and reliable transaction processing, ensuring smooth operations in various modules by handling background tasks and maintaining data integrity. 


2) FNDSM, or Service Manager, acts as a middle-tier agent for the Internal Concurrent Manager (ICM). 
It's responsible for managing concurrent manager processes and other GSM (Generic Service Management) services on a specific node. 

The ICM uses FNDSM to start, stop, and monitor these services. 

Role of FNDSM:
FNDSM is a crucial component in the Concurrent Processing architecture, acting as the local agent for the ICM on each application node.

Communication with ICM:
The ICM uses RPC (Remote Procedure Call) to communicate with FNDSM on the relevant node.

Startup and Shutdown:
The APPS TNS Listener starts FNDSM on demand when the ICM needs to manage services on a specific node. When the ICM shuts down, the FNDSM processes on all nodes also shut down.

Node-Specific Management:
Each application node registered in FND_NODES has its own FNDSM instance.

GSM Services:
FNDSM manages services like the Workflow Mailer and Output Post Processor (OPP).

Relationship with ICM:
The ICM relies on FNDSM to manage all concurrent managers and other services on each node.

Configuration:
The FNDSM environment is set by the APPSORA.env file, and it relies on the listener.ora and tnsnames.ora files for network configuration.


3) An Internal Monitor (FNDIMON) is a component used in Distributed Concurrent Processing to ensure the Internal Concurrent Manager (ICM) remains active. 

It monitors the ICM and restarts it on the local node if it fails, preventing system downtime due to ICM issues. 

More detailed explanation:

Purpose:
The primary function of the Internal Monitor is to safeguard the ICM, which is crucial for managing all other concurrent managers in the system.
By restarting the ICM on the same node if it fails, the Internal Monitor minimizes disruption to the overall processing environment. 

How it works:
Internal Monitors are seeded on every registered node in Oracle Applications R12, ready to monitor the ICM.
When the ICM unexpectedly terminates (e.g., due to a node or database failure), the Internal Monitor on that node detects the failure.
The Internal Monitor then initiates the restart of the ICM on the same node.
If multiple Internal Monitors detect an ICM failure, only the first one to respond will successfully restart the ICM. 

Key Considerations:

Distributed Concurrent Processing:
Internal Monitors are specifically designed for environments using Distributed Concurrent Processing where multiple application server nodes are involved.

Node Assignment:
When setting up your system, you decide which nodes will have Internal Monitors and can configure failover protection by assigning primary and secondary nodes.

Work Shifts:
Similar to concurrent managers, Internal Monitors can have assigned work shifts, and their activation and deactivation are managed by the ICM.



How to get the Output Post Processor (OPP) logfiles

To investigate XML issues or other publishing problems, often the OPP log file is needed.

Below are the steps to find logfile 

1) From the Front end

  • Login to the application as SYSADMIN  
  • Responsibility: System Administrator
  • Function: Concurrent –> Manager –> Administration
  • Select the Output Post Processor
  • Click on the Processes button
  • Select the Concurrent Process which was active during the time that the request ran
  • Click on the Manager Log button to open the Output Post Processor log file


2) If you know the request id and directly from the file system based after identifying the corresponding OPP log file name using the following SQL statement:

SELECT fcpp.concurrent_request_id req_id, fcp.node_name, fcp.logfile_name
FROM fnd_conc_pp_actions fcpp, fnd_concurrent_processes fcp
WHERE fcpp.processor_id = fcp.concurrent_process_id
AND fcpp.action_type = 6
AND fcpp.concurrent_request_id = &request_id;

Troubleshooting OPP (Output Post Processor) Errors


The most commonly errors / warnings that we see when handling OPP are CONC-PP NO RESPONSE , CONC-PP TIMEOUT, java.lang.OutOfMemoryError. We need to first diagnose before taking any action. The fix is not always to increase the values but first check 

Why is the OPP not picking up the requests or why is the request timing out while processing the output or why am i getting out of memory errors ? Check the OPP log files for the Errors / Warnings. 

Questions you need to ask yourself

-  Why is my request running for so long ? 
-  Are the parameters given in the concurrent program appropriate ?
-  Are there any blocking sessions ?
-  How much data is being processed ?
-  How many requests are being processed at a time ?

 1) CONC-PP NO RESPONSE

Error Message : The Output Post-processor is running but has not picked up this request. No further attempts will be made to post-process this request, and the request will be marked with Warning status. Setting the profile option Concurrent: OPP Response Timeout to a higher value may be necessary.

The Concurrent Manager process generates the XML data file. Upon completion, it will trigger the Output Post Processor in order to merge the XML data file and the template which was selected on the Submit Request form. The number of Concurrent Requests that the Output Post Processor can handle in parallel depends upon:

  • The number of Processes
  • The number of Threads Per Process

Example, If the values are 4 Processes and 5 Threads Per Process so a total of 20 reports can be processed in parallel.

In case there are other Concurrent Requests running that have already invoked the OPP then it might happen that no additional requests can be picked up for a period of time. 

The pending request will be picked up as soon as one of the running jobs completes. 

By default, a timeout will occur if it takes longer than 120 seconds (2 min.) for the Output Post Processor to pick up the request from the Concurrent Manager process. 

In that case, the Concurrent Request will complete with a status Warning and the Request log file will contain Error Message - CONC-PP NO RESPONSE

Fix : 

We can increase the values for the below parameters one by one and validate if there is an improvement. 
  •  Increase the value (in seconds) for the profile option 'Concurrent:OPP Response Timeout' so that the requests wait for a longer time before timing out.
Profile Option : Concurrent: OPP Response Timeout
Internal Name : CONC_PP_RESPONSE_TIMEOUT
Description: Specifies the amount of time a manager waits for OPP to respond to its request for post-processing.
  •  Increase the number of processes or threads (or both) of the OPP from the front end via the concurrent manager > define page or via Oracle Applications Manager so that we can  process more number of requests processed parallelly. 

2) CONC-PP TIMEOUT

Error Message : The concurrent manager has timed out waiting for the Output Post-processor to finish this request. Check that there are enough Output Post-processor service processes running.
More information may be found in the service process logfile.

 Once the Output Post Processor picks up the request, the XML Publisher engine is invoked to generate the final output file. The time that this takes will depend on various elements such as:

  • Size of the XML Data File
  • The complexity of the template
  • Performance of the server and other factors

By default, a timeout will occur if it takes longer than 300 seconds (5 min.) for the XML Publisher engine to generate the output file. 

The Concurrent Request will be complete with a status Warning and the Request log file will contain an Error Message - CONC-PP TIMEOUT

Fix :

We will need to increase the timeout value for the profile option 'Concurrent:OPP Process Timeout' to avoid this error if you expect some programs doing heavy data reports. 

Profile Option : Concurrent:OPP Process Timeout
Internal Name : CONC_PP_PROCESS_TIMEOUT
Description: Specifies the amount of time the manager waits for the OPP to actually process the request.

3) java.lang.OutOfMemoryError

A high number of threads increases the risk of running into java.lang.OutOfMemoryError errors during peak loads. 

So Limit  the number of threads per OPP process: each thread will process a single report thus more threads means that more reports can run in parallel however they share the maximum Java heap size per process

Enable the scalable feature of the XSLT processor on the Template level and only for those reports that are known to process large amounts of data. 

It is not recommended to enable the scalable feature of the XSLT processor at the global level.

So whenever a new report is created and requires a XML template, please do below:

  • Make sure to eliminate the amount of data in a single report, e.g. limiting parameters range, writing SQLs to return only required data, etc.
  • If a report could generate a large output (e.g. > 100M), and requires XML template, make sure to set below 3 properties to true in the corresponding XML template. It would enforce the OPP to handle the files on disk:

Navigate to XML Publisher Administrator -> Home -> Administration -> Data Definitions -> Enter the Name for the report -> Edit Configuration -> FO Processing, and set below properties:
  Use XML Publisher's XSLT processor : True
  Enable scalable feature of XSLT processor : True
  Enable XSLT runtime optimization xslt-runtime-optimization: true

4)  Out of memory in concurrent Program

For the specific concurrent program which is showing OPP related out of memory issues, you can think of increasing run time memory

  • Go to 'System Administrator' responsibility.
  • Navigate to Concurrent – > Program – > Define.
  • Search for the concurrent program
  • Set the Options field to -Xmx1024M (can be set to 2048M if the program still fails)
  • Save.
  • Bounce the Concurrent Manager for the effects to take place.
There is no perfect number for each of the values. It entirely depends on how much load you have on the system and how many requests are being processed. 
You would need to try and validate how the program and also the system performs when you make these changes. You would not want to create a new issue by resolving one. 

Friday, August 8, 2025

How to Increase the maximum Java heap size for the OPP (Output Post Processor)

 Maximum Memory Usage Per Process:

The maximum amount of memory or maximum Java heap size a single OPP process can use is by default set to 512MB. This value is needed by the Loader Data File: $FND_TOP/patch/115/import/US/afoppsrv.ldt which specifies that the DEVELOPER_PARAMETERS is “J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx512m”.


How to determine the current maximum Java heap size:

SELECT service_id, service_handle, developer_parameters
FROM fnd_cp_services
WHERE service_id = (SELECT manager_type
FROM fnd_concurrent_queues
WHERE concurrent_queue_name = 'FNDCPOPP');

SERVICE_ID SERVICE_HANDLE DEVELOPER_PARAMETERS
———- ————– ——————————————————–
1091 FNDOPP J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx512m


How to Increase the maximum Java heap size for the OPP 

Here we are increasing to 1024MB (1GB):

UPDATE fnd_cp_services
SET developer_parameters =
'J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx1024m'
WHERE service_id = (SELECT manager_type
FROM fnd_concurrent_queues
WHERE concurrent_queue_name = 'FNDCPOPP');


Then we need to bounce the OPP to get it into effect


OPP (Output Post Processor)

 The Output Post Processor (OPP) is an enhancement to Concurrent Processing and is designed to support XML Publisher as a post-processing action for concurrent requests. 

If a request is submitted with an XML Publisher template specified as a layout for the concurrent request output, then after the concurrent manager finishes running the concurrent program, it will contact the OPP to apply the XML Publisher template and create the final output.

How Output Post Processor(OPP) works:

  • An application user submits an XML Publisher based report.
  • The standard concurrent manager processes the request.
  • The XML data file is generated by the standard concurrent manager.
  • A post processing action defines that the output needs to be generated by the Output Post Processor ,So standard manager send the request in the queue of OPP
  • The Output Post Processor generates the final report and informs the standard concurrent manager whether that was successful.
  • The standard concurrent manager finalizes the concurrent request

The Output Post Processor makes use of the Oracle Streams Advanced Queuing (AQ) database feature. Every OPP service instance monitors the FND_CP_GSM_OPP_AQ queue for new messages and this queue has been created with no value specified for primary instance. This implies that the queue monitor scheduling and propagation are done in any available instance. In other words, ANY OPP service instance may pick up an incoming message independent of the node on which the concurrent request ran.

Threads and Processes for Output Post Processor(OPP)

The OPP Service is multi-threaded and will start a new thread for each concurrent request it processes. You can control the number of simultaneous threads for an OPP Service Instance by adjusting the Threads per Process parameter for the instance.

For example, say you have set your Output Post Process service to one process and have set the number of threads to 1, then one request will run at a time per process, allowing it to use all the heap memory for that process that was set for the java heap memory FND_CP_SERVICES.DEVELOPER_PARAMETERS. 

If you set the number of threads to two, then the two reports will share processing space in the java heap. Three threads, then three reports will be processed in the java heap space of the single OPP process.  If you have the number of threads set to, for example 5 threads and you have set the java heap to Xmx2048m, then the 5 processes will have 2048 Mb of heap and 5 reports will be processed in the 2048 Mb of heap space. So for reports that are very large, it may necessary that the number of threads be reduced in order for there to be enough heap to process the report.

OPP processes and threads can be seen from Concurrent Manager define form

1) Logon to Applications with “System Administrator” responsibility
2) Navigate to Concurrent -> Manager -> Define
3) Query for “Output Post Processor”
4) Click on “Work Shifts” and This will show the number of processes

One service instance of the OPP service is seeded by default. This seeded OPP service instance has one work shift with one process. 

If you are on parameters, you will see the threads

oracle.apps.fnd.cp.opp.OPPServiceThread:2:0:max_threads=5

The max_threads parameter controls the maximum number of request threads. This number may be increased depending on the workload. 

If all the OPP process has reached their respective maximum number of threads, the requests waiting to be processed remain in a queue to be processed as soon as threads become available

It is suggested to increase the number of “threads” as much as possible, then start adding “Processes”, if needed. 

The limiting factor with increasing “threads” is memory, if one sets the max heap size of a JVM to 2GB, then all “threads” will share this memory.

To get optimum performance, it is suggested to keep “Processes” to a minimum. It is recommended to have 2 OPP “Processes” with more “threads”.


Profile options related to OPP: 
There are 2 new profiles options that can be used to control the timeouts

Profile Option : Concurrent: OPP Response Timeout
Internal Name : CONC_PP_RESPONSE_TIMEOUT
Description: Specifies the amount of time a manager waits for OPP to respond to its request for post-processing.

Profile Option : Concurrent:OPP Process Timeout
Internal Name : CONC_PP_PROCESS_TIMEOUT
Description: Specifies the amount of time the manager waits for the OPP to actually process the request.

There is no perfect number for each of the values. It entirely depends on how much load you have on the system and how many requests are being processed.
You would need to try and validate how the program and also the system performs when you make these changes. You would not want to create a new issue by resolving one.

Friday, September 20, 2013

Query to get all the personalization on the OAF pages in the application

SELECT   PATH.path_docid perz_doc_id,
         jdr_mds_internal.getdocumentname (PATH.path_docid) perz_doc_path
    FROM jdr_paths PATH
   WHERE PATH.path_docid IN (
            SELECT DISTINCT comp_docid
                       FROM jdr_components
                      WHERE comp_seq = 0
                        AND comp_element = 'customization'
                        AND comp_id IS NULL)
     AND UPPER (jdr_mds_internal.getdocumentname (PATH.path_docid)) LIKE
                                                 UPPER ('%AbsenceHomePagePG%')
ORDER BY perz_doc_path;

Oracle Database & Applications R12.2 Log file locations

Many times, we forget the path for the log files since there are too many.  Below is the list of frequently used log files which can help us...