ZCMM01-11

*Elven 20070108 add Check Partno and Batch management indicator
*    SELECT SINGLE MATNR XCHAR INTO (ZCM04WA-MATNR, LBATCH)
*   Echo 20090805 change check point from XCHAR to XCHPF
    SELECT SINGLE MATNR XCHPF INTO (ZCM04WA-MATNR, LBATCH)
    FROM MARC
    WHERE MATNR = ZCM04WA-MATNR
    AND WERKS = ZCM04WA-WERKS .
    IF SY-SUBRC <> 0 .
      MESSAGE E000 WITH 'Material:' ZCM04WA-MATNR
      ZCM04WA-WERKS ' is not correct!'.
    ELSE.
*Echo 20090806 add check valuation type.bn
      IF L_VALUE2 <> '' ."NO VALUATION.KELLY 100608
      ELSE.
        SELECT * FROM MBEW
        WHERE MATNR = ZCM04WA-MATNR
          AND BWKEY = ZCM04WA-WERKS
          AND BWTAR = ZCM04WA-CHARG.
        ENDSELECT.
        IF SY-SUBRC <> 0.
          IF LBATCH NE 'X' AND  ZCM04WA-CHARG NE SPACE.
            MESSAGE E000 WITH 'Material:' ZCM04WA-MATNR
            ZCM04WA-WERKS ' have no Batch management'.
          ELSEIF LBATCH EQ 'X' AND  ZCM04WA-CHARG EQ SPACE.
            MESSAGE E000 WITH 'Material:' ZCM04WA-MATNR
            ZCM04WA-WERKS ' have  Batch management'.

          ENDIF.
        ENDIF.
      ENDIF."KELLY ADD BY 100608   NO VALUATION.
*Echo 20090806 add check valuation type.en
    ENDIF.

*Elven 20070108 add Check Partno and Batch management indicator


*---added by liuchun to Available Qty check for Transfer Order
*---AND MISC ISSUE
    IF  '4' CS ZCM03-DOCTYPE.
      CLEAR: L_RESERVEQTY, L_VAILDQTY, L_AVAILQTY.
*Mark by Candy Hsueh 2010.02.20
*      select sum( zcm04~erfmg ) into l_reserveqty
*      from zcm04
*      inner join zcm03 on zcm03~docnumber eq zcm04~docnumber
**Ting 090715 begin
**      WHERE ZCM03~DOCTYPE IN ('4', '5', '8', 'B') Echo 091112.mark
*      where zcm03~doctype in ('4', '5', '8', 'B', 'E')
**Ting 090715 end
*      and zcm03~mblnr eq ''
*      and zcm03~docstas eq '0'
*      and zcm04~matnr eq zcm04tab-matnr
*      and zcm04~werks eq zcm04tab-werks
*      and zcm04~lgort eq zcm04tab-lgort
*      and zcm04~charg eq zcm04tab-charg
*      and zcm04~markdeletion ne 'X'
*      and zcm03~docnumber <> zcm03-docnumber
*      and zcm04~werks <> zcm04~umwrk.
* End Mark by Candy Hsueh 2010.02.20

* add by candy 2010.02.20 for performance

      SELECT SUM( ZCM04~ERFMG ) INTO L_RESERVEQTY
      FROM ZCM04
       INNER JOIN ZCM03 ON ZCM04~DOCNUMBER = ZCM03~DOCNUMBER
       AND ZCM04~DOCYEAR = ZCM03~DOCYEAR
     WHERE ZCM03~DOCSTAS = '0'
       AND ZCM03~DOCTYPE IN ('4', '5', '8', 'B', 'E')
       AND ZCM04~MATNR = ZCM04TAB-MATNR
       AND ZCM04~WERKS = ZCM04TAB-WERKS
       AND ZCM04~LGORT EQ ZCM04TAB-LGORT
       AND ZCM04~CHARG EQ ZCM04TAB-CHARG
       AND ZCM04~MARKDELETION NE 'X'
       AND ZCM03~DOCNUMBER NE ZCM03-DOCNUMBER
       AND ZCM04~WERKS <> ZCM04~UMWRK.
* end add by candy

      IF LBATCH EQ 'X'.
        SELECT SUM( MCHB~CLABS ) INTO L_VAILDQTY
        FROM MCHB
        WHERE MCHB~MATNR EQ ZCM04TAB-MATNR
        AND MCHB~WERKS EQ ZCM04TAB-WERKS
        AND MCHB~LGORT EQ ZCM04TAB-LGORT
        AND MCHB~CHARG EQ ZCM04TAB-CHARG.
      ELSE.
        SELECT SUM( MARD~LABST ) INTO L_VAILDQTY
        FROM MARD
        WHERE MARD~MATNR EQ ZCM04TAB-MATNR
        AND MARD~WERKS EQ ZCM04TAB-WERKS
        AND MARD~LGORT EQ ZCM04TAB-LGORT.
      ENDIF.

      L_AVAILQTY = L_VAILDQTY - L_RESERVEQTY.

      IF  L_AVAILQTY < ZCM04TAB-ERFMG AND ZCM04TAB-WERKS CS 'TW'
      .
        MESSAGE E000 WITH 'The available qty is less than '
                   ZCM04TAB-ERFMG  ZCM04TAB-MATNR
        ZCM04TAB-CHARG.
      ENDIF.

    ENDIF.
*Ting--------------------091109
*    IF ZCM03-DOCTYPE = '5' OR ZCM03-DOCTYPE = '6'.
    CLEAR L_BUKRS.
    CLEAR M_BUKRS.
    IF NOT ZCM03-KOSTL IS INITIAL.
      SELECT SINGLE BUKRS INTO L_BUKRS FROM T001K
        WHERE BWKEY = ZCM04TAB-WERKS.
      SELECT SINGLE BUKRS INTO M_BUKRS FROM CSKS
        WHERE KOSTL = ZCM03-KOSTL AND BUKRS = L_BUKRS.
      IF SY-SUBRC <> 0.

        MESSAGE E000 WITH 'The plant' ZCM04TAB-WERKS
        'is not match with cost center!'.
      ENDIF.
    ENDIF.
*    ENDIF.
*Ting-------------------091109

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14397246/viewspace-666161/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14397246/viewspace-666161/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值