ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ZCMM01-27

ZCMM01-27

原创 Linux操作系统 作者:fivezhuo 时间:2010-06-24 19:31:42 0 删除 编辑

*&-----------------------------------------------------
*&      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博客 ” ,链接:https://blog.itpub.net/14397246/viewspace-666180/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: ZCMM01-26
下一篇: ZCMM01-28
请登录后发表评论 登录
全部评论

注册时间:2009-08-01

  • 博文量
    110
  • 访问量
    65200