• 销售订单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出口,本例不用增强

  • 相关阅读:
    http
    python的列表生成式
    flask的登陆验证
    脚本更新流程
    k8s中job和pod的区别
    k8s中一些常见概念
    supervisord部署和使用
    flask中config
    python类的继承super()的使用
    python中类的继承
  • 原文地址:https://www.cnblogs.com/BinGeneral/p/15570798.html
Copyright © 2020-2023  润新知