Hi folks,
is it possible to obtain a called procedure/function name within package?
For a measuring and tracing purpose, I would like to store an info at the beginning of each procedure/function in package with timestamp + additional details if needed.
For example:
CREATE OR REPLACE PACKAGE BODY "TEST_PACKAGE" IS
PROCEDURE proc_1 IS
BEGIN
api_log.trace_data(sysdate, 'START.' || ???????);
...
api_log.trace_data(sysdate, 'END.' || ???????);
END;
PROCEDURE proc_2 IS
BEGIN
api_log.trace_data(sysdate, 'START.' || ???????);
....
proc_1;
....
api_log.trace_data(sysdate, 'END.' || ???????);
END;
END;
I would like to replace "???????" with a function which would return a name of called procedure, so result of trace data after calling TEST_PACKAGE.proc_2 would be:
11.1.2013 09:00:01 START.*TEST_PACKAGE.proc_2*
11.1.2013 09:00:01 START.*TEST_PACKAGE.proc_1*
11.1.2013 09:00:01 END.*TEST_PACKAGE.proc_1*
11.1.2013 09:00:01 END.*TEST_PACKAGE.proc_2*
I tried to use "dbms_utility.format_call_stack" but it did not return the name of procedure/function.
Many thanks,
Tomas
PS: I don't want to use an hardcoding