Cell Color in ABAP ALV Grid Report
Cell Color in ABAP ALV Grid Report
In this Article we will learn How do you color a cell in ALV grid Report and
how to add color in whole row of ALV Grid Report.
Table of Contents
How do you color a cell in ALV grid Report
Cell Color in ABAP ALV Grid Report
ALV ABAP Source Code
Result : Cell Color in ALV Grid Display
If we display a log report as in the image below, where we need to color the
column cell “Message Type”, “Content Number” and the Status column data cell
if there is an error in the column. so we move on to the next section where we’ll
change the color to red in the cells where an error occurs as per the scenario.
LVC_T_SCOL :-Table Type is used to define internal table for color field in structure
using to display in ALV Report.
LVC_S_SCOL :- LVC_S_SCOL is structure used to define table type LVC_T_SCOL.
This structure has Field Name type LVC_FNAME, Color is structure type
LVC_S_COLO.
COL : – field used for Color Code (1-Blue, 2-Grey, 3-Yellow, 4-Blue/Grey, 5-Green,
6-Red, 7-Orange)
INT :- Field is used for intensified , 0 = Intensified off, 1 = Intensified on.
INV :- Field used for background color or Text color, 1 = Text Color, 0 = Background
color.
ALV ABAP Source Code
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
*& Description : ---- Sales Organization and distribution channel Extend in Mass Materials.
*&---------------------------------------------------------------------*
REPORT ZPS_SALESORG_EXTEND.
MSG_TYPE(10) TYPE C,
END OF TY_LOG.
AT SELECTION-SCREEN ON S_MATNR.
PERFORM VALIDATE_MATNR.
START-OF-SELECTION.
REFRESH: IT_LOG.
LOOP AT S_MATNR.
READ TABLE IT_MVKE TRANSPORTING NO FIELDS WITH KEY MATNR =
S_MATNR-LOW
VKORG = P_VKORG
IF SY-SUBRC = 0.
WA_LOG-MSG_TYPE = 'ERROR'.
WA_LOG-MATNR = S_MATNR-LOW.
WA_CELLCOLOR-COLOR-COL = 6.
WA_CELLCOLOR-COLOR-INT = 1.
WA_CELLCOLOR-COLOR-INV = 0.
CONTINUE.
ENDIF.
READ TABLE IT_MARA INTO DATA(WA_MARA) WITH KEY MATNR =
S_MATNR-LOW.
* IF SY-SUBRC <> 0.
VKORG = '1000'
VTWEG = '50'.
ELSE.
VKORG = '1000'
VTWEG = '90'.
ENDIF.
WA_HEADER-MATERIAL = S_MATNR-LOW.
WA_HEADER-MATL_TYPE = WA_MARA-MTART.
WA_HEADER-IND_SECTOR = WA_MARA-MBRSH.
WA_HEADER-SALES_VIEW = 'X'.
WA_SALEDATA-SALES_ORG = P_VKORG.
WA_SALEDATAX-SALES_ORG = P_VKORG.
WA_SALEDATA-DISTR_CHAN = P_VTWEG.
WA_SALEDATAX-DISTR_CHAN = P_VTWEG.
WA_SALEDATA-CASH_DISC = WA_MVKE-SKTOF.
WA_SALEDATAX-CASH_DISC = 'X'.
WA_SALEDATA-ITEM_CAT = WA_MVKE-MTPOS.
WA_SALEDATAX-ITEM_CAT = 'X'.
WA_SALEDATA-MATL_STATS = WA_MVKE-VERSG.
WA_SALEDATAX-MATL_STATS = 'X'.
WA_SALEDATA-ACCT_ASSGT = WA_MVKE-KTGRM.
WA_SALEDATAX-ACCT_ASSGT = 'X'.
WA_SALEDATA-MAT_PR_GRP = WA_MVKE-KONDM.
WA_SALEDATAX-MAT_PR_GRP = 'X'.
WA_SALEDATA-MATL_GRP_1 = WA_MVKE-MVGR1.
WA_SALEDATAX-MATL_GRP_1 = 'X'.
WA_SALEDATA-MATL_GRP_2 = WA_MVKE-MVGR2.
WA_SALEDATAX-MATL_GRP_2 = 'X'.
WA_SALEDATA-MATL_GRP_3 = WA_MVKE-MVGR3.
WA_SALEDATAX-MATL_GRP_3 = 'X'.
WA_SALEDATA-MATL_GRP_4 = WA_MVKE-MVGR4.
WA_SALEDATAX-MATL_GRP_4 = 'X'.
WA_SALEDATA-MATL_GRP_5 = WA_MVKE-MVGR5.
WA_SALEDATAX-MATL_GRP_5 = 'X'.
EXPORTING
HEADDATA = WA_HEADER
SALESDATA = WA_SALEDATA
SALESDATAX = WA_SALEDATAX
IMPORTING
RETURN = WA_RETURN.
IF WA_RETURN-TYPE = 'S'.
WA_LOG-MSG_TYPE ='SUCCESS'.
WA_LOG-MATNR = S_MATNR-LOW.
ELSE.
WA_LOG-MSG_TYPE = 'ERROR'.
WA_LOG-MATNR = S_MATNR-LOW.
WA_CELLCOLOR-COLOR-COL = 6.
WA_CELLCOLOR-COLOR-INT = 1.
WA_CELLCOLOR-COLOR-INV = 0.
ENDIF.
CLEAR: WA_HEADER, WA_SALEDATA, WA_SALEDATAX, WA_RETURN,
WA_MARA, WA_ZCONTROL, WA_MVKE.
ENDLOOP.
REFRESH IT_FCAT.
WA_FCAT-FIELDNAME = 'MSG_TYPE'.
WA_FCAT-TABNAME = 'IT_LOG'.
CLEAR: WA_FCAT.
WA_FCAT-FIELDNAME = 'MATNR'.
WA_FCAT-TABNAME = 'IT_LOG'.
CLEAR: WA_FCAT.
WA_FCAT-FIELDNAME = 'STATUS'.
WA_FCAT-SELTEXT_M = 'STATUS'.
WA_FCAT-TABNAME = 'IT_LOG'.
CLEAR: WA_FCAT.
WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
WA_LAYOUT-ZEBRA = 'X'.
WA_LAYOUT-COLTAB_FIELDNAME = 'CELLCOLOR'.
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FCAT
TABLES
T_OUTTAB = IT_LOG
* EXCEPTIONS
* PROGRAM_ERROR =1
* OTHERS =2
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
FORM TOP_OF_PAGE.
LD_LINES TYPE I,
LD_LINESC(10) TYPE C.
* Title
WA_HEADER-TYP = 'H'.
CLEAR WA_HEADER.
EXPORTING
DATE_INTERNAL = SY-DATUM
IMPORTING
DATE_EXTERNAL = DATE
EXCEPTIONS
DATE_INTERNAL_IS_INVALID = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ENDIF.
WA_HEADER-TYP = 'S'.
WA_HEADER-KEY = 'Dated'.
WA_HEADER-INFO = DATE.
CLEAR WA_HEADER.
WA_HEADER-TYP = 'S'.
WA_HEADER-INFO = SY-UNAME.
APPEND WA_HEADER TO T_HEADER.
CLEAR: WA_HEADER.
EXPORTING
IT_LIST_COMMENTARY = T_HEADER.
ENDFORM.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM VALIDATE_MATNR .
IF S_MATNR IS INITIAL.
ELSE.
LOOP AT S_MATNR.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM.