Compare Production Confirmation against Planned by Work Centre
Compare Production Confirmation against Planned by Work Centre
Compare Production Confirmation against Planned by Work
Centre
A D V E R T I S E M E N T
*
* Compare Production Confirmation against Planned by Work Centre
*
REPORT ZASSEMBLY_EFFICIENCY LINE-SIZE 255 NO STANDARD PAGE HEADING
LINE-COUNT 065(001).
TABLES: AFKO, "Order header data PP orders
AFPO, "Order item
AFRU, "Order completion confirmations
AUFM, "Goods movements for order
AFVV, "DB structure of the quantities/dates/values in the oper
MARA. "General Material Data
DATA: BEGIN OF INT_EFF OCCURS 100,
MATNR TYPE AFKO-STLBEZ,
MTART TYPE MARA-MTART,
AUFNR TYPE AFKO-AUFNR,
GSTRI TYPE AFKO-GSTRI,
GLTRI TYPE AFKO-GLTRI,
GAMNG(9) TYPE C,
MENGE(9) TYPE C,
PLN01(9) TYPE C,
ISM01(7) TYPE P DECIMALS 2,
DAUAT TYPE AFPO-DAUAT,
END OF INT_EFF.
DATA: FDATE LIKE SY-DATUM,
LDATE LIKE SY-DATUM.
DATA: YGAMNG(7) TYPE P DECIMALS 2,
YMENGE(7) TYPE P DECIMALS 2,
YPLN01(7) TYPE P DECIMALS 2,
XMENGE(7) TYPE P DECIMALS 0,
XSTDRATE(7) TYPE P DECIMALS 2,
XACTRATE(7) TYPE P DECIMALS 2,
XLINEEFF(7) TYPE P DECIMALS 2,
XUTILISA(7) TYPE P DECIMALS 2.
SELECT-OPTIONS XWERKS FOR AFRU-WERKS DEFAULT 'SAP'.
SELECT-OPTIONS XBUDAT FOR AFRU-BUDAT.
SELECT-OPTIONS XAUFNR FOR AFRU-AUFNR.
START-OF-SELECTION.
SELECT * FROM AFRU WHERE BUDAT IN XBUDAT
AND WERKS IN XWERKS
AND AUFNR IN XAUFNR.
CLEAR AFPO.
SELECT SINGLE * FROM AFPO WHERE AUFNR = AFRU-AUFNR.
CLEAR AFKO.
SELECT SINGLE * FROM AFKO WHERE AUFNR = AFRU-AUFNR.
CLEAR MARA.
SELECT SINGLE * FROM MARA WHERE LVORM = ''
AND MATNR = AFKO-STLBEZ.
CLEAR AFVV.
SELECT SINGLE * FROM AFVV WHERE AUFPL = AFRU-AUFPL
AND APLZL = AFRU-APLZL.
IF AFVV-VGE01 = 'MIN'.
AFVV-VGW01 = AFVV-VGW01 / 60.
ENDIF.
PERFORM GET_DATA_AUFM.
PERFORM GET_DATA.
ENDSELECT.
PERFORM LOOP_INT_EFF.
END-OF-SELECTION.
FORM GET_DATA.
* Reverse Confirmation
IF AFRU-STOKZ = 'X'.
MULTIPLY AFRU-LMNGA BY -1.
MULTIPLY AFRU-ISM01 BY -1.
MULTIPLY AFRU-ISM02 BY -1.
MULTIPLY AFRU-ISM03 BY -1.
MULTIPLY AFRU-ISM04 BY -1.
MULTIPLY AFKO-GAMNG BY -1.
MULTIPLY AFVV-BMSCH BY -1.
MULTIPLY AFVV-VGW01 BY -1.
MULTIPLY AFVV-VGW02 BY -1.
MULTIPLY AFVV-VGW03 BY -1.
ENDIF.
* Plan Activities
IF AFVV-BMSCH <> 0.
INT_EFF-PLN01 = ( AFKO-GAMNG / AFVV-BMSCH ) * AFVV-VGW01 * 60.
ENDIF.
* Actual Activities
INT_EFF-ISM01 = AFRU-ISM01.
* Material No.
IF AFKO-PLNBEZ = SPACE.
INT_EFF-MATNR = AFKO-STLBEZ.
ELSE.
INT_EFF-MATNR = AFKO-PLNBEZ.
ENDIF.
INT_EFF-MTART = MARA-MTART.
INT_EFF-AUFNR = AFKO-AUFNR.
INT_EFF-GSTRI = AFKO-GSTRI.
INT_EFF-GLTRI = AFKO-GLTRI.
INT_EFF-GAMNG = AFKO-GAMNG.
INT_EFF-MENGE = XMENGE.
INT_EFF-DAUAT = AFPO-DAUAT.
COLLECT INT_EFF.
CLEAR INT_EFF.
ENDFORM.
FORM GET_DATA_AUFM.
CLEAR XMENGE.
SELECT * FROM AUFM WHERE AUFNR = AFKO-AUFNR
AND BWART IN ('101', '102').
IF AUFM-SHKZG = 'H'.
MULTIPLY AUFM-MENGE BY -1.
ENDIF.
ADD AUFM-MENGE TO XMENGE.
ENDSELECT.
ENDFORM.
FORM LOOP_INT_EFF.
LOOP AT INT_EFF.
CLEAR: XSTDRATE, XACTRATE, XLINEEFF, XUTILISA.
IF INT_EFF-PLN01 <> 0.
XSTDRATE = INT_EFF-MENGE / INT_EFF-PLN01.
ENDIF.
IF INT_EFF-ISM01 <> 0.
XACTRATE = INT_EFF-MENGE / INT_EFF-ISM01.
XUTILISA = INT_EFF-PLN01 - INT_EFF-ISM01.
ENDIF.
IF XSTDRATE <> 0.
XLINEEFF = XACTRATE / XSTDRATE.
ENDIF.
YGAMNG = INT_EFF-GAMNG.
YMENGE = INT_EFF-MENGE.
YPLN01 = INT_EFF-PLN01.
WRITE:/ INT_EFF-MATNR UNDER ' Material',
INT_EFF-MTART UNDER ' Matl',
INT_EFF-AUFNR UNDER 'Production',
INT_EFF-GSTRI UNDER 'Start',
INT_EFF-GLTRI UNDER ' Finish',
YGAMNG UNDER 'Production Ord',
YMENGE UNDER ' Receipt Qty',
YPLN01 UNDER ' Plan Hr',
INT_EFF-ISM01 UNDER ' Actual Hr',
XSTDRATE UNDER ' Std Rate',
XACTRATE UNDER ' Actual Rate',
XLINEEFF UNDER 'Efficiency (%)',
XUTILISA UNDER 'Utilisation Typ',
INT_EFF-DAUAT UNDER 'PP Type'.
ENDLOOP.
ENDFORM.
TOP-OF-PAGE.
FORMAT COLOR COL_TOTAL.
WRITE: / SY-DATUM, SY-UZEIT, SY-REPID,
110 'Assembly Line Efficiency Report - Closed (Period)',
200 SY-UNAME, SY-PAGNO.
SKIP.
WRITE: /1 ' Material',
20 ' Matl',
25 'Production',
36 'Start',
47 ' Finish',
58 'Production Ord',
73 ' Receipt Qty',
88 ' Plan Hr',
103 ' Actual Hr',
118 ' Std Rate',
133 ' Actual Rate',
148 'Efficiency (%)',
163 'Utilisation Typ',
179 'PP Type'.
INITIALIZATION.
LDATE = SY-DATUM.
LDATE+6(2) = '01'.
LDATE = LDATE - 1.
FDATE = LDATE.
FDATE+6(2) = '01'.
MOVE: FDATE TO XBUDAT-LOW,
LDATE TO XBUDAT-HIGH.
APPEND XBUDAT.
No Production and Planning Articles could be found as of now.
Share And Enjoy:These icons link to social bookmarking sites where readers can share and discover new web pages.
Keywords:
Compare Production Confirmation against Planned by Work Centre, SAP Production Planning, SAP Production Planning, SAP Production Planning tutorial, SAP Production Planning tutorial pdf, history of SAP Production Planning, learn SAP Production Planning