在KO88结算成本之后,对特定的内部订单类型,替换默认的统驭科目

BTE增强 1120可以直接解决。

除了BTE1120之外,下面的做法更复杂点。

 

 

 

 

 

 

 

 

 

 

 

 

代码参考:

复制代码
ENHANCEMENT 1  ZEN_KO88.    "active version
*
*  BREAK DS01.

  DATA:e_aufk TYPE AUFK,
       LR_co_acdoc_post_data Type Ref To CL_FINS_ACDOC_POST_DATA,
       LR_IO_ACDOC_DATA      TYPE Ref To CL_FINS_ACDOC_DATA,
       LT_ACDOC_ITEM         TYPE FINST_ACDOC_ITEM.

 IMPORT e_aufk TO e_aufk FROM MEMORY ID 'KO88'.
 IF e_aufk-AUART = '11111111'.

 LR_IO_ACDOC_DATA      = co_acdoc_post_data->MO_ACDOC_DATA.
 LT_ACDOC_ITEM         = LR_IO_ACDOC_DATA->MT_ACDOC_ITEM.

 LOOP AT LT_ACDOC_ITEM ASSIGNING FIELD-SYMBOL(<FS_ITEM>).
   CASE <FS_ITEM>-KOART.
     WHEN 'D'.
      SELECT SINGLE BU_GROUP INTO @DATA(V_BU_GROUP) FROM BUT000 WHERE PARTNER = @<FS_ITEM>-KUNNR.
          IF V_BU_GROUP = 'Z003'.
            <FS_ITEM>-HKONT = '11111111'.
          ELSEIF V_BU_GROUP = 'Z004'.
            <FS_ITEM>-HKONT = '11111111'.
          ENDIF.
          <FS_ITEM>-ALTKT = '0012310000'.

     WHEN 'K'.
      SELECT SINGLE BU_GROUP INTO V_BU_GROUP FROM BUT000 WHERE PARTNER = <FS_ITEM>-LIFNR.
          IF V_BU_GROUP = 'Z003'.
            <FS_ITEM>-HKONT = '111111111'.
          ELSEIF V_BU_GROUP = 'Z004'.
            <FS_ITEM>-HKONT = '111111111'.
          ENDIF.
          <FS_ITEM>-ALTKT = '011111111'.
     WHEN OTHERS.
   ENDCASE.
 ENDLOOP.

 LR_IO_ACDOC_DATA->MT_ACDOC_ITEM = LT_ACDOC_ITEM.
 co_acdoc_post_data->MO_ACDOC_DATA = LR_IO_ACDOC_DATA.

ENDIF.
ENDENHANCEMENT. 
View Code
复制代码

 

 2)

 

 

 

 

 

posted @   蛀牙首领  阅读(495)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示