业务背景
交货单(内向和外向)因实际业务需求append一个或多个附加字段,在使用BAPI维护交货单时,需要对附加字段进行修改。标准参数字段较少,无法满足更改需求,需要通过其他方式实现
实现思路
在使用交货单的修改BAPI(BAPI_*_DELIVERY_CHANGE)时,发现自带的Extension参数,但不知具体用法。经查阅SAP官方社区的帖子,发现两个增强的位置, BADI->SMOD_V50B0001,可以将extension读取到标准程序的全局变量中;在BADI->LE_SHP_DELIVERY_UPDATE中,通过全局变量更新标准结构CS_LIKP、CS_LIPS;
以下就具体实施方法进行简要说明(以内向交货单抬头和行项目为例,外向类似)。
具体步骤
Append字段至标准结构
抬头结构:VBKOK
行项目结构
2、填充BAPI参数
参考下图,无特定规则,根据实际需求填充参数,如通过ROW来区分行项目
更新标准字段
复制extension字段至全局变量
实现BADI->SMOD_V50B0001,在方法exit_saplv50i_009(内向交货单更改出口)中:
CS_VBKOK为抬头
CT_VBPOK为行项目
从全局变量获取更新参数
实现BADI->LE_SHP_DELIVERY_UPDATE,在对应方法中进行字段更新
总结
1、注意限制下事物代码,防止影响标准程序
2、标准行项目CT_VBPOK,新增行项目会出现在前面几行,处理时需注意