VA01/VA02创建或修改SO时候,在点击“保存”按钮的节点,客户需求对一些约束条件进行检查,此处以 SO行项目对应的“利润中心”字段必输为例。
增强点位置:对应FORM USEREXIT_SAVE_DOCUMENT_PREPARE
用途:此接口是用途最广泛的接口。可以用来对销售定单中的数据进行最后的修改。当此接口被Call到的时候,这张单子的数据已经完整,只有订单号没有被决定(仅限于创建订单的时候)。因此在此接口中所作的修改一般是不会有后续检查来避免不一致的。
Call:此接口在订单被保存之前在BELEG_SICHERN (SAPMV45A)中被Call到。
数据读取:数据被保存在内表XVBAP,可以从此内表读取到维护的行项目值。
注意点:当行项目维护多条数据后,删除其中的一条或者多条,被删除的行项目依在内表XVBAP中,如果我们对数据的约束条件进行判断,会发现一个现象:未删除的行项目满足字段必输的条件了,系统依然给出提示:“请维护利润中心”
为了解决上述问题,方法如下:
READ TABLE xvbap WITH KEY prctr = space updkz = 'I'. "updkz = D 删除行 updkz = I 插入行