物料凭证过账日期修改

物料凭证过账日期修改

增强点:SAPFM07M
增强方式:隐式增强
在这里插入图片描述

完整代码

根据工厂和当前日期从自建表获取对应的凭证日期

ENHANCEMENT 1  Z_MATDOC_BUDAT_SAPFM07M.    "active version
*物料凭证过账日期修改
DATA:LV_BUDAT   TYPE BUDAT,
         LV_DATUMF  TYPE /SCMB/SPLR_DATI_LOG,
         LV_DATUMT  TYPE /SCMB/SPLR_DATI_LOG,
         LV_DATUM   TYPE /SCMB/SPLR_DATI_LOG.

DATA:BEGIN OF LT_FI039 OCCURS 0,
       DATE_FROM TYPE ZTFI039-DATE_FROM,
       TIMS_FROM TYPE ZTFI039-TIMS_FROM,
       DATE_TO   TYPE ZTFI039-DATE_TO,
       TIMS_TO   TYPE ZTFI039-TIMS_TO,
       BUDAT     TYPE ZTFI039-BUDAT,
     END OF LT_FI039,

     LS_FI039 LIKE LINE OF LT_FI039.

        LV_BUDAT = SY-DATUM.

        LV_DATUM = SY-DATUM && SY-UZEIT.

        SELECT DATE_FROM
               TIMS_FROM
               DATE_TO
               TIMS_TO
               BUDAT
          INTO TABLE LT_FI039
          FROM ZTFI039
         WHERE DATE_FROM LE SY-DATUM
           AND DATE_TO   GE SY-DATUM
           AND WERKS           = W-WERKS.

        LOOP AT LT_FI039 INTO LS_FI039.
          CLEAR:LV_DATUMF,LV_DATUMT.
          LV_DATUMF = LS_FI039-DATE_FROM && LS_FI039-TIMS_FROM.
          LV_DATUMT = LS_FI039-DATE_TO && LS_FI039-TIMS_TO.

          IF LV_DATUM >= LV_DATUMF AND LV_DATUM <= LV_DATUMT.
            LV_BUDAT = LS_FI039-BUDAT.
            EXIT.
          ENDIF.
        ENDLOOP.

        IF LV_BUDAT NE SY-DATUM.
            w-budat = LV_BUDAT.
        ENDIF.
ENDENHANCEMENT.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值