07-15-2008 1:46 PM
Hi all,
i need the windows user in an ABAP Webservice.
I have found many solutions (e.g. cl_gui_frontend_services->get_user_name or function modules GUI_GET_DESKTOP_INFO, WS_QUERY ....)
But these solutions are only working if you are connected via SAP GUI to the SAP system.
I want to trigger the web service not via SAP GUI.
Is there a possiblility to get the Windows user in ABAP without the need of the SAP GUI?
regards
07-22-2008 6:37 AM
from which environment you are trying to read the windows user? from a web app?
07-22-2008 7:30 AM
via sapgui --> use your method
not via sapgui --> read field 'sy-uname' for sap user name. As far as i remember we didn't make a Windows user for access to a sap webservice. You only need a sap user and password to access the webservice; the calling system sends a request with sap user and password, and not necessarily any Windows involved there either.
Hope this helps,
Rolf
07-23-2008 7:25 AM
Hi,
there is a security problem because of the different environments windows/sap.
Solution:
On the windows side i have a kerberos token for authentication. (fasade service 1)
On the sap side i use the sy-uname. (fasade service 2)
And the service which uses the fasade services is an email service.
regards
07-23-2008 7:42 AM
you can get the windows logged on (network) id from a vbscript/javascript (which uses windows script host) vbscript code would look like below
Dim mynw
set mynw = createobject("WSCRIPT.Network")
dim uid
uid=mynw.UserName
if you let me know from where you are trying to get this, can come up with alternate approach. (from web application? or from some other approach)
01-29-2009 1:18 PM
Hi, I have the same problem - getting Windows user name from WebDynpro (ABAP). Have you any idea how to call your piece a code from there?
Thanks,
Adam
03-26-2009 12:43 PM
Issue: I need to determine a windows user in my WebDynpro (ABAP ) application. I do it on a following way:
Instead of calling my WebDynpro application directly I call my own BSP getuser, the link to the my WebDynpro will be transferred as page attribute <wd_url> (auto).
Important: the WebDynpro link has to be percent-encoded, e.g. the link:
[https://...../sap/bc/webdynpro/sap/z_my_webdynpro?sap-client=500&sap-language=E]
should look like as:
[http://https%3A%2F%2F.....%2Fsap%2Fbc%2Fwebdynpro%2Fsap%2Fz_my_webdynpro%3Fsap-client%3D500%26sap-language%3DE]
Example:
Call BSP
[http://.../sap/bc/bsp/sap/zcallwd/getuser.htm?wd_url=<wd_link_percent_encoded>]
BSP Flow Logic:
<form name="form1" action="<%= wd_url%>" method="POST">
<input type="hidden" name="user" type="text" value="<%= user%>">
</form>
< script language="vbScript">
Dim uname
Set ows = CreateObject("WSCRIPT.Network")
uname = ows.UserName
document.form1.user.value = uname
</script>
< script language="javascript">
document.form1.submit();
</script>
As you can see, the user will be transferred to the WebDynpro call via POST method here - as part of the data body and will not be visible in the WebDynpro URL. Instead of POST you can use GET, too, the parameter <user> will be visible in WebDynpro URL then.
I know itu2019s a little bit complicated, but it function very well.
Regards,
Adam
08-16-2013 3:02 PM
Hello Adam,
could you please help me about this solution ?
I want to get windows user id ?
I DEVELOPED WDA.
.
Please help me BSP application step by step , to call WDA.