Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8451

Display single column value multiple times in alv

$
0
0

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.


Viewing all articles
Browse latest Browse all 8451

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>