最近接到需求需要对销售发票(VBRK/VBRP)做字段增强,下面做一下实现这个增强功能的总结。
该功能的主要需求点是通过BAPI:BAPI_BILLINGDOC_CREATEMULTIPLE对增强附加字段赋值,该BAPI表参数内有EXTENSIONIN参数用于存放扩展字段。
参考文档可得增强字段需在BAPE_SDBILLINGDOC/BAPE_SDBILLINGDOCITEM两个结构中附加,分别对应VBRK/VBRP,传入数据通过参考字段(交货单/交货单行)拼接KEY字段值与原数据关联,EXTENSIONIN赋值时需用lo_bapi_mapping->map_to_bapiparex_single类方法转换为XML格式。
按照上述方法传入值后,执行BAPI发现并不能写入值,跟踪BAPI程序,发现附加字段值可以带入内表XKOMFKGN但是不能赋值进内表VBRP。
找寻其他方法无果后只能用增强赋值的方法手动从XKOMFKGN赋值给VBRP了,通过增强可以实现赋值。如有其它实现方法也请告知,感谢!
本次需求未做屏幕增强,屏幕增强可以参考以下链接实现。