点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
T-CODE:VF01
报错消息:'VF' 'I' '147'
消息描述:No open billing quantity has been determined
T100中的英文消息描述:
1 | VF | 147 | 尚未确定未结清开票数量 |
E | VF | 147 | No open billing quantity has been determined |
(基于sales order 开 billing)
然后设置个watch point 变量: XVBFS, 就找到报错点:发现时 VBRP-FKIMG 的值赋的0
然后找到VBRP-FKIMG 赋值地点:
TVCPF-FKMGK 是 copy control 表中的 Billing quantity indicator 字段
这个逻辑的核心 ABAP code
IF tvcpf-fkmgk CA 'BD'. "Lieferung
ld_fklmg = vbapf-erlmenge_l.
ld_fklmg = CL_ABAP_MATH=>ROUND_F_TO_15_DECS( ld_fklmg ).
ELSEIF tvcpf-fkmgk EQ 'E'. "Wareneingang
ld_fklmg = vbapf-wemng.
ELSEIF tvcpf-fkmgk EQ 'F'. "Rechnungseingang
ld_fklmg = vbapf-remng.
ELSEIF tvcpf-fkmgk EQ 'I'. "Bestellung
ld_fklmg = vbapf-vmenge.
ENDIF.
对于三方销售来说,TVCPF-FKMGK这个字段配置的 F
F 是 Invoice receipt quantity less invoiced quantity, 即 开billing的数量要小于 三方销售 的采购订单的IV数量
也就是说这是因为三方销售的采购订单还没有做IV(发票校验),所以不让销售订单开 Billing