Of course yes, but only if the client is running on PC within domain...
Function UserName(UserIDVal : Code[20]) : Text[50]
Var
WinUser Record Windows Object
DBUser Record User
BEGIN
IF DBUser.GET(UserIDVal) THEN //try DB logins first
EXIT(DBUser.Name);
IF WinUser.FIND('-') THEN //no DB login, find windows user
REPEAT
IF UPPERCASE(WinUser.ID)=UserIDVal THEN
EXIT(WinUser.Name);
UNTIL WinUser.NEXT=0;
EXIT('');
END;
Warning! This can take some time to read the table Windows Objects. But I was not able to filter directly to the ID (but I do not know why yet) - may be that you can modify this code to directly filter WinUser for the ID and get the record without loop...
Comments
Warning! This can take some time to read the table Windows Objects. But I was not able to filter directly to the ID (but I do not know why yet) - may be that you can modify this code to directly filter WinUser for the ID and get the record without loop...
MVP - Dynamics NAV
My BLOG
NAVERTICA a.s.