ZCMM01-27

*&-----------------------------------------------------
*&      Form  get_order_produced_material
*&-----------------------------------------------------
FORM. GET_ORDER_PRODUCED_MATERIAL.
  DATA: T_AUFNR LIKE ZCM03-AUFNR.
  CHECK NOT ZCM03-AUFNR IS INITIAL.
  IF ZCM03-DOCTYPE = 'L'.
    SELECT SINGLE AUFNR INTO T_AUFNR
    FROM AFPO
    WHERE AFPO~KDAUF = L_KDAUF
    AND   AFPO~KDPOS = L_KDPOS .
  ELSE.
    T_AUFNR = ZCM03-AUFNR.
  ENDIF.
  REFRESH ZCM04TAB. CLEAR ZCM04TAB.
  LASTDOCITEM = 0.
  SELECT MATNR PWERK LGORT PSMNG WEMNG AMEIN CHARG
  INTO CORRESPONDING FIELDS OF AFPO
*  FROM afpo WHERE aufnr EQ zcm03-aufnr
  FROM AFPO WHERE AUFNR EQ T_AUFNR
    AND POSNR EQ '0001'.
    ADD 1 TO LASTDOCITEM.
    ZCM04TAB-DOCITEM = LASTDOCITEM.
    ZCM04TAB-MATNR = AFPO-MATNR.
    ZCM04TAB-WERKS = AFPO-PWERK.
    ZCM04TAB-CHARG = AFPO-CHARG.
    ZCM04TAB-LGORT = AFPO-LGORT.
    ZCM04TAB-ERFMG = AFPO-PSMNG - AFPO-WEMNG.
    ZCM04TAB-ERFME = AFPO-AMEIN.
    IF ZCM03-DOCTYPE = 'L'.
      ZCM04TAB-WERKS = T_WERKS.
      SELECT SINGLE CVALUE INTO ZCM04TAB-LGORT
      FROM ZPCECONTROLVALUE
      WHERE WERKS = ZCM04TAB-WERKS
        AND CTYPE = 'RMASLOC'
        AND INDICATOR1 = 'ACT'.
      ZCM04TAB-UMLGO = T_LGORT.
      ZCM04TAB-UMWRK = T_WERKS.
      ZCM04TAB-UMMAT = AFPO-MATNR.
    ENDIF.
    APPEND ZCM04TAB. CLEAR ZCM04TAB.
  ENDSELECT.

  IF SY-SUBRC <> 0 .
    SELECT MATNR PWWRK LGORT GSMNG WEMNG MEINS REVLV
    INTO CORRESPONDING FIELDS OF PLAF
    FROM PLAF
    WHERE PLNUM =  ZCM03-AUFNR+2(10) .
      ADD 1 TO LASTDOCITEM.
      ZCM04TAB-DOCITEM = LASTDOCITEM.
      ZCM04TAB-MATNR = PLAF-MATNR.
      ZCM04TAB-WERKS = PLAF-PWWRK.
      ZCM04TAB-CHARG = PLAF-REVLV.
      ZCM04TAB-LGORT = PLAF-LGORT.
      ZCM04TAB-ERFMG = PLAF-GSMNG - PLAF-WEMNG .
      ZCM04TAB-ERFME = PLAF-MEINS.
      APPEND ZCM04TAB. CLEAR ZCM04TAB.
    ENDSELECT.
  ENDIF.

  DESCRIBE TABLE ZCM04TAB LINES ITEMCTRL-LINES.
  CLEAR T_AUFNR.
ENDFORM.                    " get_order_produced_material

*&-------------------------------------------------
*&      Form  delete_entry
*&-------------------------------------------------
FORM. DELETE_ENTRY.
  LOOP AT ZCM04TAB WHERE SELINDICATOR EQ 'X'.
*Elven20070118 upd    if zcm04tab-persistent eq 'X'.
    IF ZCM04TAB-PERSISTENT EQ 'X' OR TRANSACTION = 'U'.

      ZCM04TAB-SELINDICATOR = SPACE.
      IF ZCM04TAB-MARKDELETION = 'X'.
        ZCM04TAB-MARKDELETION = ''.
      ELSE.
*"check pick id Ariel add 100129
        SELECT SINGLE *
        FROM ZPCEMM052
        WHERE ZDOCNO = ZCM03-DOCNUMBER
        AND ZDOCITEM = ZCM04TAB-DOCITEM
        AND STATUS = 'P'.
        IF SY-SUBRC NE 0.
          ZCM04TAB-MARKDELETION = 'X'.
        ELSE.
      MESSAGE E000 WITH 'Please delete the PKID first!'ZCM04TAB-DOCITEM.
        ENDIF.
      ENDIF.

      MODIFY ZCM04TAB.
    ELSE.
      DELETE ZCM04TAB INDEX SY-TABIX.
    ENDIF.
  ENDLOOP.
  DESCRIBE TABLE ZCM04TAB LINES ITEMCTRL-LINES.
ENDFORM.                    " delete_entry

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值