ABAP-删除记录,其中列表中文档的列总和为零。

2020-08-13 15:17发布

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

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


尊敬的专家,

我有一个采购订单清单,其中某些采购订单->项目具有余额数量,而有些采购订单中该采购订单中的所有项目都已完全收到。

需要以下内容。

1。 我想删除所有收到所有项目的采购订单。

2。 我想保留所有这些采购订单,如果一个项目也保持平衡。 (这意味着应保留此采购订单中的所有项目,因为此采购订单中未收到所有项目。

zmm036.jpg

zmm036.jpg (232.9 kB)

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

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


尊敬的专家,

我有一个采购订单清单,其中某些采购订单->项目具有余额数量,而有些采购订单中该采购订单中的所有项目都已完全收到。

需要以下内容。

1。 我想删除所有收到所有项目的采购订单。

2。 我想保留所有这些采购订单,如果一个项目也保持平衡。 (这意味着应保留此采购订单中的所有项目,因为此采购订单中未收到所有项目。

zmm036.jpg

zmm036.jpg (232.9 kB)
付费偷看设置
发送
5条回答
半个程序猿
1楼-- · 2020-08-13 15:35

拉维·马哈林厄姆

建议您首先清楚地了解和分析删除" 采购订单,建议您在内部进行讨论的帖子,然后再决定。 因为稍后可能需要这些采购订单,但是要由客户决定。

或者,您可以决定关闭/阻止采购订单,以使它们不再打开。 您仍然可以按照以下说明使用相应的指示符来删除PO。 建议您使用BAPI_PO_CHANGE。 您必须按照下面的代码传递参数:

调用功能'BAPI_PO_CHANGE'
         出口
           采购订单= lv_ponum
         输入
           expheader = lw_expheader
         桌子
           返回= lt_return
           poitem = lt_poitem
           poitemx = lt_poitemx。

要关闭采购订单,您必须将以下字段值作为空间传递给POITEM和POITEMX表。

代码段:

     lw_poitem-po_item = *项目编号。
     lw_poitem-no_more_gr =空间。
     lw_poitem-gr_to_date =空间。
     将lw_poitem附加到lt_poitem。

     lw_poitemx-po_item = *项目编号。
     lw_poitemx-no_more_gr ='X'。
     lw_poitemx-gr_to_date ='X'。
     

在POITEM参数中还有其他参数可能对您有所帮助,建议您同时检查该参数中的所有其他字段,这可能很有用。

< p> DELETE_IND->采购凭证中的删除指示器

BLOCK_REASON_ID->阻塞原因-ID

BLOCK_REASON_TEXT->阻塞原因-文本

DELIV_COMPL- ->"外向交货已完成"指示符

致谢!

能不能别闹
2楼-- · 2020-08-13 15:40

操作员说:"我想从自定义程序的内部表中删除这些记录。"

OP发布了这张图片:

SAP小菜
3楼-- · 2020-08-13 15:43

嗨,

不建议在GR IR过程之后删除采购订单的行项目,而是可以在交货完成后对其进行更新。 由于问题是要关闭采购订单,因此可以在Abaper帮助下读取给定期间的EKKO表,并读取文档类型-EKPO和Ebeln,其中预期数量为eq 0。

通过BAPI BAPI_PO_GETDETAIL1和 将相应的内部表分配给具有交付完成指示符和提交的项目表的BAPI_PO_CHANGE传递详细信息。

SAP德到
4楼-- · 2020-08-13 16:00

Satish Kumar Balasubramanian

感谢您宝贵的2个解决方案。

我是ABAP的新手,如果可能的话,请为我提供一个示例代码,以供您参考。

最诚挚的问候,

Violet凡
5楼-- · 2020-08-13 16:00

嗨,

如果您不打算使用BAPI_POGETDETAIL1,则通过将EBELN&EBELP传递给VGABE等于1并求和来读取EKBE 向上移动类型101,如果小于EKPO-MENGE,则向上移动类型102,如果小于0,则保留记录,如果为0,则从内部表中删除该记录。

一周热门 更多>