*&---------------------------------------------------------------------*
*& REPORT ZMM_PO_QUERY
*&
*& REPORTNAME :生産訂單查詢系統
*&---------------------------------------------------------------------*
*& CREATED BY : LIUXINYUAN
*& CREATED DATE : 2015-07-15
*&---------------------------------------------------------------------*
REPORT ZPP_CO_QUERY.
INCLUDE ZPP_CO_QUERY_TOP.
**選擇螢幕
SELECTION- SCREEN BEGIN OF BLOCK MAIN WITH FRAME TITLE TEXT- 001.
SELECT-OPTIONS:S_AUFNR FOR CAUFV-AUFNR.
SELECT-OPTIONS:S_WERKS FOR CAUFV-WERKS.
SELECT-OPTIONS:S_GSTRI FOR CAUFV-GSTRI.
SELECT-OPTIONS:S_GLTRI FOR CAUFV-GLTRI.
SELECTION- SCREEN END OF BLOCK MAIN.
AT SELECTION- SCREEN.
* LOOP AT S_WERKS.
* AUTHORITY-CHECK OBJECT 'Z_MM_003'
* ID 'WERKS' FIELD S_WERKS-LOW.
* IF SY-SUBRC <> 0.
* MESSAGE E019(ZMM001) WITH S_WERKS-LOW.
* ENDIF.
* ENDLOOP.
AT SELECTION- SCREEN OUTPUT.
**主程式
START- OF-SELECTION.
PERFORM FRM_SELECT_DATA.
PERFORM FRM_DISPLAY.
*&---------------------------------------------------------------------*
*& FORM FRM_SELECT_DATA
*&---------------------------------------------------------------------*
* TEXT
*----------------------------------------------------------------------*
* --> P1 TEXT
* <-- P2 TEXT
*----------------------------------------------------------------------*
FORM FRM_SELECT_DATA .
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
TEXT = '資料讀取中.................'.
REFRESH ITAB.
CLEAR ITAB.
"機器 作業類型 1001
"工資 作業類型 1000
"其它 作業類型 1003
SELECT AUFNR
WERKS
AUART
KDAUF "銷售訂單編号
KDPOS "銷售訂單行項目
PLNBEZ
GAMNG
AUFPL
OBJNR
FTRMI
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM CAUFV
WHERE AUFNR IN S_AUFNR
AND WERKS IN S_WERKS
AND GSTRI IN S_GSTRI
AND GLTRI IN S_GLTRI.
IF ITAB[] IS NOT INITIAL.
REFRESH IT_AFVV.
CLEAR IT_AFVV.
SELECT AUFPL
APLZL
VGW01
VGW02
VGW03
INTO TABLE IT_AFVV
FROM AFVV
FOR ALL ENTRIES IN ITAB
WHERE AUFPL = ITAB-AUFPL.
REFRESH IT_AFVC.
CLEAR IT_AFVC.
SELECT AUFPL
APLZL
RUECK
ARBID
INTO TABLE IT_AFVC
FROM AFVC
FOR ALL ENTRIES IN ITAB
WHERE AUFPL = ITAB-AUFPL.
IF IT_AFVC[] IS NOT INITIAL.
REFRESH IT_AFRU.
CLEAR IT_AFRU.
SELECT RUECK
RMZHL
ISM01
ISM02
ISM03
STOKZ
INTO TABLE IT_AFRU
FROM AFRU
FOR ALL ENTRIES IN IT_AFVC
WHERE RUECK = IT_AFVC-RUECK.
REFRESH TIT_AFRU.
CLEAR TIT_AFRU.
LOOP AT IT_AFRU.
TIT_AFRU-RUECK = IT_AFRU-RUECK.
IF IT_AFRU-STOKZ = 'X'.
TIT_AFRU-ISM01 = 0 - IT_AFRU-ISM01.
TIT_AFRU-ISM02 = 0 - IT_AFRU-ISM02.
TIT_AFRU-ISM03 = 0 - IT_AFRU-ISM03.
ELSE.
TIT_AFRU-ISM01 = IT_AFRU-ISM01.
TIT_AFRU-ISM02 = IT_AFRU-ISM02.
TIT_AFRU-ISM03 = IT_AFRU-ISM03.
ENDIF.
COLLECT TIT_AFRU.
CLEAR TIT_AFRU.
ENDLOOP.
REFRESH IT_AFRU_VV.
CLEAR IT_AFRU_VV.
LOOP AT TIT_AFRU.
CLEAR IT_AFVC.
READ TABLE IT_AFVC WITH KEY RUECK = TIT_AFRU-RUECK.
IF SY-SUBRC EQ 0.
IT_AFRU_VV-AUFPL = IT_AFVC-AUFPL.
IT_AFRU_VV-APLZL = IT_AFVC-APLZL.
IT_AFRU_VV-ISM01 = TIT_AFRU-ISM01.
IT_AFRU_VV-ISM02 = TIT_AFRU-ISM02.
IT_AFRU_VV-ISM03 = TIT_AFRU-ISM03.
APPEND IT_AFRU_VV.
CLEAR IT_AFRU_VV.
ENDIF.
ENDLOOP.
ENDIF.
DATA:LV_ARBID TYPE AFVC-ARBID,
LV_ARBPL TYPE CRHD-ARBPL.
LOOP AT ITAB.
* 擷取标準工時
LOOP AT IT_AFVV WHERE AUFPL = ITAB-AUFPL.
CLEAR LV_ARBID.
CLEAR IT_AFVC.
READ TABLE IT_AFVC WITH KEY AUFPL = IT_AFVV-AUFPL APLZL = IT_AFVV-APLZL.
IF SY-SUBRC EQ 0.
LV_ARBID = IT_AFVC-ARBID.
ENDIF.
CLEAR LV_ARBPL.
SELECT SINGLE
ARBPL
INTO LV_ARBPL
FROM CRHD
WHERE OBJTY = 'A'
AND OBJID = LV_ARBID.
DATA:LV_KOSTL TYPE CRCO-KOSTL.
CLEAR LV_KOSTL.
SELECT SINGLE
KOSTL
INTO LV_KOSTL
FROM CRCO
WHERE OBJTY = 'A'
AND OBJID = LV_ARBID.
IF LV_ARBPL = 'STRZP' OR LV_ARBPL+ 0( 2) = 'ZP'.
ITAB-ZPVGW01 = IT_AFVV-VGW01 * ITAB-GAMNG.
ITAB-ZPVGW02 = IT_AFVV-VGW02 * ITAB-GAMNG.
ITAB-ZPVGW03 = IT_AFVV-VGW03 * ITAB-GAMNG.
ITAB-ZPKOSTL = LV_KOSTL.
ELSEIF LV_ARBPL = 'STRTS' OR LV_ARBPL+ 0( 2) = 'TS'.
ITAB-TSVGW01 = IT_AFVV-VGW01 * ITAB-GAMNG.
ITAB-TSVGW02 = IT_AFVV-VGW02 * ITAB-GAMNG.
ITAB-TSVGW03 = IT_AFVV-VGW03 * ITAB-GAMNG.
ITAB-TSKOSTL = LV_KOSTL.
ELSEIF LV_ARBPL = 'STRLH' OR LV_ARBPL+ 0( 2) = 'LH'.
ITAB-LHVGW01 = IT_AFVV-VGW01 * ITAB-GAMNG.
ITAB-LHVGW02 = IT_AFVV-VGW02 * ITAB-GAMNG.
ITAB-LHVGW03 = IT_AFVV-VGW03 * ITAB-GAMNG.
ITAB-LHKOSTL = LV_KOSTL.
ELSEIF LV_ARBPL = 'STRYJ' OR LV_ARBPL+ 0( 2) = 'YJ'.
ITAB-JYVGW01 = IT_AFVV-VGW01 * ITAB-GAMNG.
ITAB-JYVGW02 = IT_AFVV-VGW02 * ITAB-GAMNG.
ITAB-JYVGW03 = IT_AFVV-VGW03 * ITAB-GAMNG.
ITAB-JYKOSTL = LV_KOSTL.
ELSEIF LV_ARBPL = 'STRBZ' OR LV_ARBPL+ 0( 2) = 'BZ'.
ITAB-BZVGW01 = IT_AFVV-VGW01 * ITAB-GAMNG.
ITAB-BZVGW02 = IT_AFVV-VGW02 * ITAB-GAMNG.
ITAB-BZVGW03 = IT_AFVV-VGW03 * ITAB-GAMNG.
ITAB-BZKOSTL = LV_KOSTL.
ENDIF.
***********下面代碼依據工單下單的工時,查找标準工時的成本的機關價格,以及計算成本
* CLEAR LV_GJAHR. CLEAR LV_MONTH.
* LV_GJAHR = ITAB-FTRMI+0(4).
* LV_MONTH = ITAB-FTRMI+4(2).
* REFRESH IT_CRCO.
* CLEAR IT_CRCO.
*
* SELECT KOKRS
* KOSTL
* LSTAR
* INTO TABLE IT_CRCO
* FROM CRCO
* WHERE OBJTY = 'A'
* AND OBJID = LV_ARBID.
* LOOP AT IT_CRCO.
* CONCATENATE 'KL' IT_CRCO-KOKRS IT_CRCO-KOSTL IT_CRCO-LSTAR INTO IT_CRCO-OBJNR.
* MODIFY IT_CRCO.
* CLEAR IT_CRCO.
* ENDLOOP.
*
*
*
* IF IT_CRCO[] IS NOT INITIAL.
* SELECT LEDNR
* OBJNR
* GJAHR
* WRTTP
* VERSN
* TARKZ
* PERBL
*
* TKG001
* TKG002
* TKG003
* TKG004
* TKG005
* TKG006
* TKG007
* TKG008
* TKG009
* TKG010
* TKG011
* TKG012
*
* TKE001
* TKE002
* TKE003
* TKE004
* TKE005
* TKE006
* TKE007
* TKE008
* TKE009
* TKE010
* TKE011
* TKE012
* INTO TABLE IT_COST
* FROM COST
* FOR ALL ENTRIES IN IT_CRCO
* WHERE LEDNR = '00'
* AND OBJNR = IT_CRCO-OBJNR
* AND GJAHR = LV_GJAHR
* AND TARKZ = '001'.
*
* CLEAR LV_TKG01.
* CLEAR LV_TKE01.
* CLEAR LV_TKG02.
* CLEAR LV_TKE02.
* CLEAR LV_TKG03.
* CLEAR LV_TKE03.
*
* LOOP AT IT_COST.
* IF IT_COST+17(4) = '1001'.
* IF LV_MONTH = '01'.
* LV_TKG01 = IT_COST-TKG001.
* LV_TKE01 = IT_COST-TKE001.
* ELSEIF LV_MONTH = '02'.
* LV_TKG01 = IT_COST-TKG002.
* LV_TKE01 = IT_COST-TKE002.
* ELSEIF LV_MONTH = '03'.
* LV_TKG01 = IT_COST-TKG003.
* LV_TKE01 = IT_COST-TKE003.
* ELSEIF LV_MONTH = '04'.
* LV_TKG01 = IT_COST-TKG004.
* LV_TKE01 = IT_COST-TKE004.
* ELSEIF LV_MONTH = '05'.
* LV_TKG01 = IT_COST-TKG005.
* LV_TKE01 = IT_COST-TKE005.
* ELSEIF LV_MONTH = '06'.
* LV_TKG01 = IT_COST-TKG006.
* LV_TKE01 = IT_COST-TKE006.
* ELSEIF LV_MONTH = '07'.
* LV_TKG01 = IT_COST-TKG007.
* LV_TKE01 = IT_COST-TKE007.
* ELSEIF LV_MONTH = '08'.
* LV_TKG01 = IT_COST-TKG008.
* LV_TKE01 = IT_COST-TKE008.
* ELSEIF LV_MONTH = '09'.
* LV_TKG01 = IT_COST-TKG009.
* LV_TKE01 = IT_COST-TKE009.
* ELSEIF LV_MONTH = '10'.
* LV_TKG01 = IT_COST-TKG010.
* LV_TKE01 = IT_COST-TKE010.
* ELSEIF LV_MONTH = '11'.
* LV_TKG01 = IT_COST-TKG011.
* LV_TKE01 = IT_COST-TKE011.
* ELSEIF LV_MONTH = '12'.
* LV_TKG01 = IT_COST-TKG012.
* LV_TKE01 = IT_COST-TKE012.
* ENDIF.
*
* ELSEIF IT_COST+17(4) = '1000'.
* IF LV_MONTH = '01'.
* LV_TKG02 = IT_COST-TKG001.
* LV_TKE02 = IT_COST-TKE001.
* ELSEIF LV_MONTH = '02'.
* LV_TKG02 = IT_COST-TKG002.
* LV_TKE02 = IT_COST-TKE002.
* ELSEIF LV_MONTH = '03'.
* LV_TKG02 = IT_COST-TKG003.
* LV_TKE02 = IT_COST-TKE003.
* ELSEIF LV_MONTH = '04'.
* LV_TKG02 = IT_COST-TKG004.
* LV_TKE02 = IT_COST-TKE004.
* ELSEIF LV_MONTH = '05'.
* LV_TKG02 = IT_COST-TKG005.
* LV_TKE02 = IT_COST-TKE005.
* ELSEIF LV_MONTH = '06'.
* LV_TKG02 = IT_COST-TKG006.
* LV_TKE02 = IT_COST-TKE006.
* ELSEIF LV_MONTH = '07'.
* LV_TKG02 = IT_COST-TKG007.
* LV_TKE02 = IT_COST-TKE007.
* ELSEIF LV_MONTH = '08'.
* LV_TKG02 = IT_COST-TKG008.
* LV_TKE02 = IT_COST-TKE008.
* ELSEIF LV_MONTH = '09'.
* LV_TKG02 = IT_COST-TKG009.
* LV_TKE02 = IT_COST-TKE009.
* ELSEIF LV_MONTH = '10'.
* LV_TKG02 = IT_COST-TKG010.
* LV_TKE02 = IT_COST-TKE010.
* ELSEIF LV_MONTH = '11'.
* LV_TKG02 = IT_COST-TKG011.
* LV_TKE02 = IT_COST-TKE011.
* ELSEIF LV_MONTH = '12'.
* LV_TKG02 = IT_COST-TKG012.
* LV_TKE02 = IT_COST-TKE012.
* ENDIF.
* ELSEIF IT_COST+17(4) = '1003'.
* IF LV_MONTH = '01'.
* LV_TKG03 = IT_COST-TKG001.
* LV_TKE03 = IT_COST-TKE001.
* ELSEIF LV_MONTH = '02'.
* LV_TKG03 = IT_COST-TKG002.
* LV_TKE03 = IT_COST-TKE002.
* ELSEIF LV_MONTH = '03'.
* LV_TKG03 = IT_COST-TKG003.
* LV_TKE03 = IT_COST-TKE003.
* ELSEIF LV_MONTH = '04'.
* LV_TKG03 = IT_COST-TKG004.
* LV_TKE03 = IT_COST-TKE004.
* ELSEIF LV_MONTH = '05'.
* LV_TKG03 = IT_COST-TKG005.
* LV_TKE03 = IT_COST-TKE005.
* ELSEIF LV_MONTH = '06'.
* LV_TKG03 = IT_COST-TKG006.
* LV_TKE03 = IT_COST-TKE006.
* ELSEIF LV_MONTH = '07'.
* LV_TKG03 = IT_COST-TKG007.
* LV_TKE03 = IT_COST-TKE007.
* ELSEIF LV_MONTH = '08'.
* LV_TKG03 = IT_COST-TKG008.
* LV_TKE03 = IT_COST-TKE008.
* ELSEIF LV_MONTH = '09'.
* LV_TKG03 = IT_COST-TKG009.
* LV_TKE03 = IT_COST-TKE009.
* ELSEIF LV_MONTH = '10'.
* LV_TKG03 = IT_COST-TKG010.
* LV_TKE03 = IT_COST-TKE010.
* ELSEIF LV_MONTH = '11'.
* LV_TKG03 = IT_COST-TKG011.
* LV_TKE03 = IT_COST-TKE011.
* ELSEIF LV_MONTH = '12'.
* LV_TKG03 = IT_COST-TKG012.
* LV_TKE03 = IT_COST-TKE012.
* ENDIF.
* ENDIF.
* ENDLOOP.
* ENDIF.
*
*
* ITAB-ZPVGW01 * LV_TKG01 / LV_TKE01
* ITAB-ZPVGW02 * LV_TKG02 / LV_TKE01
* ITAB-ZPVGW03 * LV_TKG03 / LV_TKE01
*
* ITAB-TSVGW01 * LV_TKG01 / LV_TKE01
* ITAB-TSVGW02 * LV_TKG02 / LV_TKE01
* ITAB-TSVGW03 * LV_TKG03 / LV_TKE01
*
* ITAB-LHVGW01 * LV_TKG01 / LV_TKE01
* ITAB-LHVGW02 * LV_TKG02 / LV_TKE01
* ITAB-LHVGW03 * LV_TKG03 / LV_TKE01
*
* ITAB-JYVGW01 * LV_TKG01 / LV_TKE01
* ITAB-JYVGW02 * LV_TKG02 / LV_TKE01
* ITAB-JYVGW03 * LV_TKG03 / LV_TKE01
*
* ITAB-BZVGW01 * LV_TKG01 / LV_TKE01
* ITAB-BZVGW02 * LV_TKG02 / LV_TKE01
* ITAB-BZVGW03 * LV_TKG03 / LV_TKE01
*
************下面代碼依據工單下單的工時,查找标準工時的成本的機關價格,以及計算成本
ENDLOOP.
* 擷取實際工時
LOOP AT IT_AFRU_VV WHERE AUFPL = ITAB-AUFPL.
CLEAR LV_ARBID.
CLEAR IT_AFVC.
READ TABLE IT_AFVC WITH KEY AUFPL = IT_AFRU_VV-AUFPL APLZL = IT_AFRU_VV-APLZL.
IF SY-SUBRC EQ 0.
LV_ARBID = IT_AFVC-ARBID.
ENDIF.
CLEAR LV_ARBPL.
SELECT SINGLE
ARBPL
INTO LV_ARBPL
FROM CRHD
WHERE OBJTY = 'A'
AND OBJID = LV_ARBID.
IF LV_ARBPL = 'STRZP' OR LV_ARBPL+ 0( 2) = 'ZP'.
ITAB-BZPVGW01 = IT_AFRU_VV-ISM01.
ITAB-BZPVGW02 = IT_AFRU_VV-ISM02.
ITAB-BZPVGW03 = IT_AFRU_VV-ISM03.
ELSEIF LV_ARBPL = 'STRTS' OR LV_ARBPL+ 0( 2) = 'TS'.
ITAB-BTSVGW01 = IT_AFRU_VV-ISM01.
ITAB-BTSVGW02 = IT_AFRU_VV-ISM02.
ITAB-BTSVGW03 = IT_AFRU_VV-ISM03.
ELSEIF LV_ARBPL = 'STRLH' OR LV_ARBPL+ 0( 2) = 'LH'.
ITAB-BLHVGW01 = IT_AFRU_VV-ISM01.
ITAB-BLHVGW02 = IT_AFRU_VV-ISM02.
ITAB-BLHVGW03 = IT_AFRU_VV-ISM03.
ELSEIF LV_ARBPL = 'STRYJ' OR LV_ARBPL+ 0( 2) = 'YJ'.
ITAB-BJYVGW01 = IT_AFRU_VV-ISM01.
ITAB-BJYVGW02 = IT_AFRU_VV-ISM02.
ITAB-BJYVGW03 = IT_AFRU_VV-ISM03.
ELSEIF LV_ARBPL = 'STRBZ' OR LV_ARBPL+ 0( 2) = 'BZ'.
ITAB-BBZVGW01 = IT_AFRU_VV-ISM01.
ITAB-BBZVGW02 = IT_AFRU_VV-ISM02.
ITAB-BBZVGW03 = IT_AFRU_VV-ISM03.
ENDIF.
ENDLOOP.
MODIFY ITAB.
CLEAR ITAB.
ENDLOOP.
ENDIF.
DATA: T_STATUS LIKE BSVX-STTXT.
LOOP AT ITAB.
CALL FUNCTION 'STATUS_TEXT_EDIT'
EXPORTING
* CLIENT = SY-MANDT
* FLG_USER_STAT = ' '
OBJNR = ITAB-OBJNR " 單據号碼
* ONLY_ACTIVE = 'X'
SPRAS = 'E'
* BYPASS_BUFFER = ' '
IMPORTING
LINE = ITAB-XTZT. " 傳回狀态
SELECT SINGLE
MAKTX
INTO ITAB-MAKTX
FROM MAKT
WHERE MATNR = ITAB-PLNBEZ
AND SPRAS = SY-LANGU.
SELECT SINGLE
BKLAS
INTO ITAB-BKLAS
FROM MBEW
WHERE MATNR = ITAB-PLNBEZ
AND BWKEY = ITAB-WERKS.
SELECT SINGLE
MTART
INTO ITAB-MTART
FROM MARA
WHERE MATNR = ITAB-PLNBEZ.
SELECT SINGLE
VKBUR
INTO ITAB-VKBUR
FROM VBAK
WHERE VBELN = ITAB-KDAUF.
SELECT SINGLE
WEMNG
INTO ITAB-GWEMG
FROM AFPO
WHERE AUFNR = ITAB-AUFNR.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = ITAB-AUFNR
IMPORTING
OUTPUT = ITAB-AUFNR.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = ITAB-PLNBEZ
IMPORTING
OUTPUT = ITAB-PLNBEZ.
MODIFY ITAB.
CLEAR ITAB.
ENDLOOP.
ENDFORM. " FRM_SELECT_DATA
*&---------------------------------------------------------------------*
*& FORM DISPLAY_DATA
*&---------------------------------------------------------------------*
* TEXT
*----------------------------------------------------------------------*
* --> P1 TEXT
* <-- P2 TEXT
*----------------------------------------------------------------------*
FORM FRM_DISPLAY .
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'AUFNR'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '生産訂單編号'.
FIELDCAT-SELTEXT_M = '生産訂單編号'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'XTZT'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '系統狀态'.
FIELDCAT-SELTEXT_M = '系統狀态'.
FIELDCAT-OUTPUTLEN = 20.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'WERKS'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '工廠'.
FIELDCAT-SELTEXT_M = '工廠'.
FIELDCAT-OUTPUTLEN = 10.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'AUART'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '訂單類型'.
FIELDCAT-SELTEXT_M = '訂單類型'.
FIELDCAT-OUTPUTLEN = 8.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'KDAUF'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '銷售訂單編号'.
FIELDCAT-SELTEXT_M = '銷售訂單編号'.
FIELDCAT-OUTPUTLEN = 12.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'KDPOS'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '銷售訂單行項目'.
FIELDCAT-SELTEXT_M = '銷售訂單行項目'.
FIELDCAT-OUTPUTLEN = 12.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'VKBUR'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '辦事處'.
FIELDCAT-SELTEXT_M = '辦事處'.
FIELDCAT-OUTPUTLEN = 12.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'PLNBEZ'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '物料編号'.
FIELDCAT-SELTEXT_M = '物料編号'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'MAKTX'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '物料描寫叙述'.
FIELDCAT-SELTEXT_M = '物料描寫叙述'.
FIELDCAT-OUTPUTLEN = 35.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'GAMNG'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '訂單數量'.
FIELDCAT-SELTEXT_M = '訂單數量'.
FIELDCAT-OUTPUTLEN = 12.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'GWEMG'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '确認數量'.
FIELDCAT-SELTEXT_M = '确認數量'.
FIELDCAT-OUTPUTLEN = 12.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BKLAS'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '評估類'.
FIELDCAT-SELTEXT_M = '評估類'.
FIELDCAT-OUTPUTLEN = 10.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'MTART'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '物料類型'.
FIELDCAT-SELTEXT_M = '物料類型'.
FIELDCAT-OUTPUTLEN = 10.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'ZPVGW01'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '裝配-折舊标準工時'.
FIELDCAT-SELTEXT_M = '裝配-折舊标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'ZPVGW02'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '裝配-工資标準工時'.
FIELDCAT-SELTEXT_M = '裝配-工資标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'ZPVGW03'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '裝配-其它标準工時'.
FIELDCAT-SELTEXT_M = '裝配-其它标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BZPVGW01'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '裝配-折舊實際工時'.
FIELDCAT-SELTEXT_M = '裝配-折舊實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BZPVGW02'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '裝配-工資實際工時'.
FIELDCAT-SELTEXT_M = '裝配-工資實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BZPVGW03'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '裝配-其它實際工時'.
FIELDCAT-SELTEXT_M = '裝配-其它實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'ZPKOSTL'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '裝配-成本中心'.
FIELDCAT-SELTEXT_M = '裝配-成本中心'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'TSVGW01'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '調試-折舊标準工時'.
FIELDCAT-SELTEXT_M = '調試-折舊标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'TSVGW02'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '調試-工資标準工時'.
FIELDCAT-SELTEXT_M = '調試-工資标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'TSVGW03'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '調試-其它标準工時'.
FIELDCAT-SELTEXT_M = '調試-其它标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BTSVGW01'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '調試-折舊實際工時'.
FIELDCAT-SELTEXT_M = '調試-折舊實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BTSVGW02'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '調試-工資實際工時'.
FIELDCAT-SELTEXT_M = '調試-工資實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BTSVGW03'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '調試-其它實際工時'.
FIELDCAT-SELTEXT_M = '調試-其它實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'TSKOSTL'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '調試-成本中心'.
FIELDCAT-SELTEXT_M = '調試-成本中心'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'LHVGW01'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '老化-折舊标準工時'.
FIELDCAT-SELTEXT_M = '老化-折舊标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'LHVGW02'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '老化-工資标準工時'.
FIELDCAT-SELTEXT_M = '老化-工資标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'LHVGW03'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '老化-其它标準工時'.
FIELDCAT-SELTEXT_M = '老化-其它标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BLHVGW01'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '老化-折舊實際工時'.
FIELDCAT-SELTEXT_M = '老化-折舊實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BLHVGW02'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '老化-工資實際工時'.
FIELDCAT-SELTEXT_M = '老化-工資實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BLHVGW03'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '老化-其它實際工時'.
FIELDCAT-SELTEXT_M = '老化-其它實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'LHKOSTL'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '老化-成本中心'.
FIELDCAT-SELTEXT_M = '老化-成本中心'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'JYVGW01'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '檢驗-折舊标準工時'.
FIELDCAT-SELTEXT_M = '檢驗-折舊标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'JYVGW02'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '檢驗-工資标準工時'.
FIELDCAT-SELTEXT_M = '檢驗-工資标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'JYVGW03'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '檢驗-其它标準工時'.
FIELDCAT-SELTEXT_M = '檢驗-其它标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BJYVGW01'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '檢驗-折舊實際工時'.
FIELDCAT-SELTEXT_M = '檢驗-折舊實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BJYVGW02'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '檢驗-工資實際工時'.
FIELDCAT-SELTEXT_M = '檢驗-工資實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BJYVGW03'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '檢驗-其它實際工時'.
FIELDCAT-SELTEXT_M = '檢驗-其它實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'JYKOSTL'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '檢驗-成本中心'.
FIELDCAT-SELTEXT_M = '檢驗-成本中心'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BZVGW01'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '包裝-折舊标準工時'.
FIELDCAT-SELTEXT_M = '包裝-折舊标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BZVGW02'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '包裝-工資标準工時'.
FIELDCAT-SELTEXT_M = '包裝-工資标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BZVGW03'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '包裝-其它标準工時'.
FIELDCAT-SELTEXT_M = '包裝-其它标準工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BBZVGW01'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '包裝-折舊實際工時'.
FIELDCAT-SELTEXT_M = '包裝-折舊實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BBZVGW02'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '包裝-工資實際工時'.
FIELDCAT-SELTEXT_M = '包裝-工資實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BBZVGW03'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '包裝-其它實際工時'.
FIELDCAT-SELTEXT_M = '包裝-其它實際工時'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-FIELDNAME = 'BZKOSTL'.
FIELDCAT-TABNAME = 'ITAB'.
FIELDCAT-SELTEXT_S = '包裝-成本中心'.
FIELDCAT-SELTEXT_M = '包裝-成本中心'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT.
* CLEAR FIELDCAT.
* FIELDCAT-FIELDNAME = 'ZJVGW01'.
* FIELDCAT-TABNAME = 'ITAB'.
* FIELDCAT-SELTEXT_S = '折舊标準成本'.
* FIELDCAT-SELTEXT_M = '折舊标準成本'.
* FIELDCAT-OUTPUTLEN = 18.
* APPEND FIELDCAT.
*
*
* CLEAR FIELDCAT.
* FIELDCAT-FIELDNAME = 'GZVGW02'.
* FIELDCAT-TABNAME = 'ITAB'.
* FIELDCAT-SELTEXT_S = '工資标準成本'.
* FIELDCAT-SELTEXT_M = '工資标準成本'.
* FIELDCAT-OUTPUTLEN = 18.
* APPEND FIELDCAT.
*
* CLEAR FIELDCAT.
* FIELDCAT-FIELDNAME = 'QTVGW03'.
* FIELDCAT-TABNAME = 'ITAB'.
* FIELDCAT-SELTEXT_S = '其它标準成本'.
* FIELDCAT-SELTEXT_M = '其它标準成本'.
* FIELDCAT-OUTPUTLEN = 18.
* APPEND FIELDCAT.
*
*
*
* CLEAR FIELDCAT.
* FIELDCAT-FIELDNAME = 'BZJVGW01'.
* FIELDCAT-TABNAME = 'ITAB'.
* FIELDCAT-SELTEXT_S = '折舊實際成本'.
* FIELDCAT-SELTEXT_M = '折舊實際成本'.
* FIELDCAT-OUTPUTLEN = 18.
* APPEND FIELDCAT.
*
*
* CLEAR FIELDCAT.
* FIELDCAT-FIELDNAME = 'BGZVGW02'.
* FIELDCAT-TABNAME = 'ITAB'.
* FIELDCAT-SELTEXT_S = '工資實際成本'.
* FIELDCAT-SELTEXT_M = '工資實際成本'.
* FIELDCAT-OUTPUTLEN = 18.
* APPEND FIELDCAT.
*
* CLEAR FIELDCAT.
* FIELDCAT-FIELDNAME = 'BQTVGW03'.
* FIELDCAT-TABNAME = 'ITAB'.
* FIELDCAT-SELTEXT_S = '其它實際成本'.
* FIELDCAT-SELTEXT_M = '其它實際成本'.
* FIELDCAT-OUTPUTLEN = 18.
* APPEND FIELDCAT.
* LAYOUT-colwidth_optimize = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IT_FIELDCAT = FIELDCAT[]
I_CALLBACK_PF_STATUS_SET = 'SET_PF'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_BACKGROUND_ID = 'ALV_BACKGROUND'
IS_LAYOUT = LAYOUT
I_DEFAULT = 'X'
I_SAVE = 'A'
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
OTHERS = 2.
ENDFORM. " DISPLAY_DATA
*&---------------------------------------------------------------------*
*& FORM STANDARD_FULLSCREEN
*&---------------------------------------------------------------------*
* TEXT
*----------------------------------------------------------------------*
FORM SET_PF USING RT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'STANDARD_FULLSCREEN'.
ENDFORM. "SET_STATUS
轉載于:https://www.cnblogs.com/jzdwajue/p/6714580.html