采购订单金额与采购申请金额的比较

2020-08-23 16:00发布

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

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


我需要比较采购订单中输入的金额与采购申请中的金额。 如果数量不同,我必须显示一个弹出消息。 根据弹出窗口中的用户确认,应该保存PO。 如果用户在弹出窗口中单击"是",则PO应该保存;如果否,则不应该保存。 此验证应触发采购订单节省时间。

有人为我提供了实现这一目标的步骤

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

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


我需要比较采购订单中输入的金额与采购申请中的金额。 如果数量不同,我必须显示一个弹出消息。 根据弹出窗口中的用户确认,应该保存PO。 如果用户在弹出窗口中单击"是",则PO应该保存;如果否,则不应该保存。 此验证应触发采购订单节省时间。

有人为我提供了实现这一目标的步骤

付费偷看设置
发送
4条回答
土豆飞人
1楼 · 2020-08-23 16:49.采纳回答

Hi Kiran,

具有提到的选项可以写在Process_item,CHECK或POST ...上,如果写在process_item上,则在创建时对每个订单项的验证工作都会被逮捕,但是在 CHECK或Post验证应该是订单项明智的额外代码。

关于此,

Abinath。 S

me_for_i
2楼-- · 2020-08-23 16:42

嗨阿比,

感谢您的快速回复。 我需要在保存采购订单时触发此验证。 此方法(过程项)是否适用于PO SAVE?

Nan4612
3楼-- · 2020-08-23 16:36

您可以使用BADI ME_PROCESS_PO_CUST方法CHECK来实现这种验证。

请参阅BADI的详细文档 以下SPRO路径:物料管理->采购->采购业务外接程序-> BAdI:增强采购订单处理(单屏交易)

结帐检查

功能

使用CHECK方法可以检查整个文档。

在过帐文档或用户选择"检查"功能时调用此方法。 通常,在这一点上,系统会执行检查或识别过程,例如,在PROCESS_HEADER中进行处理时不需要的相关数据,否则会损害系统性能。

以下是该方法的帮助:

参数

导入参数

  • IM_HEADER -文档头文件
    接口引用的类型为IF_PURCHASE_ORDER_MM。 您可以使用在那里定义的所有方法。
  • IM_HOLD -保持
    用户已选择"保持"功能。
  • IM_PARK -停放(可选)
    用户选择了"停放"功能。
    只有在激活了"购买"订单后,才能使用"享受购买订单"中的"停放"功能。 PSM,美国联邦政府 -常规功能2 (PSM_USFED_CI_2)业务功能。 在标准系统中,您只能暂停采购订单。

更改参数

  • CH_FAILED -操作失败
    如果在检查时发现错误,导致无法继续处理文档,则可以用'X'填充此参数。 然后不继续处理。 您必须确保向消息处理程序发出适当的错误消息。
    另请参见:元字段和错误处理
    示例实现中的一个示例位于 Goto -> 示例代码。

说明

在任何情况下都不能在此方法内对数据库进行任何更改。

商务外接程序文档ME_PROCESS_PO_CUST

HTH,最好的问候

Dominik Tylczynski

ZJXianG
4楼-- · 2020-08-23 16:56

嗨,基兰,

您可以在该方法过程项中使用BADI-ME_PROCESS_PO_CUST,下面的代码可以帮助克服要求。

根据要求更改下面的代码:

< p>购买CAPEX时,此代码适用于数量和价值...

 g_header_call = im_item-> get_header()。
     呼叫方法g_header_call-> get_data
       接收
         re_data = gw_mepoheader。


     呼叫方法im_item-> get_data
       接收
         re_data = gw_mepoitem。




    SELECT SUM(netwr)从ekpo入gv_pre_line banfn = wa_eban-banfn AND bnfpo = wa_eban-bnfpo AND loekz EQ''

                                                           与ebeln EQ gw_mepoitem-ebeln

                                                           和ebelp EQ gw_mepoitem-ebelp。

  gv_tot_temp = gv_tot_temp-gv_pre_line。
         gv_tot = gv_tot_temp + gw_mepoitem-netwr。


   如果是gw_mepoheader-bsart EQ'XXXX'和gw_mepoheader-ekgrp NE'XXX'。  "如果需要。


           如果wa_eban-rlwrt不是初始的,或者wa_eban-menge不是初始的。

             如果gv_tot GT wa_eban-rlwrt或(gw_mepoitem-menge GT wa_eban-menge)。

               消息e398(00)与'Data MisMatch找到正确的PR Data'空间。

             万一。

           万一。

         ELSEIF gw_mepoheader-bsart均衡器'XXXX'和gw_mepoheader-ekgrp均衡器'XXX'。


           如果wa_eban-rlwrt不是初始的,或者wa_eban-menge不是初始的。


             如果是gv_tot GT wa_eban-rlwrt。  "或(GW_MEPOITEM-MENGE GT WA_EBAN-MENGE)。

               带有"值不能超过PR值"空间的消息e398(00)。

             万一。

           万一。

         万一。

 

一周热门 更多>