• MM06E005 EXIT_SAPMM06E_013 采购订单增强


    MM06E005  EXIT_SAPMM06E_013  更新客户采购文件中的数据

    业务需求:修改PO行项次交货日期联动更改其对应PR的交货日期

     1 *&---------------------------------------------------------------------
     2 *&  包括                ZXM06U44
     3 *&---------------------------------------------------------------------
     4 
     5 IF sy-tcode = 'ME22N' OR sy-tcode = 'ZMMT01'.
     6 
     7   IF i_ekko-bukrs = '7888' AND i_ekko-bsart = 'NB'.
     8     DATA:return    LIKE TABLE OF    bapiret2 WITH HEADER LINE,
     9         pritem  LIKE TABLE OF bapimereqitemimp WITH HEADER LINE,
    10         pritemx    LIKE TABLE OF    bapimereqitemx WITH HEADER LINE.
    11     DATA wa TYPE zpopr_date.    "记录更改记录(自建表)
    12     DATA dats TYPE eindt.    "po时间
    13     IF NOT xekpo[] IS INITIAL OR NOT yekpo[] IS INITIAL.
    14       LOOP AT xekpo WHERE loekz = 'L'.  "删除标志
    15         CLEAR:pritem[],pritem,pritemx[],pritemx,dats,wa.
    16         SELECT SINGLE eindt INTO dats FROM eket  WHERE ebeln = xekpo-ebeln AND ebelp = xekpo-ebelp.       "po交货日期
    17         SELECT SINGLE lfdat INTO wa-prdata FROM eban WHERE banfn = xekpo-banfn  AND bnfpo = xekpo-bnfpo.  "pr交货日期
    18         IF sy-subrc = 0.
    19           IF dats <> wa-prdata.
    20             pritem-deliv_date = dats.
    21             pritem-preq_item = xekpo-bnfpo.
    22             pritemx-preq_item = xekpo-bnfpo.
    23             pritemx-deliv_date = 'X'.
    24             APPEND:pritem,pritemx.
    25 
    26             CALL FUNCTION 'BAPI_PR_CHANGE'
    27               EXPORTING
    28                 number  = xekpo-banfn
    29               TABLES
    30                 return  = return
    31                 pritem  = pritem
    32                 pritemx = pritemx.
    33             READ TABLE return  WITH KEY type = 'E'.
    34             IF sy-subrc = 0.
    35               CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
    36               MESSAGE return-message TYPE 'E'.
    37             ELSE.
    38               CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    39                 EXPORTING
    40                   wait = 'X'.
    41               wa-ebeln = xekpo-ebeln.
    42               wa-ebelp = xekpo-ebelp.
    43               wa-banfn = xekpo-banfn.
    44               wa-bnfpo = xekpo-bnfpo.
    45               wa-prdata_new = dats.
    46               wa-zerdt = sy-datum.
    47               wa-uzeit = sy-uzeit.
    48               wa-uname = sy-uname.
    49               INSERT into zpopr_date values wa.
    50             ENDIF.
    51           ELSE.
    52             CONTINUE.
    53           ENDIF.
    54         ELSE.
    55           CONTINUE.
    56         ENDIF.
    57       ENDLOOP.
    58     ENDIF.
    59   ENDIF.
    60 ENDIF.
    abap菜鸟,记录学习笔记。才疏学浅,如有错误,请直接在评论区留言。
  • 相关阅读:
    【BZOJ4448】【SCOI2015】情报传递
    【BZOJ2006】【NOI2010】超级钢琴
    NOIp2018模拟赛四十五~??
    【BZOJ4940】【YNOI2016】这是我自己的发明
    数据迁移—datax
    DG模拟GAP手动处理
    DG问题:ORA-16416: No viable Physical Standby switchover targets available
    管理和维护DG
    DG问题
    DG概念与机制
  • 原文地址:https://www.cnblogs.com/freeandeasy/p/13685329.html
Copyright © 2020-2023  润新知