ZCMM01-26

   WHEN OTHERS.

      LOOP AT RESBTAB WHERE SHKZG = 'H'.
        IF G_SLOC NE 'A' OR RESBTAB-ERFMG > 0 .   "open mtl or qty>0
*     IF G_SLOC NE 'A'."changed byLIUCHUN070607
          ADD 1 TO LASTDOCITEM.
          ZCM04TAB-DOCITEM = LASTDOCITEM.
          ZCM04TAB-MATNR = RESBTAB-MATNR.
          ZCM04TAB-WERKS = RESBTAB-WERKS.

*    SELECT SINGLE lgfsb FROM marc
*    INTO zcm04tab-lgort
*    WHERE matnr = resbtab-matnr
*    AND werks = resbtab-werks.

          ZCM04TAB-LGORT = RESBTAB-LGORT.
          ZCM04TAB-CHARG = RESBTAB-CHARG .
          ZCM04TAB-ERFMG = RESBTAB-ERFMG.
          ZCM04TAB-ERFME = RESBTAB-MEINS.

          ZCM04TAB-RSNUM = RESBTAB-RSNUM.
          ZCM04TAB-RSPOS = RESBTAB-RSPOS.
****lbg20080505.add.sn
          ZCM04TAB-PLFMG = RESBTAB-ERFMG.
*Yuan-Yuan 20091029 add.sn
          ZCM04TAB-ALPGR = RESBTAB-ALPGR.
*Yuan-Yuan 20091029 add.en
*Ariel add.sn 100412
          ZCM04TAB-ZALPGR = RESBTAB-ZALPGR.
*Ariel add.en 100412
          CLEAR L_MPQ.
          L_CNT = 0.
          CLEAR L_MPQCNT.
          CLEAR L_MPQCNT2.
          SELECT SINGLE VALUE INTO C_MPQCNT FROM ZMM048
          WHERE WERKS = RESBTAB-WERKS AND BJECT = 'ISSUEROUND'.
          L_MPQCNT = C_MPQCNT.
          IF L_MPQCNT > 0.
            SELECT  BSTRF INTO L_MPQ FROM MARC WHERE
            MATNR = RESBTAB-MATNR AND WERKS = RESBTAB-WERKS.

              SELECT COUNT(*) INTO L_MPQCNT2 FROM RESB
              INNER JOIN AFKO ON RESB~RSNUM = AFKO~RSNUM
              WHERE AFKO~AUFNR EQ ZCM03-AUFNR
              AND RESB~MATNR EQ RESBTAB-MATNR
              AND RESB~CHARG EQ RESBTAB-CHARG.

              SELECT SINGLE RESB~ESMNG"LBG20080419.ADD ying fa qty
              INTO L_QPA FROM RESB
              INNER JOIN AFKO ON RESB~RSNUM = AFKO~RSNUM
              WHERE AFKO~AUFNR EQ ZCM03-AUFNR
              AND RESB~MATNR EQ RESBTAB-MATNR
              AND RESB~CHARG EQ RESBTAB-CHARG.
            ENDSELECT.
            IF L_MPQ > 1 AND RESBTAB-ERFMG > 0.
              IF L_QPA < 10."QPA<10 fa 1 mpq
                ZCM04TAB-ERFMG = L_MPQ * L_MPQCNT * L_MPQCNT2 .
              ELSE."QPA>=10 fa 5 mpq
                ZCM04TAB-ERFMG = L_MPQ * 5 * L_MPQCNT * L_MPQCNT2.
              ENDIF.
***lbg20080514.add.sn
              L_REQUIREQTY = 0.
              F_RESULT = RESBTAB-ERFMG / L_MPQ .
              I_RESULT = F_RESULT.
              IF F_RESULT > I_RESULT.
                I_RESULT = I_RESULT + 1.
              ENDIF.
              L_REQUIREQTY = I_RESULT * L_MPQ .
              IF ZCM04TAB-ERFMG > L_REQUIREQTY.
                ZCM04TAB-ERFMG = L_REQUIREQTY.
              ENDIF.
***lbg20080514.add.en
            ELSE.
              ZCM04TAB-ERFMG = RESBTAB-ERFMG.
            ENDIF.
          ENDIF.
****lbg20080505.add.en
          APPEND ZCM04TAB. CLEAR ZCM04TAB.
        ENDIF.
      ENDLOOP.
  ENDCASE.
  DESCRIBE TABLE ZCM04TAB LINES ITEMCTRL-LINES.
ENDFORM.                    " get_order_components

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值