SD销售订单BAPI增强

一、需求背景

在销售订单批导时,需要调用BAPI:BAPI_SALESORDER_CREATEFROMDAT2维护成本中心字段,

二、增强实现

 BAPI中没有该字段,需要通过增强的方式导入。通过BAPI的文档,可以看出,抬头部分和行项目字段分别要增强的结构

因为是抬头部分,所以要增强抬头结构,因为VBAK表本身有KOSTL字段,因此不用修改底表

BAPE_VBAK   

BAPE_VBAKX表只用维护KOSTL的更新标识即可

VBAKKOZ  

 VBAKKOZX的KOSTL的组件类型必须用CHAR1或CHAR01

因此在源码中,此处通过组件类型去获取增强字段

BAPI传入参数

   "-----------------------------@斌将军-----------------------------
 DATA:LS_ZVBAK  TYPE BAPE_VBAK,
       LS_ZVBAKX TYPE BAPE_VBAKX.
       LS_EXTEN  TYPE BAPIPAREX,                       "扩展字段
       LT_EXTEN  TYPE STANDARD TABLE OF BAPIPAREX.   "扩展字段      

      CLEAR :LS_ZVBAK,LS_ZVBAKX.
      LS_ZVBAK-VBELN = LS_IN-VBELN.
      LS_ZVBAK-KOSTL = LS_IN-ZRSV04.
      LS_ZVBAKX-VBELN = LS_IN-VBELN.
      LS_ZVBAKX-KOSTL = 'X'.

      CLEAR: LS_EXTEN.
      LS_EXTEN-STRUCTURE = 'BAPE_VBAK'.
      LS_EXTEN-VALUEPART1 = LS_ZVBAK.
      APPEND LS_EXTEN TO LT_EXTEN.

      CLEAR: LS_EXTEN.
      LS_EXTEN-STRUCTURE = 'BAPE_VBAKX'.
      LS_EXTEN-VALUEPART1 = LS_ZVBAKX.
      APPEND LS_EXTEN TO LT_EXTEN.     
"-----------------------------@斌将军-----------------------------

在出口处加入如下代码,将传入的参数进行传递。

根据测试情况,考虑是否需要增强USEREXIT_COBL_RECEIVE_VBAK出口,本例不用增强

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值