SAP查询以检查雇用记录,尝试返回记录的最后一个条目

2020-09-22 09:53发布

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

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


你好,

我正尝试编写一个查询,以最初列出所有使用仪器序列号的项目,以及此时此刻是否有货。

我们正在MSSQL 2014上运行SAP 9.2(9.20.170)pl:07 hotfix1(32-BIT)。

我正在查看表OSRI和SRI1中的序列号交易行。

我想列出所有租用零件编号" AA-MUr"的序列号,以及它们的进出顺序(方向0或1)。 我的问题是似乎无法返回每个仪器序列号的最后一条记录,max似乎无法正常工作,limit也没有(至少当我尝试过它们时::-))。

表之间的联接可能存在错误,并且有24种工具,并且我使用以下代码返回48条记录。 这显示了每个序列号的进出移动。

我到目前为止最接近的代码如下:

选择不同的T0。[IntrSerial],T0。[ItemCode],T0。[SysSerial],T0。[BaseEntry],案例T1。[Direction]当0 THEN'IN'时1 THEN'OUT'ELSE'' 从OSRI T0内连接SRI1 T1到T0,以"运动状态"结尾。[SysSerial] = T1。[SysSerial] W0位置。 ]

任何帮助表示赞赏,最好能了解我要去哪里。

认为可能需要一个子查询,但是经过几个小时的测试(尤其是对于连接),在编写它们时遇到了问题。

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

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


你好,

我正尝试编写一个查询,以最初列出所有使用仪器序列号的项目,以及此时此刻是否有货。

我们正在MSSQL 2014上运行SAP 9.2(9.20.170)pl:07 hotfix1(32-BIT)。

我正在查看表OSRI和SRI1中的序列号交易行。

我想列出所有租用零件编号" AA-MUr"的序列号,以及它们的进出顺序(方向0或1)。 我的问题是似乎无法返回每个仪器序列号的最后一条记录,max似乎无法正常工作,limit也没有(至少当我尝试过它们时::-))。

表之间的联接可能存在错误,并且有24种工具,并且我使用以下代码返回48条记录。 这显示了每个序列号的进出移动。

我到目前为止最接近的代码如下:

选择不同的T0。[IntrSerial],T0。[ItemCode],T0。[SysSerial],T0。[BaseEntry],案例T1。[Direction]当0 THEN'IN'时1 THEN'OUT'ELSE'' 从OSRI T0内连接SRI1 T1到T0,以"运动状态"结尾。[SysSerial] = T1。[SysSerial] W0位置。 ]

任何帮助表示赞赏,最好能了解我要去哪里。

认为可能需要一个子查询,但是经过几个小时的测试(尤其是对于连接),在编写它们时遇到了问题。

付费偷看设置
发送
2条回答
歪着头看世界
1楼-- · 2020-09-22 10:14

嗨,

我有两个问题可以更好地理解这一点:

  • 您如何确定某个工具的"最新条目"?为此,两个表之一中是否有日期/时间列或计数器?
  • 在SRI1和OSRI中或仅在OSRI中是否有24行用于AA-MUr? 还是要选择OSRI中的24行以及SRI1中最新的(请参阅第一个问题)匹配行(反之亦然)?

最好的问候

Clas Hortien

粗暴的香蕉
2楼-- · 2020-09-22 10:11

嗨,Clas,

感谢您的答复。

因此,最新输入是当前进/出状态。 这是此表中的"方向"," 0进入"和" 1退出"。

所有移动都在SRI1表中,其中有数千个。

有一条BsDocEntry行,因此在每次移动时都可能引用此行。

因此,对于AA-MUr,OSRI中有24条记录(24种乐器)

SRI1的动作很多,但是我只想返回每种乐器的当前状态

因此,要使OSRI中的24种仪器(行)与SRI1中每个序列号的最新移动相匹配

我可以为最近的记录返回最新的机芯,但是不确定如何针对每个序列号进行操作。

到目前为止的代码:

使用MAXTEST AS(SELECT *,ROW_NUMBER()覆盖(按BsDocEntry排序)AS条目来自SRI1)SELECT BsDocEntry,SysSerial,ItemCode,(从OSRI的SELECT IntrSerial,其中OSRI.ItemCode = MAXTEST.ItemCode和OSRI.SysSerial = MAXTEST .SysSerial)AS'Serial No',DocDate,case方向何时0然后'IN'当1然后'OUT'ELSE''结束作为'从最大运动的运动'条目=(从最大的选择MAX(条目))和ItemCode = 'AA-MUr'

我将继续研究可能会围绕OSRI表进行一次循环,以查看尚未触及的记录数量。

一周热门 更多>