SAP交货单字段增强

时间:2024-04-08 19:45:56

业务背景

交货单(内向和外向)因实际业务需求append一个或多个附加字段,在使用BAPI维护交货单时,需要对附加字段进行修改。标准参数字段较少,无法满足更改需求,需要通过其他方式实现

实现思路

在使用交货单的修改BAPI(BAPI_*_DELIVERY_CHANGE)时,发现自带的Extension参数,但不知具体用法。经查阅SAP官方社区的帖子,发现两个增强的位置, BADI->SMOD_V50B0001,可以将extension读取到标准程序的全局变量中;在BADI->LE_SHP_DELIVERY_UPDATE中,通过全局变量更新标准结构CS_LIKP、CS_LIPS;

以下就具体实施方法进行简要说明(以内向交货单抬头和行项目为例,外向类似)。

具体步骤

Append字段至标准结构

抬头结构:VBKOK

SAP交货单字段增强

行项目结构

 

 

 

 

 

 

SAP交货单字段增强

2、填充BAPI参数

            参考下图,无特定规则,根据实际需求填充参数,如通过ROW来区分行项目

SAP交货单字段增强

SAP交货单字段增强

 

 

 

 

更新标准字段

复制extension字段至全局变量

实现BADI->SMOD_V50B0001,在方法exit_saplv50i_009(内向交货单更改出口)中:

CS_VBKOK为抬头

CT_VBPOK为行项目

SAP交货单字段增强

从全局变量获取更新参数

实现BADI->LE_SHP_DELIVERY_UPDATE,在对应方法中进行字段更新

SAP交货单字段增强

SAP交货单字段增强

总结

1、注意限制下事物代码,防止影响标准程序

2、标准行项目CT_VBPOK,新增行项目会出现在前面几行,处理时需注意