You are on page 1of 3

This method will pick up *all* debug messages from a particular log_sequence value.

As such, it is particularly useful when you are having trouble retrieving the debug
messages associated to a particular concurrent request, or user. However, if there
are multiple users with FND debugging enabled running various processes, you could
end up picking up debug messages pertaining to their activities.

Solution

1) set up profiles for the User / Responsibility to be used to reproduce the issue

Profile Name Suggested value Comments

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

Following are options listed from least to most detailed debugging :

Unexpected, Error, Exception, Event, Procedure, Statement

FND: Debug Log Module

Indicate what modules to debug. You can use something like 'ar%' or even
'%arp_rounding%' to limit modules debugged

Following are examples on how you would set the above profiles depending on what
you want to debug :

sample setting to debug everything :

FND: Debug Log Enabled YES

FND: Debug Log Filename NULL

FND: Debug Log Level STATEMENT

FND: Debug Log Module %


sample setting to debug ONLY Receivables :

FND: Debug Log Enabled YES

FND: Debug Log Filename NULL

FND: Debug Log Level STATEMENT

FND: Debug Log Module ar%

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 concurrent request, 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_MESSAGES

3) Run your test case, try to stay on track in reproducing the issue and leave out
extraneous steps so that you don't end up with debug messages that are not relevant
to your issue. It is ideal to not have anyone else using the Responsibility you
have enabled debug for, so that only messages pertaining to your testcase are
picked up.

4) For ease of review by Development, spool the output of the following to a .xls
spreadsheet :

a) If you are debugging a concurrent process :

SELECT log.module , log.message_text message

FROM fnd_log_messages log,

fnd_log_transaction_context con

WHERE con.transaction_id = < request_id >

AND con.transaction_type = 'REQUEST'

AND con.transaction_context_id = log.transaction_context_id

ORDER BY log.log_sequence;
b) Otherwise,

SELECT module, message_text

FROM fnd_log_messages

WHERE log_sequence > &max_log_from_step2

ORDER BY log_sequence;

Or you may select all columns with:

SELECT * FROM fnd_log_messages

WHERE log_sequence > &max_log_from_step2

ORDER BY log_sequence;

You might also like