Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

ALV_Cell_Highlight

Former Member
0 Kudos

Hi

I want to highlight a particular cell in my ALV Grid display.

Is it possible?

If yes, please tell me how can I do that?

Thank You

6 REPLIES 6

former_member181962
Active Contributor
0 Kudos

Refer this thread:

Regards,

Ravi

0 Kudos

Thanks Chandrashekar and all..

Say if I take Chandrashekhar's example in which we have all the materials in an internal table and suppose we also have duplicate material numbers in the list, then in my case I want to colour the line in which the material number chenges ie. for every new material number in the list I want to change the line colour.

Hope I am clear.

Is this possible?

thanks

0 Kudos

Basically, I want to colour a single line of an ALV if the first column of the ALV changes.

Any suggestions?

0 Kudos

Any suggestions?

0 Kudos

Basically I want to colour a line of the ALV, if the first field of the first column changes.

thanks

Former Member
0 Kudos
chk this

*&---------------------------------------------------------------------*
*& Report  ZCHA_ALV_GRID_CELL_COLOR                                    *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  ZCHA_ALV_GRID_CELL_COLOR                .

TABLES:MARA.

DATA: W_CONTAINER         TYPE SCRFNAME VALUE 'ALV_CONTAINER',
      W_GRID              TYPE REF TO CL_GUI_ALV_GRID,
      W_CUSTOM_CONTAINER  TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
*      W_EVENT_RECEIVER    TYPE REF TO LCL_EVENT_RECEIVER.
*layout
DATA: WA_LAYOUT           TYPE LVC_S_LAYO.
*field catalog
DATA: IT_FIELDCAT_WRT_OFF TYPE LVC_T_FCAT,
      WA_FIELDCAT_WRT_OFF TYPE LVC_S_FCAT.

DATA:BEGIN OF IT_MARA OCCURS 0,
     MATNR LIKE MARA-MATNR,
     MAKTX LIKE MAKT-MAKTX,
     CELLCOLORS TYPE LVC_T_SCOL,
     END OF IT_MARA.

SELECT P~MATNR
       Q~MAKTX
       INTO CORRESPONDING FIELDS OF TABLE IT_MARA
       FROM MARA AS P INNER JOIN
            MAKT AS Q ON
            P~MATNR = Q~MATNR.

CALL SCREEN 100.
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
  SET PF-STATUS 'STATUS'.
*  SET TITLEBAR 'xxx'.

  IF NOT W_CONTAINER IS INITIAL.
    CREATE OBJECT W_CUSTOM_CONTAINER
             EXPORTING CONTAINER_NAME = W_CONTAINER.

    CREATE OBJECT W_GRID
             EXPORTING I_PARENT = W_CUSTOM_CONTAINER.
  ENDIF.

  CLEAR IT_FIELDCAT_WRT_OFF.
  REFRESH IT_FIELDCAT_WRT_OFF.

  WA_FIELDCAT_WRT_OFF-FIELDNAME = 'MATNR'.
  WA_FIELDCAT_WRT_OFF-COL_POS   = '1'.
  WA_FIELDCAT_WRT_OFF-OUTPUTLEN = '35'.
  WA_FIELDCAT_WRT_OFF-SCRTEXT_L = 'Material No'.

  APPEND WA_FIELDCAT_WRT_OFF TO IT_FIELDCAT_WRT_OFF.
  CLEAR WA_FIELDCAT_WRT_OFF.

  WA_FIELDCAT_WRT_OFF-FIELDNAME = 'MAKTX'.
  WA_FIELDCAT_WRT_OFF-COL_POS   = '2'.
  WA_FIELDCAT_WRT_OFF-OUTPUTLEN = '45'.
  WA_FIELDCAT_WRT_OFF-SCRTEXT_L = 'Material Desc'.

  APPEND WA_FIELDCAT_WRT_OFF TO IT_FIELDCAT_WRT_OFF.
  CLEAR WA_FIELDCAT_WRT_OFF.

  DATA LS_CELLCOLOR TYPE LVC_S_SCOL.

  READ TABLE IT_MARA INDEX 5 .
  LS_CELLCOLOR-FNAME = 'MATNR'.
  LS_CELLCOLOR-COLOR-COL = '3'.
  LS_CELLCOLOR-COLOR-INT = '1'.
  APPEND LS_CELLCOLOR TO IT_MARA-CELLCOLORS.
  MODIFY IT_MARA INDEX 5.

  WA_LAYOUT-CTAB_FNAME = 'CELLCOLORS'.

  CALL METHOD W_GRID->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
      IS_LAYOUT       = WA_LAYOUT
    CHANGING

      IT_FIELDCATALOG = IT_FIELDCAT_WRT_OFF
      IT_OUTTAB       = IT_MARA[].
ENDMODULE.                 " STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.

  CASE SY-UCOMM.
    WHEN 'BACK'.
      LEAVE TO SCREEN 0.
  ENDCASE.



ENDMODULE.                 " USER_COMMAND_0100  INPUT