*&-----------------------------------------------------
*& 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/