Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

Cell Color in ABAP ALV Grid

Report | Cell Color in ALV Grid


Display
May 26, 2022 by Pankaj singh
Cell Color In Abap Alv Grid Report | Cell Color In Alv Grid Display | How
do you color a cell in ALV grid | ALV ABAP Source
Code | LVC_T_SCOL | LVC_S_SCOL

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

How do you color a cell in ALV


grid Report
Let’s Take a Scenario

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.

This is the simple image without color


To Achieve this scenario we will include a field in Structure Log where our
output column belongs. Field type should be LVC_T_SCOL ( Table type for
cell coloring) .

Cell Color in ABAP ALV Grid Report


To perform the above task we have to use some specific fields, table type and
structure which is explaining below with pictures and steps.

1. Create an ABAP Program.


2. Add an field called ‘CELLCOLOR’ of type LVC_T_SCOL (table type) in your
structure.

3. Define a work area WA_CELLCOLOR of type LVC_S_SCOL(Structure) for table


type ‘CELLCOLOR’ defined in our structure.

4. Use the field ‘CELLCOLOR’ based on our requirement.

5. Assign ‘CELLCOLOR’ to WA_LAYOUT-COLTAB_FIELDNAME of ALV


Grid Layout structure.

6. Create an ALV report by function module REUSE_ALV_GRID_DISPLAY.

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.

LVC_S_COLO :- LVC_S_COLO structure has

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
*&---------------------------------------------------------------------*

*& Report ZPS_SALESORG_EXTEND

*&

*&---------------------------------------------------------------------*

*& Created By : ---- Pankaj Singh

*& Requested By : ---- Manoj Rawat(PPC)

*& Description : ---- Sales Organization and distribution channel Extend in Mass Materials.

*& TR ----- AEDK908881

*& T_Code : ---- ZIT_SALESEXTND

*&---------------------------------------------------------------------*

REPORT ZPS_SALESORG_EXTEND.

TABLES: MARA, MVKE.

TYPES: BEGIN OF TY_LOG,


MATNR TYPE MARA-MATNR,

MSG_TYPE(10) TYPE C,

STATUS TYPE STRING,

CELLCOLOR TYPE LVC_T_SCOL,

END OF TY_LOG.

DATA: IT_LOG TYPE TABLE OF TY_LOG,

WA_LOG TYPE TY_LOG.

DATA: WA_HEADER TYPE BAPIMATHEAD,

WA_SALEDATA TYPE BAPI_MVKE,

WA_SALEDATAX TYPE BAPI_MVKEX,

WA_RETURN TYPE BAPIRET2.

DATA: IT_ZCONTROL TYPE TABLE OF ZCONTROL1,

WA_ZCONTROL LIKE LINE OF IT_ZCONTROL.

DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,

WA_FCAT TYPE SLIS_FIELDCAT_ALV,

WA_LAYOUT TYPE SLIS_LAYOUT_ALV,

WA_CELLCOLOR TYPE LVC_S_SCOL.

SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.


SELECT-OPTIONS: S_MATNR FOR MARA-MATNR NO INTERVALS.

PARAMETERS: P_VKORG TYPE MVKE-VKORG OBLIGATORY DEFAULT


'1000',

P_VTWEG TYPE MVKE-VTWEG.

SELECTION-SCREEN: END OF BLOCK B1.

AT SELECTION-SCREEN ON S_MATNR.

PERFORM VALIDATE_MATNR.

START-OF-SELECTION.

SELECT * FROM MVKE INTO TABLE @DATA(IT_MVKE) WHERE MATNR IN


@S_MATNR.

SELECT * FROM MARA INTO TABLE @DATA(IT_MARA) WHERE MATNR IN


@S_MATNR.

SELECT * FROM ZCONTROL1 INTO TABLE IT_ZCONTROL.

REFRESH: IT_LOG.

LOOP AT S_MATNR.
READ TABLE IT_MVKE TRANSPORTING NO FIELDS WITH KEY MATNR =
S_MATNR-LOW

VKORG = P_VKORG

VTWEG = P_VTWEG BINARY SEARCH.

IF SY-SUBRC = 0.

WA_LOG-MSG_TYPE = 'ERROR'.

WA_LOG-MATNR = S_MATNR-LOW.

CONCATENATE S_MATNR-LOW 'Material already exist at' P_VKORG ','


P_VTWEG INTO WA_LOG-STATUS SEPARATED BY SPACE.

WA_CELLCOLOR-COLOR-COL = 6.

WA_CELLCOLOR-COLOR-INT = 1.

WA_CELLCOLOR-COLOR-INV = 0.

APPEND WA_CELLCOLOR TO WA_LOG-CELLCOLOR.

APPEND WA_LOG TO IT_LOG.

CLEAR: WA_LOG, S_MATNR, WA_CELLCOLOR.

CONTINUE.

ENDIF.
READ TABLE IT_MARA INTO DATA(WA_MARA) WITH KEY MATNR =
S_MATNR-LOW.

* SELECT COUNT(*) FROM ZMM_PRD_TYP WHERE PRDCAT = 'RM-COM'.

* READ TABLE IT_ZCONTROL INTO WA_ZCONTROL WITH KEY MTART =


WA_MARA-MTART BINARY SEARCH.

* SELECT MTART, MBRSH FROM MARA INTO @DATA(LV_HDATA) WHERE


MATNR = @S_MATNR-LOW.

* IF SY-SUBRC <> 0.

IF WA_MARA-MTART = 'ZFWR' OR WA_MARA-MTART = 'ZGFG' OR


WA_MARA-MTART = 'ZAFG'.

READ TABLE IT_MVKE INTO DATA(WA_MVKE) WITH KEY MATNR =


S_MATNR-LOW

VKORG = '1000'

VTWEG = '50'.

ELSE.

READ TABLE IT_MVKE INTO WA_MVKE WITH KEY MATNR = S_MATNR-


LOW

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'.

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

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.

CONCATENATE S_MATNR-LOW 'Material extended at' P_VKORG ',' P_VTWEG


INTO WA_LOG-STATUS SEPARATED BY SPACE.
APPEND WA_LOG TO IT_LOG.

CLEAR: WA_LOG, S_MATNR.

ELSE.

WA_LOG-MSG_TYPE = 'ERROR'.

WA_LOG-MATNR = S_MATNR-LOW.

CONCATENATE S_MATNR-LOW WA_RETURN-MESSAGE INTO WA_LOG-


STATUS SEPARATED BY SPACE.

WA_CELLCOLOR-COLOR-COL = 6.

WA_CELLCOLOR-COLOR-INT = 1.

WA_CELLCOLOR-COLOR-INV = 0.

APPEND WA_CELLCOLOR TO WA_LOG-CELLCOLOR.

APPEND WA_LOG TO IT_LOG.

CLEAR: WA_LOG, S_MATNR, WA_CELLCOLOR.

ENDIF.
CLEAR: WA_HEADER, WA_SALEDATA, WA_SALEDATAX, WA_RETURN,
WA_MARA, WA_ZCONTROL, WA_MVKE.

ENDLOOP.

REFRESH IT_FCAT.

CLEAR: WA_FCAT, WA_LAYOUT.

WA_FCAT-FIELDNAME = 'MSG_TYPE'.

WA_FCAT-SELTEXT_M = 'MESSAGE TYPE'.

WA_FCAT-TABNAME = 'IT_LOG'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR: WA_FCAT.

WA_FCAT-FIELDNAME = 'MATNR'.

WA_FCAT-SELTEXT_M = 'MATERIAL NUMBER'.

WA_FCAT-TABNAME = 'IT_LOG'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR: WA_FCAT.

WA_FCAT-FIELDNAME = 'STATUS'.

WA_FCAT-SELTEXT_M = 'STATUS'.
WA_FCAT-TABNAME = 'IT_LOG'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR: WA_FCAT.

WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

WA_LAYOUT-ZEBRA = 'X'.

WA_LAYOUT-COLTAB_FIELDNAME = 'CELLCOLOR'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

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.

DATA: T_HEADER TYPE SLIS_T_LISTHEADER,

WA_HEADER TYPE SLIS_LISTHEADER,

T_LINE LIKE WA_HEADER-INFO,

LD_LINES TYPE I,

LD_LINESC(10) TYPE C.

* Title

WA_HEADER-TYP = 'H'.

WA_HEADER-INFO = 'Extend Sales Organization and Distribution Channel'.

APPEND WA_HEADER TO T_HEADER.

CLEAR WA_HEADER.

DATA : DATE(10) TYPE C.

CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'

EXPORTING
DATE_INTERNAL = SY-DATUM

IMPORTING

DATE_EXTERNAL = DATE

EXCEPTIONS

DATE_INTERNAL_IS_INVALID = 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.

WA_HEADER-TYP = 'S'.

WA_HEADER-KEY = 'Dated'.

WA_HEADER-INFO = DATE.

APPEND WA_HEADER TO T_HEADER.

CLEAR WA_HEADER.

WA_HEADER-TYP = 'S'.

WA_HEADER-KEY = 'RUN BY:'.

WA_HEADER-INFO = SY-UNAME.
APPEND WA_HEADER TO T_HEADER.

CLEAR: WA_HEADER.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = T_HEADER.

ENDFORM.

*&---------------------------------------------------------------------*

*& Form VALIDATE_MATNR

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

* --> p1 text

* <-- p2 text

*----------------------------------------------------------------------*

FORM VALIDATE_MATNR .

IF S_MATNR IS INITIAL.

MESSAGE 'Please Enter Material Number' TYPE 'E'.

ELSE.
LOOP AT S_MATNR.

SELECT COUNT(*) FROM MARA WHERE MATNR = S_MATNR-LOW.

IF SY-SUBRC <> 0.

MESSAGE 'Enter correct material number' TYPE 'E'.

EXIT.

ENDIF.

ENDLOOP.

ENDIF.

ENDFORM.

Result : Cell Color in ALV Grid


Display
You Can Also check our Other similar Articles

 How to create Collective search help in SAP ABAP ?


 How to create elementary search help in sap abap ?
 No schedule lines due for delivery up to the selected date
 SAP ABAP Tables | What are the types of sap tables | SAP ABAP
Table Creation
 TMG IN SAP ABAP | how to create tmg in sap abap | tmg events
in sap abap | Table Maintenance Generator Events | SE11 tcode in
sap
 Interval does not exist for object RF_BELEG | Interval 50 does not
exist for object RF_BELEG 6000 FBN1 | Message number NR751
 CONTROL BREAK STATEMENTS IN SAP ABAP | 4 Types of
Control Break Statements & Examples
 Purchase Order in SAP| Creating a Purchase Order in SAP | SAP
Netweaver Portal 7.3
 Create Material PO using BAPI_PO_CREATE1 |
BAPI_PO_CREATE SAP Function module – Create Purchase
order
 MM Transaction Codes | Maintain Source List in SAP | Post Other
Goods Receipts | Create Non-Stock Material
 Acct. 5XXXX0 for trans./event key BSX, postable directly
 QUICK KNOW :WHAT IS PROCURE TO PAY (P2P) |
PROCURE TO PAY CYCLE IN SAP |

You might also like