选择查询以从两个不同的表中获取合并的报告。

2020-08-22 01:47发布

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

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


嗨,专家

我们有两个表,一个是库存表(有库存明细),另一个是交货单表(有交货明细),我必须从这两个表中获取记录以显示合并的库存报告,避免重复。

如下表所示,在库存中,我们有6个订单项具有不同的日期,交货单表中有2个订单项

通过从交货单表中的总交付数量中减去每个零件编号的总库存数量来获得合并的库存报告。

我们正在使用如下所示的查询,该查询在

如何编写包含两个不同表的两列相减的选择查询,由 Venkateswaran Krishnamurthy

选择PART_NO,USER_ID,SUM(QTY-PICK_QTY)作为TOTAL_QTY
 从(从INVENTORY_TABLE INV LEFT JOIN DELIVERY_NOTE_TABLE PICK选择SELECT INV.PART_NO,INV.USER_ID,INV.QTY,PICK.PICK_QTY
 ON INV.USER_ID = PICK.USER_ID
 AND INV.PART_NO = PICK.PART_NO
 投资数量> 0
      )GROUP BY PART_NO,USER_ID
 

但是,在"合并库存报告数量"的帮助下,我们得到的负值仍然很少。

我们正在使用SAP Enterprise Portal数据库迁移到HANA系统。

致谢

Govardan Raj

(22.7 kB)

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

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


嗨,专家

我们有两个表,一个是库存表(有库存明细),另一个是交货单表(有交货明细),我必须从这两个表中获取记录以显示合并的库存报告,避免重复。

如下表所示,在库存中,我们有6个订单项具有不同的日期,交货单表中有2个订单项

通过从交货单表中的总交付数量中减去每个零件编号的总库存数量来获得合并的库存报告。

我们正在使用如下所示的查询,该查询在

如何编写包含两个不同表的两列相减的选择查询,由 Venkateswaran Krishnamurthy

选择PART_NO,USER_ID,SUM(QTY-PICK_QTY)作为TOTAL_QTY
 从(从INVENTORY_TABLE INV LEFT JOIN DELIVERY_NOTE_TABLE PICK选择SELECT INV.PART_NO,INV.USER_ID,INV.QTY,PICK.PICK_QTY
 ON INV.USER_ID = PICK.USER_ID
 AND INV.PART_NO = PICK.PART_NO
 投资数量> 0
      )GROUP BY PART_NO,USER_ID
 

但是,在"合并库存报告数量"的帮助下,我们得到的负值仍然很少。

我们正在使用SAP Enterprise Portal数据库迁移到HANA系统。

致谢

Govardan Raj

(22.7 kB)
4条回答
宇峰Kouji
1楼-- · 2020-08-22 02:49

尊敬的Govardhan

您似乎是Partno,不在发票表中,而是在交货表中。(这可能是负面的原因)。 -请对那些否定的项目进行验证。 并更新我

否则,按如下所示更改查询并检查

选项1

代替LEFT JOIN-您使用INNER JOIN

太Q了
2楼-- · 2020-08-22 02:30

亲爱的Bret&Venkatesh,

感谢您的亲切答复,对不起,您的答复很晚。

1)您的示例代码在user_id和part_no上联接。 这是正确的吗,物品总是由将它们输入库存的同一用户交付的,或者您仅报告由接收该物品的同一人交付的库存? (我在这里假设是该列的含义)。 我怀疑user_id不应成为联接的一部分

答案:我们正在基于User_id和part_no联接,这是正确的,因为我们有多个经销商向我们购买产品并将其出售给 最终客户。经销商从我们那里购买产品时,他会在INVENTORY_TABLE上进行输入,当他将产品交付给最终客户时,则会在DELIVERY_NOTE_TABLE中进行输入。

2)date列背后的逻辑是什么? 交货必须始终大于等于库存行中的日期吗? 您是否想捕获所有不正确的实例? 当库存中的零件有多个行或多个交货时,由什么决定合并报告中的日期?

答案:是的,当多个交货时,基于合并报告是正确的 日期列是不正确的方式。

3)为什么当没有交货的部分时,part_no 102的数量在报告中减少到10?

< em>答案:很抱歉,它被错误地更新,已交付10数量的part_no 102,上面没有显示。

4)它可以帮助您查看负数的来源,如果 您可以查看联接在聚合之前生成的原始数据,并手动进行减法和求和:

答案:好


事实上,我会详细解释,

当经销商U1000向我们购买数量为10的part_no 102时 ,我们在INVENTORY_TABLE中输入一个条目,其中包含part_no,购买数量,日期以及经销商名称。

以及当他向最终客户交付其中的一部分时,会在另一个表D2D_INVENTORY_TABLE中进行输入。 该表仅在经销商交付给最终客户时才有一个条目,如果经销商没有交付,则没有条目。 假设如果经销商从我们这里购买了10份part_no 101的商品,并且尚未出售给任何最终客户,那么在INVENTORY_TABLE中将出现101项,而在D2D_INVENTORY_TABLE中我们将没有101项。

这两个带有表字段和条目的表都显示在快照中,

我们可以单独查询这两个表并获取合并的库存报告吗?



请提供帮助,谢谢。

致谢

Govardan。

SAP小菜
3楼-- · 2020-08-22 02:31

尊敬的Govardhan

感谢您的详细说明。 通过查看上述情况和表快照,

1)您说收到10个数量-库存表中已更新-可以

2)第二个表仅显示了 摘要为期初和期末库存-现在为7。

3)没有其他表格可用于维护交易明细。 像输入/输出。 (是否还有其他表可以将单个事务维护为GR/GI)

但是,现在您要如何使用报表格式-其次是要解决负值吗?

请澄清一下\\

注意事项

Venkat

能不能别闹
4楼-- · 2020-08-22 02:39

尊敬的Venkatesh,

是的,我们还有一个名为 GRN_Table,当经销商收到我们的part_no时进行输入。

我需要的报告格式是,就像当前如果我考虑使用经销商U1000一样,我们想知道在他的存储位置可用的part_no是多少以及可用的数量。

例如,您认为一个新的经销商U2000从我们这里购买了part_no 104,数量为100。在那100中,他已交付50。

然后我需要库存报告以显示U2000的104零件号为数量50。

问候

Govardan

一周热门 更多>