在SBO中获取当前登陆用户
在SAP Business One中,我们可以将已创建的查询保存到查询管理器。我们可以将这些查询用于多种目的,例如:
- 查询报表
- 自定义警报
- 自定义审批
- 格式化搜索
在这里,我们为您提供如何在查询管理器中获取当前登陆用户的方法,以便您可以根据当前用户筛选数据。事实上这很简单,只需要在查询中添加$[USER]
。
例子:
#HANA:
select t0."USER_CODE" from "OUSR" t0 where t0."USERID" = $[USER]
#SQL:
select t0.USER_CODE from OUSR t0 where t0.USERID = $[USER]
注意:早期版本以上代码可能不适用,可以使用以下替代方案。
#sql,可以封装成函数
DECLARE @user INT
SELECT @user = a0.INTERNAL_K
FROM (SELECT TOP 1 c.[INTERNAL_K]
FROM [master].[dbo].[sysprocesses] AS a
INNER JOIN [dbo].[USR5] AS b
ON a.[spid] = b.[SessionID]
AND a.[hostprocess] = b.[ProcessID]
INNER JOIN [dbo].[OUSR] AS c ON b.[UserCode] = c.[USER_CODE]
WHERE a.[spid] = @@spid AND b.[Action] = 'I'
ORDER BY b.[Date] DESC) a0
select t0.USER_CODE from OUSR t0 where t0.INTERNAL_K= @user
结果:
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。