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: 

Col colour in ALV

Former Member
0 Kudos

HI ,

in ALV in one coloumn how to make perticular cell as coloured based on some conditions.

THX

9 REPLIES 9

Former Member
0 Kudos

Hi

Go through the link given below :

https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/add%2bcolors%2bin%2balv%2brows

With Regards

Nikunj Shah

former_member705122
Active Contributor
0 Kudos

Hi,

Check this link:

Regards

Adil

Former Member
0 Kudos

Go through the below link for a clear understanding.

http://beingkedar.googlepages.com/objectorientedalv

Regards,

Sinu.

Former Member
0 Kudos

HI,

see the example below.


*&---------------------------------------------------------------------*
*& Report  ZBHCOLOR_COLS                                               *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  ZBHCOLOR_COLS.

TABLES:LFA1.

SELECT-OPTIONS:C_LIFNR FOR LFA1-LIFNR. " FOR GRID ONLY
PARAMETERS:LIST RADIOBUTTON GROUP ALV DEFAULT 'X',
           GRID RADIOBUTTON GROUP ALV.

DATA:BEGIN OF ITAB OCCURS 0,
     LIFNR LIKE LFA1-LIFNR,
     NAME1 LIKE LFA1-NAME1,
     LAND1 LIKE LFA1-LAND1,
     ORT01 LIKE LFA1-ORT01,
     SORTL LIKE LFA1-SORTL,
     REGIO LIKE LFA1-REGIO,
     COL TYPE LVC_T_SCOL,
END OF ITAB.

DATA:COLR TYPE LVC_S_SCOL.

SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB.
LOOP AT ITAB.
    IF ITAB-LIFNR IN C_LIFNR.
        COLR-FNAME = 'NAME1'.
        COLR-COLOR-COL = '5'.
        COLR-COLOR-INT = '1'.
        COLR-COLOR-INV = '0'.
        COLR-NOKEYCOL = 'X'.
        APPEND COLR TO ITAB-COL.
        COLR-FNAME = 'LIFNR'.
        APPEND COLR TO ITAB-COL.
        MODIFY ITAB.
    ENDIF.
ENDLOOP.

TYPE-POOLS:SLIS.

DATA:FCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA:LAYOUT TYPE SLIS_LAYOUT_ALV.

LAYOUT-ZEBRA = 'X'.
layout-coltab_fieldname = 'COL'.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
 EXPORTING
   I_PROGRAM_NAME               = SY-REPID
   I_INTERNAL_TABNAME           = 'ITAB'
*   I_STRUCTURE_NAME             =
*   I_CLIENT_NEVER_DISPLAY       = 'X'
   I_INCLNAME                   = SY-REPID
*   I_BYPASSING_BUFFER           =
*   I_BUFFER_ACTIVE              =
  CHANGING
    CT_FIELDCAT                  = FCAT
* EXCEPTIONS
*   INCONSISTENT_INTERFACE       = 1
*   PROGRAM_ERROR                = 2
*   OTHERS                       = 3
          .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

IF LIST = 'X'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
 EXPORTING
*   I_INTERFACE_CHECK              = ' '
*   I_BYPASSING_BUFFER             =
*   I_BUFFER_ACTIVE                = ' '
   I_CALLBACK_PROGRAM             = SY-REPID
*   I_CALLBACK_PF_STATUS_SET       = ' '
*   I_CALLBACK_USER_COMMAND        = ' '
*   I_STRUCTURE_NAME               =
   IS_LAYOUT                      = LAYOUT
   IT_FIELDCAT                    = FCAT
*   IT_EXCLUDING                   =
*   IT_SPECIAL_GROUPS              =
*   IT_SORT                        =
*   IT_FILTER                      =
*   IS_SEL_HIDE                    =
*   I_DEFAULT                      = 'X'
*   I_SAVE                         = ' '
*   IS_VARIANT                     =
*   IT_EVENTS                      =
*   IT_EVENT_EXIT                  =
*   IS_PRINT                       =
*   IS_REPREP_ID                   =
*   I_SCREEN_START_COLUMN          = 0
*   I_SCREEN_START_LINE            = 0
*   I_SCREEN_END_COLUMN            = 0
*   I_SCREEN_END_LINE              = 0
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER        =
*   ES_EXIT_CAUSED_BY_USER         =
  TABLES
    T_OUTTAB                       = ITAB
* EXCEPTIONS
*   PROGRAM_ERROR                  = 1
*   OTHERS                         = 2
          .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ELSEIF GRID = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
 EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
   I_CALLBACK_PROGRAM                = SY-REPID
*   I_CALLBACK_PF_STATUS_SET          = ' '
*   I_CALLBACK_USER_COMMAND           = ' '
*   I_CALLBACK_TOP_OF_PAGE            = ' '
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  =
*   I_BACKGROUND_ID                   = ' '
*   I_GRID_TITLE                      =
*   I_GRID_SETTINGS                   =
   IS_LAYOUT                         = LAYOUT
   IT_FIELDCAT                       = FCAT
*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
*   IT_SORT                           =
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
*   I_SAVE                            = ' '
*   IS_VARIANT                        =
*   IT_EVENTS                         =
*   IT_EVENT_EXIT                     =
*   IS_PRINT                          =
*   IS_REPREP_ID                      =
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   I_HTML_HEIGHT_TOP                 =
*   I_HTML_HEIGHT_END                 =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
  TABLES
    T_OUTTAB                          = ITAB
* EXCEPTIONS
*   PROGRAM_ERROR                     = 1
*   OTHERS                            = 2
          .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDIF.

rgds,

bharat.

Former Member
0 Kudos

cell_colour TYPE lvc_t_scol

ls_cellcolour-fname = 'CCC'.

ls_cellcolour-color-col = '3'.

ls_cellcolour-color-int = '1'.

ls_cellcolour-color-inv = '0'.

APPEND ls_cellcolour TO i_data-cell_colour.

where CCC is field to be colored.

regards,

babu

former_member181995
Active Contributor
0 Kudos

chaaya,

just refer:

also i would suggest you that please try to search by your own.

there is lots of threads on same.

Amit.

Former Member
0 Kudos

Hi,

A whole list record can be colored individually using a color code in a column of the internal output table for the record. Assign the name of the field containing the color code to this parameter.

Value set: SPACE, internal output table field name

The internal output table field must be of type CHAR(3).

The code must have the following syntax: 'Cxy':

C = color (all codes must start with 'C')

X = color number ('1'-'9')

Y = bold ('0' = off, '1' = on)

Regards,

Sravanthi