Hi Experts,
As per business need i have develop a z report for quality characteristics.In this report the field result and KURZTEXT have multiple value wrt single lot no.Now i want to display different different value in alv report means single field in internal table but it has different different value.How can i achieve it in ABAP.Plz suggest solution-
TYPES : BEGIN OF TY_FINAL,
PRUEFLOS TYPE QPLOS,
WERK TYPE WERKS_D,
AUFNR TYPE AUFNR,
MATNR TYPE MATNR,
CHARG TYPE CHARG_D,
LAGORTCHRG TYPE LGORT_D,
EBELN TYPE EBELN,
BLART TYPE BLART,
MJAHR TYPE MJAHR,
MBLNR TYPE MBLNR,
BUDAT TYPE BUDAT,
BWART TYPE BWART,
LOSMENGE TYPE QLOSMENGE,
MAKTX TYPE MAKTX, "#EC NEEDED
VCODE TYPE QVCODE, "#EC NEEDED
VCODE_TEXT TYPE C LENGTH 40,
MERKNR TYPE MERKNR,
VERWMERKM TYPE QAMV-VERWMERKM,
KURZTEXT TYPE KURZTEXT,
TOLER TYPE QAMV-TOLERANZUN, "uper-lower limit
MITTELWERT TYPE P DECIMALS 3,
CODE1 TYPE QAMR-CODE1,
RESULT TYPE C LENGTH 10,
END OF TY_FINAL.
*---------------------- Internal table Declaration -----------------
DATA : IT_FINAL TYPE TABLE OF TY_FINAL,
WA_FINAL TYPE TY_FINAL.
FORM DATA_RETRIEVAL .
* BREAK-POINT.
SELECT
PRUEFLOS
WERK
AUFNR
MATNR
CHARG
LAGORTCHRG
EBELN
BLART
MJAHR
MBLNR
BUDAT
BWART
LOSMENGE
FROM QALS
INTO TABLE IT_FINAL
WHERE WERK IN S_WERK
AND MATNR IN S_MATNR
AND LAGORTCHRG IN S_LAGORT
AND MJAHR IN S_MJAHR
AND AUFNR IN S_AUFNR
AND MBLNR IN S_MBLNR
AND BUDAT IN S_BUDAT
AND BWART EQ '101' OR BWART EQ '102'.
IF IT_FINAL IS NOT INITIAL.
SELECT MATNR SPRAS MAKTX FROM MAKT INTO TABLE IT_MAKT FOR ALL ENTRIES IN IT_FINAL WHERE MATNR = IT_FINAL-MATNR
AND SPRAS EQ 'E'.
SELECT PRUEFLOS VCODE FROM QAVE INTO TABLE IT_QAVE FOR ALL ENTRIES IN IT_FINAL WHERE PRUEFLOS = IT_FINAL-PRUEFLOS.
SELECT PRUEFLOS MERKNR VERWMERKM KURZTEXT FROM QAMV INTO CORRESPONDING FIELDS OF TABLE IT_QAMV FOR ALL ENTRIES IN IT_FINAL
WHERE PRUEFLOS = IT_FINAL-PRUEFLOS.
SELECT PRUEFLOS MERKNR MITTELWERT CODE1 FROM QAMR INTO TABLE IT_QAMR FOR ALL ENTRIES IN IT_FINAL
WHERE PRUEFLOS = IT_FINAL-PRUEFLOS.
ENDIF.
IF IT_FINAL[] IS INITIAL.
MESSAGE ' No data available for selected criteria' TYPE 'E'.
ENDIF.
ENDFORM. "DATA_RETRIEVAL
*&---------------------------------------------------------------------*
*& Form DATA_RETRIEVAL1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DATA_RETRIEVAL1.
LOOP AT IT_FINAL INTO WA_FINAL.
READ TABLE IT_MAKT INTO WA_MAKT WITH KEY MATNR = WA_FINAL-MATNR
SPRAS = 'E' .
IF SY-SUBRC = 0.
WA_FINAL-MAKTX = WA_MAKT-MAKTX.
ENDIF.
READ TABLE IT_QAVE INTO WA_QAVE WITH KEY PRUEFLOS = WA_FINAL-PRUEFLOS .
IF SY-SUBRC = 0.
WA_FINAL-VCODE = WA_QAVE-VCODE.
ENDIF.
MODIFY IT_FINAL FROM WA_FINAL.
ENDLOOP.
LOOP AT IT_FINAL INTO WA_FINAL.
READ TABLE IT_QAMV INTO WA_QAMV WITH KEY PRUEFLOS = WA_FINAL-PRUEFLOS .
* idx = sy-tabix.
* clear wa_final.
IF SY-SUBRC = 0.
*break-point.
WA_FINAL-MERKNR = WA_QAMV-MERKNR.
WA_FINAL-VERWMERKM = WA_QAMV-VERWMERKM.
WA_FINAL-KURZTEXT = WA_QAMV-KURZTEXT.
ENDIF.
READ TABLE IT_QAMR INTO WA_QAMR WITH KEY PRUEFLOS = WA_FINAL-PRUEFLOS .
IF SY-SUBRC = 0.
WA_FINAL-MERKNR = WA_QAMR-MERKNR.
WA_FINAL-CODE1 = WA_QAMR-CODE1.
WA_FINAL-MITTELWERT = WA_QAMR-MITTELWERT.
IF WA_FINAL-MITTELWERT IS NOT INITIAL.
MOVE WA_FINAL-MITTELWERT TO WA_FINAL-RESULT.
ELSE.
MOVE WA_FINAL-CODE1 TO WA_FINAL-RESULT.
ENDIF.
ENDIF.
ENDLOOP.
MODIFY IT_FINAL FROM WA_FINAL.
ENDFORM. "DATA_RETRIEVAL1
FORM BUILD_WA_FIELDCAT .
WA_FIELDCAT-FIELDNAME = 'PRUEFLOS'.
WA_FIELDCAT-SELTEXT_M = 'Inspection Lot'.
* wa_fieldcat-FILTER = 'X'.
WA_FIELDCAT-COL_POS = 0.
WA_FIELDCAT-EMPHASIZE = 'C71'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'MATNR'.
WA_FIELDCAT-SELTEXT_M = 'Material Number'.
WA_FIELDCAT-COL_POS = 1.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'MAKTX'.
WA_FIELDCAT-SELTEXT_M = 'Material Description'.
WA_FIELDCAT-COL_POS = 2.
* WA_FIELDCAT-EMPHASIZE = 'C71'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'LAGORTCHRG'.
WA_FIELDCAT-SELTEXT_M = 'Storage Location'.
WA_FIELDCAT-COL_POS = 3.
WA_FIELDCAT-OUTPUTLEN = 4. " output Lenght
* WA_FIELDCAT-EMPHASIZE = 'C71'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BUDAT'.
WA_FIELDCAT-SELTEXT_M = 'Posting Date'.
WA_FIELDCAT-COL_POS = 4.
* wa_fieldcat-outputlen = 10. " output Lenght
* WA_FIELDCAT-EMPHASIZE = 'C71'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'LOSMENGE'.
WA_FIELDCAT-SELTEXT_M = 'Quantity'.
WA_FIELDCAT-COL_POS = 5.
* wa_fieldcat-outputlen = 10. " output Lenght
* WA_FIELDCAT-EMPHASIZE = 'C71'.
WA_FIELDCAT-DO_SUM = 'X'. "Display column total
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'WERK'.
WA_FIELDCAT-SELTEXT_M = 'Plant'.
WA_FIELDCAT-COL_POS = 6.
* wa_fieldcat-outputlen = . " output Lenght
* WA_FIELDCAT-EMPHASIZE = 'C71'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'CHARG'.
WA_FIELDCAT-SELTEXT_M = 'Batch'.
WA_FIELDCAT-COL_POS = 7.
* wa_fieldcat-outputlen = 10. " output Lenght
* WA_FIELDCAT-EMPHASIZE = 'C71'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'VCODE'.
WA_FIELDCAT-SELTEXT_M = 'Grade'.
WA_FIELDCAT-COL_POS = 8.
* wa_fieldcat-outputlen = 10. " output Lenght
* WA_FIELDCAT-EMPHASIZE = 'C71'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'RESULT'.
WA_FIELDCAT-SELTEXT_L = WA_FINAL-KURZTEXT.
WA_FIELDCAT-COL_POS = 9.
* wa_fieldcat-outputlen = 10. " output Lenght
WA_FIELDCAT-EMPHASIZE = 'X'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
red colour field should come multiple time as per value.