Get the function / procedure Name
Hi There;
There are some Pl/Sql function package or at least some global variable where i can read the current function or procedure name ?
in java we use getClass().getName();
Very thanks;
Marcos Ortega
Brazil
See: http://asktom.oracle.com/~tkyte/who_called_me/index.html
http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:1529405950004
Similar Messages
-
How to get the store procedure name inside this store procedure?
how to get the store procedure name inside this store procedure?
Why cant you get the procedure name as hard code as the proc name is going to change.
Are you looking for getting the parent proc name from child proc name which is getting executed within parent proc?
Try the below:
--Parent Proc
Alter Proc sp_test
as
Begin
Declare @s varbinary(MAX) = Cast('sp_test' as Varbinary(MAX));
SET CONTEXT_INFO @s;
exec sp_test2
End
--Child proc
Alter proc sp_test2
as
SELECT Cast(CONTEXT_INFO() as varchar(100));
--Test execution
Exec sp_test
Please mark this reply as answer if it solved your issue or vote as helpful if it helped.
[Blog] -
How to get the function name/ID of the current page
HI,
I searched the forum and google, but it is not clear on how to get the function name of the current page.
I have 4 functions in my self service A ,B,C,D (seeded page links ) they all have to go to a page called hhhPG. Based on which function user is clicks I have to show the data in hhhPG.
so my question is how to get the function name ? I mean I need to know if user click on link A , B, C or D link and came to this page.
I found below in one forum and also there is getfunctionID in pageContext , but I do not know what to pass to getfunctionid("???") to get value.
FunctionSecurity funcSecurity = pageContext.getFunctionSecurity();
Or is there a better way of know where user is coming from ? like geturl....
Please help, I need this ASAP.
Thank you.Use below to find out how the user came into the page
FunctionSecurity funcSecurity = pageContext.getFunctionSecurity();
boolean isFunc1 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME1"));
boolean isFunc2 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME2"));
boolean isFunc3 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME3"));
boolean isFunc4 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME4"));
So one of them will be true based on the function the user came in.
Write your logic based on these flags.
Regards,
Peddi. -
How to get the function name in controller class
Hi experts ,
I am new to the OAF framework.
i have created the two functions and bot he the function have the same controller class .i want to capture the function name or function id in the controller class.
can you please let me know how to get the function id or function name in the controller class.Hi apurba,
Thanks for the quick reply.
i am trying to get the function name from the FunctionSecurity class,
However in FunctionSecurity class there is no such method defined as getFunctionName();
my requirement is ,i have two functions functionA and functionB defined.
both the function has the same controller class.in controller class ,i need to get the function name ,based on the function name
i will redirect the page to respective page.
looking forward for you response.
appreciate your help
Thanks,
KT -
How to get the main funciton name when calling another function inside?
for eg, one RFC named A,inside A,a funtion B is called.when the processing is at B now,how can i get the main RFC name(A)?
any help will be much appricated.> just see SM50,there is a column called 'Report',it shows the program id the proess is now processing.but i don't know its main program or say it 'the process's first excuting program',how can i get it programmatically?
I'm still not sure to understand. The program in SM50 is the current main program (not the first). It is stored in SY-REPID system variable. Or use this code:
DATA lt_callstack_long TYPE abap_callstack.
DATA ls_callstack_long TYPE LINE OF abap_callstack.
CALL FUNCTION 'SYSTEM_CALLSTACK'
IMPORTING
callstack = lt_callstack_long.
READ TABLE lt_callstack_long INDEX 1 INTO ls_callstack_long.
WRITE : / 'current main program is:', ls_callstack_long-mainprogram.
If you want to know the frame program (the first called), use SY-CPROG, or use this code:
DATA lt_callstack_long TYPE abap_callstack.
DATA ls_callstack_long TYPE LINE OF abap_callstack.
CALL FUNCTION 'SYSTEM_CALLSTACK'
IMPORTING
callstack = lt_callstack_long.
" read last line = first called program
DESCRIBE TABLE lt_callstack_long. "to make sy-tfill = number of lines
READ TABLE lt_callstack_long INDEX sy-tfill INTO ls_callstack_long.
WRITE : / 'First main program is:', ls_callstack_long-mainprogram. -
How to get the current schema name
Hi,
Can anybody please tell me how to get the current schema name, there is some inbuilt function for this,but i am not getting that. Please help me.
Thanks
Jogeshok folks, I found the answer at Tom's as usual.
http://asktom.oracle.com/tkyte/who_called_me/index.html
I rewrote it into a function for kicks. just pass the results of DBMS_UTILITY.FORMAT_CALL_STACK to this function and you will get back the owner of the code making the call as well some extra goodies like the name of the code and the type of code depending on the parameter. This ignores the AUTHID CURRENT_USER issues which muddles the schemaid. Quick question, does the average user always have access to DBMS_UTILITY.FORMAT_CALL_STACK or does this get locked down on some systems?
cheers,
paul
create or replace
FUNCTION SELF_EXAM (
p_call_stack VARCHAR2,
p_type VARCHAR2 DEFAULT 'SCHEMA'
) RETURN VARCHAR2
AS
str_stack VARCHAR2(4000);
int_n PLS_INTEGER;
str_line VARCHAR2(255);
found_stack BOOLEAN DEFAULT FALSE;
int_cnt PLS_INTEGER := 0;
str_caller VARCHAR2(30);
str_name VARCHAR2(30);
str_owner VARCHAR2(30);
str_type VARCHAR2(30);
BEGIN
str_stack := p_call_stack;
-- Loop through each line of the call stack
LOOP
int_n := INSTR( str_stack, chr(10) );
EXIT WHEN int_cnt = 3 OR int_n IS NULL OR int_n = 0;
-- get the line
str_line := SUBSTR( str_stack, 1, int_n - 1 );
-- remove the line from the stack str
str_stack := substr( str_stack, int_n + 1 );
IF NOT found_stack
THEN
IF str_line like '%handle%number%name%'
THEN
found_stack := TRUE;
END IF;
ELSE
int_cnt := int_cnt + 1;
-- cnt = 1 is ME
-- cnt = 2 is MY Caller
-- cnt = 3 is Their Caller
IF int_cnt = 1
THEN
str_line := SUBSTR( str_line, 22 );
dbms_output.put_line('->' || str_line);
IF str_line LIKE 'pr%'
THEN
int_n := LENGTH('procedure ');
ELSIF str_line LIKE 'fun%'
THEN
int_n := LENGTH('function ');
ELSIF str_line LIKE 'package body%'
THEN
int_n := LENGTH('package body ');
ELSIF str_line LIKE 'pack%'
THEN
int_n := LENGTH('package ');
ELSIF str_line LIKE 'anonymous%'
THEN
int_n := LENGTH('anonymous block ');
ELSE
int_n := null;
END IF;
IF int_n IS NOT NULL
THEN
str_type := LTRIM(RTRIM(UPPER(SUBSTR( str_line, 1, int_n - 1 ))));
ELSE
str_type := 'TRIGGER';
END IF;
str_line := SUBSTR( str_line, NVL(int_n,1) );
int_n := INSTR( str_line, '.' );
str_owner := LTRIM(RTRIM(SUBSTR( str_line, 1, int_n - 1 )));
str_name := LTRIM(RTRIM(SUBSTR( str_line, int_n + 1 )));
END IF;
END IF;
END LOOP;
IF UPPER(p_type) = 'NAME'
THEN
RETURN str_name;
ELSIF UPPER(p_type) = 'SCHEMA.NAME'
OR UPPER(p_type) = 'OWNER.NAME'
THEN
RETURN str_owner || '.' || str_name;
ELSIF UPPER(p_type) = 'TYPE'
THEN
RETURN str_type;
ELSE
RETURN str_owner;
END IF;
END SELF_EXAM; -
How to get the Output File Name as One of the Field Value From Payload
Hi All,
I want to get the Output file name as one of the Field value from payload.
Example:
Source XML
<?xml version="1.0" encoding="UTF-8" ?>
- <ns0:MT_TEST xmlns:ns0="http://sample.com">
- <Header>
<NAME>Bopanna</NAME>
</Header>
</ns0:MT_TEST>
I want to get the Output file name as " Bopanna.xml"
Please suggest me on this.
Regards
BopannaHi,
There are couple of links already available for this. Just for info see the below details,
The Output file name could be used from the field value of payload. For this you need to use the UDF DynamicFile name with below code,
// Description: Function to create dynamic Filename
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File" , "FileName");
conf.put(key,a);
return "";
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File" , "FileName");
conf.put(key,a);
return "";
With this udf map it with the MessageType as
(File Name field from Payload) > DynamicFileConfiguration>MTReceiver
Thanks
Swarup -
FM for getting the logical file name
Hi,
is there any FM for getting the logical file name.
Thanks
VikranthHi,
CONSTANTS: c_mask TYPE char9 VALUE ',.,..'.
Pick up the file path from the application server
FORM f1001_browse_appl_file .
DATA: lcl_directory TYPE char128.
lcl_directory = p_direct.
CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
EXPORTING
directory = lcl_directory
filemask = c_mask
IMPORTING
serverfile = p_f2 " Parameter File
EXCEPTIONS
canceled_by_user = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE e000(zmm) WITH text-039.
flg_app = 'X'.
ENDIF.
Then use OPEN DATASET for data reading
Hope this Helps.
Manish
Message was edited by:
Manish Kumar -
How to get the actual font name from a font file?
Hi
I have only the font Path I have to get the font name from that path. Any idea how to get the actual font name?
Thanks,I would ask you these questions:
Why do you need to do this? What are you ultimately trying to accomplish?
Are you really asking about the InDesign SDK?
Do you really need to get the "name" of a font from an arbitrary file? Or do you want information about a font installed on the system? If so, what OS?
Do you need to be able to handle any font format?
Which font "name" do you mean?
What language do you want the name in?
(1) It's not clear what you're trying to accomplish. A bit more information about your ultimate goal would be helpful.
(2) This question is not at all specific to the InDesign SDK. Are you really trying to do something in the context of an InDesign plug-in? If so, you probably want to look at IID_IFONTFAMILY and the IFontFamily::GetFamilyName function.
(3) If you are asking more generally, Windows and Mac both have system API calls to get this information, although those tend to deal with installed system fonts, not with arbitrary font files per se.
Also, you can parse the name table from a True Type or Open Type font without using any system APIs; as True Type and Open Type are well-documented standards. I would start by reading these:
The Naming Table
Font Names Table
(4) Although there are other standards, such as Type 1 (PostScript) fonts, and True Type Collection files and other formats, especially on Mac.
(5) Also, when you start down this road, you will quickly realize that your seemingly simple question is actually ambiguous, and that the answer is kind of complicated, because a font can have many names (a family name, a full font name, a style name, a PostScript name, etc.).
(6) And not only does a font have multiple names, it can have each of those names in multiple languages and encodings.
Any clarification would make this a better question. -
Problem in getting the function template object from the repository.
Hi all,
I have created a par file. I have a JCO connection in that. I am facing problems in getting the function template object from the repository. This thing is running successfully when i try to deploy it in Tomcat. But i am facing problems when i try to deploy it in SAP EP 6.0.
Below is statement which is giving error after being deployed to SAP EP6.
This is executing fine when executed in Tomcat Server.
// getting the object of function template
IFunctionTemplate functionTemplate =
aRepository.getFunctionTemplate("YADDNEWUSER");
Note : YADDNEWUSER is the name of the RFC which I am calling from my JAVA Code.
Thanks in advance,
DivijaThis sounds like a bug in the smart upload code. I have used this stuff before, but it's probably an older version, so maybe they broke something. Enumerations aren't usually guaranteed to keep things in any particular order. I would say for now, make a method to take the enumeration and a param name to find the value. And write to the JSPSmart people.
-
How to get the Background job name
Hi,
I am executing a report in background and i want to get the background job name in the same report program. How can i get the same.
Regards,
Rajgopal Dara.Hi,
for this fm is used 148 times in our system, I made a check program and it works:
report zsbatchfm.
data: xv_jobcn type btcjobcnt.
data: xv_jobnm type btcjob.
data: xv_stepc type btcstepcnt.
call function 'GET_JOB_RUNTIME_INFO'
importing
* EVENTID =
* EVENTPARM =
* EXTERNAL_PROGRAM_ACTIVE =
jobcount = xv_jobcn
jobname = xv_jobnm
stepcount = xv_stepc
exceptions
no_runtime_info = 1
others = 2.
if sy-subrc <> 0.
write: /1 'SY-SUBRC = ', sy-subrc.
else.
write: /1 'JOBCOUNT = ', xv_jobcn.
write: /1 'JOBNAME = ', xv_jobnm.
write: /1 'STEPCOUNT = ', xv_stepc.
endif.
commit work.
In online mode you get a SUBRC = 1, in batch mode you get the informations (here: in SPOOL)
Please check it on your system!
Regards,
Klaus -
Tell me the function module name
Hi ,
By using material in MSEG table I need to get BOM field from MAST table. Then using that BOM I have to retrieve BMENG from STKO table and POSTP (item category) in STOP table and here I need to search table STPO with BOM#; retrieve component quantity from field STPO/MENGE for all materials with Item category N
I can do the above things by using select for all entries
But One function module is there to do all these things..
Can any one tell me the function module name
Thanks,
Navaneethcheck this BOM related
CSAP_BOM_ITEM_MAINTAIN
CSAP_DOC_BOM_CREATE
CSAP_DOC_BOM_DELETE
CSAP_DOC_BOM_ITEM_SELECT
CSAP_DOC_BOM_MAINTAIN
CSAP_DOC_BOM_READ
CSAP_MAT_BOM_ALLOC_CREATE
CSAP_MAT_BOM_ALLOC_DELETE
CSAP_MAT_BOM_CLOSE
CSAP_MAT_BOM_CREATE
CSAP_MAT_BOM_DELETE
CSAP_MAT_BOM_ITEM_SELECT
CSAP_MAT_BOM_MAINTAIN
CSAP_MAT_BOM_OPEN
CSAP_MAT_BOM_READ
CSAP_MAT_BOM_SELECT
CSAP_ORD_BOM_CREATE
CSAP_ORD_BOM_DELETE
CSAP_ORD_BOM_ITEM_SELECT
CSAP_ORD_BOM_MAINTAIN
CSAP_STOCK_TYPE_CREATE
CSAP_STOCK_TYPE_DELETE
CAVC_I_CHANGE_BOM_ITEM_DATA
CAVC_I_DELETE_BOM_ITEM
Check Above function modules which all related to BOM
And also Check function groups CSAP, CSAI, CSAR, CSBD etc...
Check out the following:
http://help.sap.com/saphelp_40b/helpdata/en/92/58b521417011d189ec0000e81ddfac/content.htm
regards,
prabhu
reward if it is useful -
Want to get the Client Machine name from Oracle Forms
Hi,
I want to get the Client machine name from the Oracle Forms.
I have attached web_util.pll.
I use user_name := webutil_clientinfo.get_host_name;
but i am getting following error - WebUtil Error:WUC-015: Your form must contain the following Bean for this function to be available: oracle.forms.webutil.clientinfo.GetClientInfo.
Can any one help me in this!
Thanks & Regards,
Avinash Bhamare.
Pune.Hi,
I have written the code on when-button-pressed trigger of a push button -
DECLARE
user_name VARCHAR2(50);
BEGIN
user_name := client_win_api_environment.get_computer_name;
message('user_name is :'||user_name);
message('user_name is :'||user_name);
END;
And on clicking on this button i am getting error -
frm-40734:Internal Error:PL/SQL error occurred
Can any one help in this asap please!
Thanks & Regards,
Avinash. -
Getting the NT user name (Windows user name)
Hello,
I am trying to get the windows user name in ABAP program but
I can not find any useful function.
Thanks in advance,
Eitan Iluzz.you can use the following code to get the windows logged on user
data: username type string .
CALL METHOD cl_gui_frontend_services=>get_user_name
CHANGING
user_name = username
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
others = 4 .
CALL METHOD cl_gui_cfw=>flush
EXCEPTIONS
CNTL_SYSTEM_ERROR = 1
CNTL_ERROR = 2
others = 3 . -
Hi, I have been trying to down load some music to my Ipod. I keep getting the message: (Song name) was not copied to IPod IPod because it cannot be played on this I pod.
Can anybody help? I have never had this problem before.brackenfromrincon wrote:
Is it something about "I Shot the Sheriff" that my iPod has a moral disagreement with? It had no issue importing and installing Body Count's "Kop Killa"...
Not really likely, is it?
First of all, look on the iPod to see if the song is actually on there. (The last Sync of my Classic resulted in "song not copied... because it cannot be found." The song had previously been on the iPod. I checked and despite the fact that iTunes could not find the file, the song was still on my iPod. I checked the folder and the song was exactly where t was supposed to be. So I simply set iTunes to find it again. What happened? I don't know, iTunes simply threw a wobbly!)
Second, try another Sync. Does this change anything? If the song was on the iPod, does a second Sync remove the message? If the song was not on the iPod after the first Sync, does the second one put it on there?
What happens?
Maybe you are looking for
-
Problem with Fill tool in Windows 7 Paint
I've seen variations on this question (such as http://social.technet.microsoft.com/Forums/en-US/w7itprogeneral/thread/8afa9277-686a-44e0-b488-e5bee4611cb5/ ), but none seem to address the specific problem I'm having; namely, that the Fill tool in MS-
-
Hi there! I've experienced a strange problem related to my LG monitor/Mac Mini. Occasionally the monitor becomes "jumpy", the horizontal lines are visible when I scroll over my dock and also on some animated websites. However, if I go to the display
-
VAT Receipt for CC subsciption
Hi, we bought a Creative Cloud membership subscription for DW. Now we need a monthly receipt for the regular payments which show VAT for our accounting. Where do I get such a receipt for every monthly payment? Thanks for your help Lee
-
Quicktime won't load - insufficient privelleges
I've been trying to down load the latest version of Quicktime and about half way through the installation it says I have insufficient privelleges to access this directory. The installation cannot continue. It tells me to log in as administrator but I
-
Software update 6500, device not working anymore!!...
Hello, Brought the mobile (6500 slide) yesterday and today its with local dealer for repair.. whats wrong with Nokia software update application!!!!!! following error pop up during the application launch, Error #1 nsl_host_process.exe - Application E