You can retrieve user's name by a code such as:
* ------------------------------------------------------------PROCEDURE wUserConnected && {en} IDs of users currently connected to the application {fr} ID des utilisateurs couramment connectés à l'applicationLPARAMETERS tawUser && @ [User ID for application, FirstOn, Current Session, IP] ordered by FirstOnLOCAL loExact AS abSet OF abDev.prg, loRecno AS abRecno OF abData.prg; , lt, lcIP, liResult, lnResult lnResult = DoDefault(@m.tawUser)IF m.lnResult > 0 loRecno = abRecno('Users') loExact = abSet('EXACT', 'ON') lt = Datetime()FOR liResult = m.lnResult TO 1 STEP -1* If user belongs to the same company as current user,IFLookup(Users.Company, m.tawUser[m.liResult, 1], Users.userID, 'userID') = m.this.cCompany* Replace user ID by user's full name tawUser[m.liResult, 1] = cWords(' '; , Trim(users.FirstName); , Trim(users.LastName); , Iif(tawUser[m.liResult, 3], '(me)', ''); )ELSE* Remove user from array lnResult = m.lnResult - 1Adel(tawUser, m.liResult)ENDIFENDFORIF m.lnResult = 0 && should never happen - at least current user should be found as connected aClear(@m.tawUser)ELSEDIMENSION tawUser[m.lnResult, Alen(tawUser, 2)]ENDIFENDIFRETURN m.lnResult
Thierry Nivelet (FoxInCloud)
Never explain, never complain (Queen Elizabeth II) - ban but and not