我试图阻止用户通过 BAdI 实施、检查行和帐户来保存采购申请。我抛出的错误消息不会停止保存过程,而且我找不到使该行无效的方法,就像我在 PO 中所做的那样。因此,可以保存包含错误数据的 PR。
我扩展了采购申请 BAdI 并IF_EX_ME_PROCESS_REQ_CUST
在ZCL_IM_EI_PROCESS_REQ_CUST
. 在方法 中PROCESS_ITEM
,PROCESS_ACCOUNT
我可以访问帐户和项目的多个导入。但与 PO 不同的是,我找不到使项目无效的方法。使用的所有类都没有提供该功能。
我在 BAPI 中可以访问的 PR 项目对象是接口的IF_PURCHASE_REQUISITION_ITEM
,在函数池中实现为本地类MEREQ
。与具有方法的 PO 项接口相比,此接口具有方法IS_VALID
但不提供任何使无效的内容INVALIDATE
。
编辑
经过更多调试后,似乎失效是通过MY_STATE-BROKEN_RULES
本地类的成员完成的MEREQ/LCL_REQ_ITEM
。知道如何访问它吗?