SAP SD VF01增强(开票过程中对定价过程里配置的目标条件进行补充和更新)
核心目的:VF01 参考交货单开票时,自动给行项目补充定价条件 ZJ10、ZJ11;条件类型已在定价过程中配置,订单阶段不生成,只在开票时补行。
增强点:PREISFINDUNG_07(ES_SAPLV60A,程序 SAPLV60A,Include LV60AA60)
重要代码:CALL FUNCTION 'PRICING_CHECK' 根据条件类型自动补充带出以下重要信息
| KPOSN | 当前项目号 |
| KSCHL | 条件类型ZJ10/ZJ11 |
| STUNR / ZAEHK | 步骤、计数器 |
| KBETR / KWERT | 条件率、条件值 |
| KPEIN / KMEIN | 定价单位、计量单位 |
| WAERS | 条件币种 |
| KHERK / KSTEU | 条件来源、控制 |
| KINAK / KSTAT | 不活动标识、统计标识 |
实现思路
- 先前台手工在 VF01 条件页新增 ZJ10/ZJ11,确认配置可用
- /H调试发现:手工新增条件时,由
PRICING_CHECK函数完成条件基础属性初始化(STUNR、ZAEHK、KMEIN、KSTAT 等); - 增强内逻辑:遍历需要新增的条件,先检查
XKOMV中该行项目是否已存在该条件;不存在则调用PRICING_CHECK初始化条件结构; - 回填条件单价
KBETR、控制标识KSTEU/KMPRS,追加到XKOMV; - 后续交给标准
PRICING统一计算金额、小计,单据保存后写入 KOMV
现状
手工输入验证
最终增强效果
重要debug节点(XKOMV[])