Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

How to get a called procedure/function name within package?

TomeoJan 11 2013 — edited Jan 11 2013
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

Comments

Hi,

Welcome to OTN. The behavior you are noticing is expected. If you would like to display a custom exception/convertor, check out this doc.

http://docs.oracle.com/cd/E25178_01/web.1111/b31973/af_validate.htm#BABGIEDH

-Arun
SantoshVaza
Hi,
have an af:table with the filtering enabled
on corrosponding field add af:convertNumber tag like
<af:inputText>
            <af:convertNumber/>
</af:inputText>
So instead of throwing exception it will prompt the user to add a numeric value..

Regards,
User794216-Oracle
Thanks for the replies.
I was aware of those "fixes" except that

- users need to be able to use < or > in the filter criteria, so restricting them to numbers is not a solution
- the custom implemenation is a lot of work for something I would expected ADF to deal with.

I don't get the number exception when I enter "> 100" or "< 100" so the < and > seem to pass succesfully.
But if by accident I enter "= 100" instead of "100" it throws the number exception
So I still feel this should be handled more gracefully out of the box.

Thanks, Ingrid
Here is a simple workaround that I make use of, might help!

Consider I have a bind variable searchString of String type being used in a view criteria. View criteria has a numeral attribute as well as text attribute to compare with :searchString. Now what I do to avoid the exception is that I create another bind variable called searchStringForInt of String type. I set the value of this bind variable as expression type "+searchString != null ? searchString.replaceAll("\\D+","") : null+" and use this :searchStringForInt for comparing with numeral attribute instead of :searchString.
Also FYI, QBE behaviour can be customized. Take a look at http://radio-weblogs.com/0118231/stories/2003/07/11/implementingAViewCriteriaAdapterToCustomizeQueryByExampleFunctionality.html.
1 - 5
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Feb 8 2013
Added on Jan 11 2013
7 comments
10,214 views