What is FND Debug Log ?
- It helps you pinpoint the cause of error in standard Oracle Code, by making debug messages to appear in a centralized table named FND_LOG_MESSAGES.
- You can design and build your custom extensions in a manner that can easily be debugged. This can be done by calling Oracle delivered API’s in your custom code.
A program written in any technology, either form, report, PL/SQL, java concurrent program, OAF has their debug message stored in FND_LOG_MESSAGES.
How does this work?
How to use FND debug Log to pinpoint the error?Step 1: Set up profiles for the User / Responsibility to be used to reproduce the issue
FND: Debug Log Enabled -> YES This turns the debugging feature on
FND: Debug Log Filename -> NULL Use when you want debug messages to get stored to a file FND: Debug Log Level -> STATEMENT
FND: Debug log module -> %
If the error pertains to a specific module use the application short name.
Ex: For receivable use FND: Debug log module -> ar%
Log into the Oracle application
Step 2: Since the debugging routine will start writing messages to the table, we want to know which messages pertain to our test. If you are tracking the debug messages for a concurrentrequest, note down the Concurrent Request id. Otherwise, note down current max value of log sequence retrieved as follows :
SELECT MAX(LOG_SEQUENCE) FROM FND_LOG_MESSAGE
Step 3: Run the test case, avoiding extraneous steps to avoid stacking the table.
Step 4:
a) For a concurrent process:
SELECT LOG.module, LOG.MESSAGE_TEXT MESSAGE
FROM fnd_log_messages LOG, fnd_log_transaction_context con
WHERE request_id = <Conc Req ID>
AND con.transaction_type = 'REQUEST'
AND con.transaction_context_id = LOG.transaction_context_id
ORDER BY LOG.log_sequence;
b) For any other debugging:
SELECT module, MESSAGE_TEXT
FROM fnd_log_messages
WHERE log_sequence = (SELECT MAX (LOG_SEQUENCE) FROM FND_LOG_MESSAGE);
No comments:
Post a Comment