OPRJ创建日期和停用用户和日期

2020-09-13 20:56发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家

我的第一个问题是:如何在OPRJ表上获取项目的创建日期? 我可以看到OPRJ.UpdateDate,但是看不到创建日期。

第二,我需要取消激活包含在查询中的用户和日期。 我可以获取正在更新的用户-但这指的是任何更新,而不仅指OPRJ.Active更改为N。如果此项目仍处于活动状态,则将为空白。

选择
 T0。[PrjCode],
 T0.UserSign,
 T2。[U_NAME] AS为" Creating_User",
 ---创建日期
 T0.UserSign2,
 T3。[U_NAME] AS为" Update_User",
 T0.UpdateDate


 从OPRJ T0
 内联接APRJ T1在T0上。[PrjCode] = T1。[PrjCode] AND T0.loginstanc = T1.loginstanc-1
 t2.userid = t0.usersign上的左JOIN OUSR T2
 左JOIN OUSR T3 ON T3.USERID = t0.UserSign2


 在哪里T0.Active <> T1.Active
 

感谢您的帮助,

马里

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家

我的第一个问题是:如何在OPRJ表上获取项目的创建日期? 我可以看到OPRJ.UpdateDate,但是看不到创建日期。

第二,我需要取消激活包含在查询中的用户和日期。 我可以获取正在更新的用户-但这指的是任何更新,而不仅指OPRJ.Active更改为N。如果此项目仍处于活动状态,则将为空白。

选择
 T0。[PrjCode],
 T0.UserSign,
 T2。[U_NAME] AS为" Creating_User",
 ---创建日期
 T0.UserSign2,
 T3。[U_NAME] AS为" Update_User",
 T0.UpdateDate


 从OPRJ T0
 内联接APRJ T1在T0上。[PrjCode] = T1。[PrjCode] AND T0.loginstanc = T1.loginstanc-1
 t2.userid = t0.usersign上的左JOIN OUSR T2
 左JOIN OUSR T3 ON T3.USERID = t0.UserSign2


 在哪里T0.Active <> T1.Active
 

感谢您的帮助,

马里

付费偷看设置
发送
4条回答
hengyuye
1楼 · 2020-09-13 21:02.采纳回答

玛莉,你好

请尝试以下操作:

选择
 OPRJ。[PrjCode],
 UserCreated.USERID,
 UserCreated。[U_NAME] AS" Creating_User",
 FirstInstance.UpdateDate,
 UserUpdated.USERID,
 UserUpdated。[U_NAME] AS'Update_User',
 ActivityChangeInstance.UpdateDate
 从OPRJ-项目表
 在OPRJ上将APRJ作为FirstInstance加入。[PrjCode] = FirstInstance。[PrjCode]
 AND FirstInstance.loginstanc = 1-历史记录表中的第一个更新实例
 加入
 (
 SELECT APRJ.PrjCode,APRJ.UserSign2,APRJ.UpdateDate
 从APRJ
 加入
 (
 SELECT PrjCode,Min(LogInstanc)AS LogInstanc
 从APRJ
 活动位置='N'
 通过PrjCode分组
 )AS FirstInstances ON APRJ.PrjCode = FirstInstances.PrjCode-获取活动设置为N的第一个实例的编号
 AND APRJ.LogInstanc = FirstInstances.LogInstanc
 )AS ActivityChangeInstance ON OPRJ.PrjCode = ActivityChangeInstance.PrjCode-获取活动设置为N的第一个实例的整个数据行
 在UserCreated.USERID = OPRJ.usersign上以UserCreated身份加入OUSR-与表连接
 加入OUSR AS UserUpdated ON UserUpdated.USERID = ActivityChangeInstance.UserSign2
 

第一个答案:创建日期没有字段。 如果检查历史记录表,您将在创建日期字段中看到项目代码。 但是,您可以获得第一个历史记录实例的更新日期-这将是您的创建日期。

第二个答案:您可以将活动设置为" N"的第一个实例。 请注意,此查询在创建为非活动的项目上无法稳定运行,但是根据我的要求,情况并非如此。

Doze时光
2楼-- · 2020-09-13 21:14

Sergei,

感谢您的不断努力,这项工作成功了!

此致

Marli

小熊yu生菜
3楼-- · 2020-09-13 21:00

在同一个表中创建UDF,并使用事后交易通知进行更新,并且对于现有数据,请与SAP支持联系以了解日志表,因为OPRJ不存储创建用户。

对于自动更新,请记住遵循SAP Note 896891-SAP Business One的支持范围-数据库完整性

由于SQL查询会修改SAP Business One数据库的数据集或数据结构,因此SAP将不支持任何不一致的数据库。 这包括通过SQL Server工具或SAP Business One的查询界面执行的所有更新,删除或删除语句。 这也是SAP与SAP业务合作伙伴之间的支持合同中规定的。 "对于因合作伙伴或最终客户不当更改软件或SDK而引起的任何问题,SAP均不提供支持",并且"对于因合作伙伴或最终客户的责任和结果范围内的问题,SAP也不提供任何支持服务, 由于安装不当,最终用户培训不满意,业务设计缺少或不正确,操作不正确或硬件有问题",如果如上所述在数据库中发现不一致之处,SAP Business One产品支持将无法进一步处理该事件。 为了继续支持此SAP Business One安装,

Aaron 3364
4楼-- · 2020-09-13 21:21

对于UDT和UDF,可以更新或删除,我从不删除任何表,但我对UDO和UDF使用了update和Delete,而没有 甚至在升级过程中也面临的问题。

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答