声明:没有找到合适的badi,所以用的隐式增强
需求说明:跨公司间的销售订单开票时,需先开公司间销售发票再开普通销售发票,否则报错不允许通过
1、VF01打断点找到隐式增强点,因为该需求要用到的参数在vbrk和vbrp表,所以先找到vbrk和vbrp的数据是在什么时候带出来的
通过打断点可以看到XVBRK[]和XVBRP[]是在执行完MODULE XKOMFK_ENDE 之后才有的
进到MODULE XKOMFK_ENDE 之后一路跟踪下去最后发现XVBRK[]和XVBRP[]的数据在RV_INVOICE_CREATE里带出来的,所以写隐式增强就可以写到这个BAPI下面去
2、通过上面的步骤可以找到隐式增强写到程序:MV60AF0X_XKOMFK_ENDE
本人这次是写到了该程序的最下面,这时XVBRK[]和XVBRP[]已经有需要的字段数据了
实现效果:
注:VF01可以通过回车进入开票明细,也会进入到该隐式增强的校验逻辑当中