首页 > 其他分享 >外向交货单增强BADI:LE_SHP_DELIV…

外向交货单增强BADI:LE_SHP_DELIV…

时间:2022-10-12 20:07:36浏览次数:83  
标签:SHP FUNCTION LE ITEMS DELIVERIES DELIVERY ITEM 交货单




"参考销售订单创建外向交货单
    CALL  FUNCTION  'BAPI_OUTB_DELIVERY_CREATE_SLS'
        EXPORTING
            SHIP_POINT                 = IV_SHIP_POINT
            DUE_DATE                   = IV_DUE_DATE
            DEBUG_FLG                 = IV_DEBUG_FLG
            NO_DEQUEUE             = IV_NO_DEQUEUE
        IMPORTING
            DELIVERY                     = EV_DELIVERY
            NUM_DELIVERIES         = EV_NUM_DELIVERIES
        TABLES
            SALES_ORDER_ITEMS  = IT_SALES_ORDER_ITEMS
            SERIAL_NUMBERS       = IT_SERIAL_NUMBERS
            EXTENSION_IN             = IT_EXTENSION_IN
            DELIVERIES                   = IT_DELIVERIES
            CREATED_ITEMS           = IT_CREATED_ITEMS
            EXTENSION_OUT         = IT_EXTENSION_OUT
            RETURN                       = ET_RETURN .





暴露出来的字段太少了



有时候业务会提出很多字段





likp的字段





这个时候就需要在增强里做了





bapi:LE_SHP_DELIVERY_PROC





主要用的方法:



FILL_DELIVERY_HEADER



FILL_DELIVERY_ITEM



CHANGE_DELIVERY_HEADER



CHANGE_DELIVERY_ITEM





我debug的时候, 发现chenge_是都会走的,具体你可以打断点debug试试





另外,打断点,尤其是增强里,强烈建议 用 if 1 = 2 这种,然后打断点



别用break point等硬断点





如果忘记删了,容易有麻烦。







另外,像我这种,掉bapi的时候,需要用增强,那么



各个值的传递,不建议使用ABAP内存或者sap内存





建议使用全局变量,然后封装成FM





全局变量就放着 这个这个fm所在的函数组中就行,只要没重新起进程,这个全局变量跟内存一样能传递



但是只能是call fm,不能submit,submit后就重起进程了。





大致如下:



  "将增强字段值 set到全局 变量
    CALL  FUNCTION  'ZFM_SET_DELIVERY_CREATE_EXTENS'
        EXPORTING
            IS_HEAD_BAPI  = IS_HEADER
        TABLES
            IT_ITEM_BAPI  = IT_ITEM .


    "参考销售订单创建外向交货单
    CALL  FUNCTION 







然后在增强里:



ZIF_EX_BD_LE_DN_PROC~CHANGE_DELIVERY_ITEM.

  "创建外向交货单 增强,修改行项目值
  CALL FUNCTION 'ZFM_DELIVERY_CRET_CHANGE_LIPS'
    CHANGING
      CS_LIPS = CS_LIPS.

ENDMETHOD.





修改的时候,注意的是,如果全局变量 gs_likp 里,赋值了,就替换系统里的原值,



如果没赋值,就用原来的值,



这里就用 下面的方法



​ http://blog.sina.com.cn/s/blog_c0978c9b0102uzm4.html ​



标签:SHP,FUNCTION,LE,ITEMS,DELIVERIES,DELIVERY,ITEM,交货单
From: https://blog.51cto.com/u_15680210/5751425

相关文章