qm report
-
Upload
pandu-munagala -
Category
Documents
-
view
12 -
download
0
description
Transcript of qm report
TABLES : qals, MARA , QPCT , QAVE .TYPE-POOLS:slis.DATA GV_PRUEFLOS TYPE qals-prueflos.TYPES : BEGIN OF GTY_QALS, PRUEFLOS TYPE QPLOS, WERK TYPE WERKS_D, HERKUNFT TYPE QHERK, ENSTEHDAT TYPE QENTST, ERSTELDAT TYPE QDATUMERST, MATNR TYPE MATNR, KTEXTMAT TYPE QKTEXTOBJ , MJAHR TYPE MJAHR, MBLNR TYPE MBLNR, ZEILE TYPE MBLPO, BUDAT TYPE BUDAT, LAGORTVORG TYPE QLGORTVORG, "KTEXTMAT TYPE QKTEXTOBJ, LOSMENGE TYPE QLOSMENGE, MENGENEINH TYPE QLOSMENGEH, END OF GTY_QALS. DATA :GT_QALS TYPE STANDARD TABLE OF GTY_QALS, GS_QALS TYPE GTY_QALS.
TYPES : BEGIN OF GTY_QAVE, PRUEFLOS TYPE QPLOS, VCODE TYPE QVCODE, VDATUM TYPE QVEDATUM, END OF GTY_QAVE. DATA : GT_QAVE TYPE STANDARD TABLE OF GTY_QAVE, GS_QAVE TYPE GTY_QAVE.
TYPES : BEGIN OF GTY_QPCT, CODE TYPE QCODE, KURZTEXT TYPE QTXT_CODE, END OF GTY_QPCT. DATA : GT_QPCT TYPE STANDARD TABLE OF GTY_QPCT, GS_QPCT TYPE GTY_QPCT.
types : begin of gty_qamr, PRUEFLOS type QPLOS, VORGLFNR type QLFNKN, MERKNR type QMERKNRP, MITTELWERT type QMITTELWRT, CODE1 type QCODE, end of gty_qamr.data : gt_qamr type STANDARD TABLE OF gty_qamr, gs_qamr type gty_qamr.
types : begin of gty_qamv, PRUEFLOS type QPLOS, VORGLFNR type QLFNKN, MERKNR type QMERKNRP, VERWMERKM type QMERKNR, KURZTEXT type QMKKURZTXT, end of gty_qamv.data :gt_qamv type STANDARD TABLE OF gty_qamv, gs_qamv type gty_qamv.
types : begin of gty_mara, matnr type MATNR, MATKL type MATKL, end of gty_mara.data :gt_mara type STANDARD TABLE OF gty_mara, gs_mara type gty_mara.
TYPES : BEGIN OF GTY_MICVAL, PRUEFLOS TYPE QPLOS, VORGLFNR TYPE QLFNKN, MERKNR type QMERKNRP, MITTELWERT type QMITTELWRT, CODE1 type QCODE, KURZTEXT type QMKKURZTXT, end of gty_micval. data :gt_micval type STANDARD TABLE OF gty_micval, gs_micval type gty_micval, GS_MICVAL1 TYPE GTY_MICVAL.
TYPES : BEGIN OF GTY_MICPARAM, PRUEFLOS type QPLOS, VORGLFNR type QLFNKN, MERKNR type QMERKNRP, PHY_APP TYPE QMITTELWRT, PH TYPE QMITTELWRT, SO_CONT TYPE QMITTELWRT, VISCOCITY TYPE QMITTELWRT, Density TYPE QMITTELWRT, Ash_Contain TYPE QMITTELWRT, Purity TYPE QMITTELWRT, Depth TYPE QMITTELWRT, Tone TYPE QMITTELWRT, END OF GTY_MICPARAM.DATA : GT_MICPARAM TYPE TABLE OF GTY_MICPARAM, GS_MICPARAM TYPE GTY_MICPARAM.
TYPES : BEGIN OF GTY_FINAL, ERSTELDAT TYPE QDATUMERST, MATNR TYPE MATNR, KTEXTMAT TYPE QKTEXTOBJ, MBLNR TYPE MBLNR, PRUEFLOS TYPE QPLOS, "LOSMENGE TYPE QLOSMENGE, ENSTEHDAT TYPE QENTST, LAGORTVORG TYPE QLGORTVORG, MJAHR TYPE MJAHR, ZEILE TYPE MBLPO, BUDAT TYPE BUDAT, LOSMENGE TYPE QLOSMENGE, MENGENEINH TYPE QLOSMENGEH, VCODE TYPE QVCODE, KURZTEXT TYPE QTXT_CODE, VDATUM TYPE QVEDATUM, PHY_APP TYPE QMITTELWRT, PH TYPE QMITTELWRT, SO_CONT TYPE QMITTELWRT, VISCOCITY TYPE QMITTELWRT, Density TYPE QMITTELWRT, Ash_Contain TYPE QMITTELWRT, Purity TYPE QMITTELWRT, Depth TYPE QMITTELWRT, Tone TYPE QMITTELWRT, END OF GTY_FINAL. DATA : GT_FINAL TYPE STANDARD TABLE OF GTY_FINAL, GS_FINAL TYPE GTY_FINAL.
*----------------------------------------------------------------------**// SELECTION-SCREEN DEVELOPMENT **----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001 .
parameters p_werks type qals-werk OBLIGATORY. " PlantSELECT-OPTIONS s_isltdt FOR qals-ENSTEHDAT OBLIGATORY NO-EXTENSION. " Lot Cre .dateSELECT-OPTIONS s_matnr FOR qals-matnr NO-EXTENSION. " MaterialSELECT-OPTIONS s_isltnm FOR qals-prueflos NO-EXTENSION. "Ins Lot noSELECT-OPTIONS S_MATKL FOR MARA-MATKL NO-EXTENSION. " Mat GroupPARAMETERS p_ISLTOG TYPE qals-herkunft OBLIGATORY . "Lot OriginSELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON s_isltnm. PERFORM VAL_INSPECTION_LOT.AT SELECTION-SCREEN ON S_MATNR. PERFORM VAL_MATERIAL.
start-of-selection. perform get_data.
*&---------------------------------------------------------------------**& Form VAL_INSPECTION_LOT*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*form val_inspection_lot .
SELECT SINGLE prueflos INTO GV_PRUEFLOS FROM QALS WHERE prueflos IN S_isltnm.
IF SY-SUBRC NE 0.
MESSAGE 'Please enter the existing Inspection Lot Number' type 'E'.
ENDIF.endform. " VAL_INSPECTION_LOT*&---------------------------------------------------------------------**& Form VAL_MATERIAL*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*form val_material .
DATA GV_MATNR TYPE MARA-MATNR.
SELECT SINGLE MATNR FROM MARA INTO GV_MATNR WHERE MATNR IN S_MATNR.
IF SY-SUBRC NE 0.
MESSAGE 'Please enter the existing Material' type 'E'. ENDIF.
endform. " VAL_MATERIAL*&---------------------------------------------------------------------**& Form GET_DATA*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*form get_data .
select PRUEFLOS WERK HERKUNFT ENSTEHDAT ERSTELDAT MATNR mjahr ZEILE BUDAT MBLNR LAGORTVORG KTEXTMAT LOSMENGE MENGENEINH INTO CORRESPONDING FIELDS OF TABLE GT_QALS FROM QALS WHERE PRUEFLOS IN s_isltnm AND werk EQ P_WERKS AND HERKUNFT EQ p_ISLTOG AND ENSTEHDAT IN s_isltdt AND MATNR IN s_matnr .
IF SY-SUBRC = 0.
select MATNR MATKL from MARA into table gt_mara where matnr in s_matnr and MATKL in S_MATKl.
IF S_MATKL IS NOT INITIAL.
LOOP AT GT_QALS INTO GS_QALS. READ TABLE GT_MARA INTO GS_MARA WITH KEY MATNR = GS_QALS-MATNR. IF SY-SUBRC NE 0. DELETE GT_MICPARAM FROM GS_MICPARAM . ENDIF. ENDLOOP.
endif.
SELECT PRUEFLOS VCODE VDATUM INTO TABLE GT_QAVE FROM QAVE FOR ALL ENTRIES IN GT_QALS
WHERE PRUEFLOS EQ GT_QALS-PRUEFLOS.
IF SY-SUBRC = 0.
SELECT CODE KURZTEXT FROM QPCT INTO TABLE GT_QPCT FOR ALL ENTRIES IN GT_QAVE WHERE CODE EQ GT_QAVE-VCODE. ENDIF.
select PRUEFLOS VORGLFNR MERKNR MITTELWERT CODE1 from qamr into table gt_qamr for all ENTRIES IN GT_QALS where PRUEFLOS eq gt_qals-PRUEFLOS.
if sy-subrc = 0.select PRUEFLOS VORGLFNR MERKNR VERWMERKM KURZTEXT from qamv into table gt_qamv for all entries in gt_qamr where PRUEFLOS eq gt_qamr-PRUEFLOS and VORGLFNR eq gt_qamr-VORGLFNR and MERKNR eq gt_qamr-MERKNR.
endif.
LOOP AT gt_qamr INTO GS_QAMR.
READ TABLE GT_qamv INTO GS_QAMV WITH KEY PRUEFLOS = GS_QAMR-PRUEFLOS VORGLFNR = GS_QAMR-VORGLFNR MERKNR = GS_QAMR-MERKNR.IF SY-SUBRC = 0.GS_MICVAL-PRUEFLOS = GS_QAMR-PRUEFLOS.GS_MICVAL-VORGLFNR = GS_QAMR-VORGLFNR.GS_MICVAL-MERKNR = GS_QAMR-MERKNR.GS_MICVAL-MITTELWERT = GS_QAMR-MITTELWERT.GS_MICVAL-CODE1 = GS_QAMR-CODE1.GS_MICVAL-KURZTEXT = GS_QAMV-KURZTEXT.append gs_micval to gt_micval.clear gs_micval.
ENDIF.ENDLOOP.
delete ADJACENT DUPLICATES FROM gt_micval COMPARING ALL FIELDS.
BREAK HP_PRANGARAO.
IF gt_micval is not initial. LOOP AT gt_micval INTO GS_micval.
CASE gs_micval-KURZTEXT.
when 'Physical Appearance' OR 'PHYSICAL APPEARANCE'.
gs_micparam-PHY_APP = gs_micval-MITTELWERT.
when 'Ph Value' or 'PH VALUE'. GS_MICPARAM-PH = gs_micval-MITTELWERT. WHEN 'Solid Content' OR 'SOLID CONTENT'. GS_MICPARAM-SO_CONT = GS_MICVAL-MITTELWERT.
WHEN 'Viscocity' OR 'VISCOCITY'. GS_MICPARAM-VISCOCITY = GS_MICVAL-MITTELWERT.
WHEN 'Density' OR 'DENSITY' . GS_MICPARAM-Density = GS_MICVAL-MITTELWERT.
WHEN 'Ash Contain' OR 'ASH CONTAIN'. GS_MICPARAM-Ash_Contain = GS_MICVAL-MITTELWERT.
WHEN 'Purity' OR 'PURITY'. GS_MICPARAM-Purity = GS_MICVAL-MITTELWERT. WHEN 'Depth' OR 'DEPTH'. GS_MICPARAM-Depth = GS_MICVAL-MITTELWERT.
WHEN 'Tone' OR 'TONE'. GS_MICPARAM-TONE = GS_MICVAL-MITTELWERT.
ENDCASE.
AT END OF PRUEFLOS.
READ TABLE gt_micval INTO GS_MICVAL1 INDEX SY-TABIX. IF SY-SUBRC = 0. GS_MICPARAM-PRUEFLOS = GS_MICVAL1-PRUEFLOS. GS_MICPARAM-VORGLFNR = GS_MICVAL1-VORGLFNR. GS_MICPARAM-MERKNR = GS_MICVAL1-MERKNR. APPEND GS_MICPARAM TO GT_MICPARAM. CLEAR GS_MICPARAM. ENDIF. ENDAT.
ENDLOOP.
ENDIF.
ENDIF.
""" GET FINAL DATA
LOOP AT GT_MICPARAM INTO GS_MICPARAM.
READ TABLE GT_QALS INTO GS_QALS WITH KEY PRUEFLOS = GS_MICPARAM-PRUEFLOS.IF SY-SUBRC = 0.
READ TABLE GT_QAVE INTO GS_QAVE WITH KEY PRUEFLOS = GS_MICPARAM-PRUEFLOS. IF SY-SUBRC = 0.
READ TABLE GT_QPCT INTO GS_QPCT WITH KEY CODE = GS_QAVE-VCODE. ENDIF.
GS_FINAL-ERSTELDAT = GS_QALS-ERSTELDAT. GS_FINAL-MATNR = GS_QALS-MATNR. GS_FINAL-KTEXTMAT = GS_QALS-KTEXTMAT. GS_FINAL-MBLNR = GS_QALS-MBLNR. GS_FINAL-PRUEFLOS = GS_QALS-PRUEFLOS. GS_FINAL-LOSMENGE = GS_QALS-LOSMENGE . GS_FINAL-ENSTEHDAT = GS_QALS-ENSTEHDAT. GS_FINAL-LAGORTVORG = GS_QALS-LAGORTVORG. GS_FINAL-MJAHR = GS_QALS-MJAHR. GS_FINAL-ZEILE = GS_QALS-ZEILE. GS_FINAL-BUDAT = GS_QALS-BUDAT. GS_FINAL-LOSMENGE = GS_QALS-LOSMENGE. GS_FINAL-MENGENEINH = GS_QALS-MENGENEINH. GS_FINAL-VCODE = GS_QAVE-VCODE. GS_FINAL-VDATUM = GS_QAVE-VDATUM. GS_FINAL-KURZTEXT = GS_QPCT-KURZTEXT. GS_FINAL-PHY_APP = GS_MICPARAM-PHY_APP. GS_FINAL-PH = GS_MICPARAM-PH. GS_FINAL-SO_CONT = GS_MICPARAM-SO_CONT. GS_FINAL-VISCOCITY = GS_MICPARAM-VISCOCITY. GS_FINAL-Density = GS_MICPARAM-Density. GS_FINAL-Ash_Contain = GS_MICPARAM-Ash_Contain. GS_FINAL-Purity = GS_MICPARAM-Purity.
GS_FINAL-Depth = GS_MICPARAM-Depth. GS_FINAL-Tone = GS_MICPARAM-TONE.append gs_final to gt_final.clear gs_final.
ENDIF.
ENDLOOP.
BREAK HP_PRANGARAO.endform. " GET_DATA