首页 > 解决方案 > B1 打印和交付条件操作当前用户

问题描述

我这里有一段代码应该可以工作,但没有,对于我的生活,我不知道为什么或更好的方法来解决它。

我想要实现的是让 B1 打印和交付在通过电子邮件发送 A/R 发票时确定当前用户是谁,如果是 X 用户,那么它将直接发送电子邮件,如果它是任何其他用户,那么它将保存为草稿 +预习。以下是我当前的代码。

DECLARE @GetUser AS nvarchar(12)
SET @GetUser = (Select top 1 T1.U_NAME from USR5 T0 INNER JOIN OUSR T1 ON T0.UserCode = T1.USER_CODE where SessionID =@@spid order by Date desc,Time desc)
IF(@GetUser = 'NickJ') 
BEGIN
SELECT 'noDraft' FOR BROWSE
END
ELSE
BEGIN
SELECT 'draft' FOR BROWSE
END

当我在 SAP B1 查询生成器中运行该 select 语句时,它会显示 NickJ,所以我知道它有效。然而,boyum 和 print and delivery 似乎不喜欢这个查询。当我单击电子邮件按钮时,它没有检测到 NickJ 是当前用户,而是会执行 ELSE 操作。

我还注意到 $[USERNAME] 在此条件或报告操作中不起作用。

有谁知道为此获取当前登录用户的更好方法?

标签: sapb1

解决方案


推荐阅读