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: 

Display Color for sigle CELL in ALV report

Former Member
0 Kudos

Hi all,

I have one doubt is it possible to make a particular cell as read color in ALV.

Ex: I have one field which shows amount in my ALV report,My requirement is that when ever the amount is less then 'ZERO', I have to show that particular cell in read color.

Regards

Anil Kumar.N

4 REPLIES 4

Former Member
0 Kudos

Hi,

if amt LT ' 0' .

Write:/ amt color6.

else

write:/ amt.

endif.

Regards,

Vani.

Former Member
0 Kudos

HI

Here is the code.

*&---------------------------------------------------------------------*
*& Report ZALV_DS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT zalv_ds LINE-SIZE 35.

TYPE-POOLS:slis.

TABLES:mara,
makt,
marc.

DATA:BEGIN OF itab OCCURS 0,
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
werks LIKE marc-werks,
mtart LIKE mara-mtart,
matkl LIKE mara-matkl,
meins LIKE mara-meins,
ntgew LIKE mara-ntgew,
* rowcolor(4) TYPE c,
cellcolors TYPE lvc_t_scol,
END OF itab.

DATA:t_fcat TYPE slis_t_fieldcat_alv,
t_eve TYPE slis_t_event.

DATA : st_layout TYPE slis_layout_alv.

SELECTION-SCREEN:BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
SELECT-OPTIONS:mat FOR mara-matnr. " no intervals no-extension.
*PARAMETERS:mat LIKE mara-matnr.
SELECTION-SCREEN:END OF BLOCK blk1.

INITIALIZATION.
PERFORM build_cata USING t_fcat.
PERFORM build_event.

START-OF-SELECTION.
PERFORM data_retrieval.
PERFORM display_data.

*&---------------------------------------------------------------------*
*& Form build_cata
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->TEMP_FCAT text
*----------------------------------------------------------------------*
FORM build_cata USING temp_fcat TYPE slis_t_fieldcat_alv.

sy-tvar0 = sy-uname.
WRITE sy-datum TO sy-tvar1.

DATA:wa_fcat TYPE slis_fieldcat_alv.

wa_fcat-tabname = 'ITAB'.
wa_fcat-fieldname = 'MATNR'.
wa_fcat-seltext_m = 'Material'.
* wa_fcat-key = ''. "To color e column
APPEND wa_fcat TO temp_fcat.

wa_fcat-tabname = 'ITAB'.
wa_fcat-fieldname = 'MAKTX'.
wa_fcat-seltext_m = 'Description'.
wa_fcat-fix_column = 'x'.
* wa_fcat-key = ''.
APPEND wa_fcat TO temp_fcat.

wa_fcat-tabname = 'ITAB'.
wa_fcat-fieldname = 'WERKS'.
wa_fcat-seltext_m = 'Plant'.
* wa_fcat-fix_column = 'x'.
APPEND wa_fcat TO temp_fcat.

wa_fcat-tabname = 'ITAB'.
wa_fcat-fieldname = 'MTART'.
wa_fcat-seltext_m = 'Type'.
APPEND wa_fcat TO temp_fcat.

wa_fcat-tabname = 'ITAB'.
wa_fcat-fieldname = 'MATKL'.
wa_fcat-seltext_m = 'Group'.
APPEND wa_fcat TO temp_fcat.

wa_fcat-tabname = 'ITAB'.
wa_fcat-fieldname = 'MEINS'.
wa_fcat-seltext_m = 'Measurement Unit'.
APPEND wa_fcat TO temp_fcat.

wa_fcat-tabname = 'ITAB'.
wa_fcat-fieldname = 'NTGEW'.
wa_fcat-seltext_m = 'Net Value'.
APPEND wa_fcat TO temp_fcat.


ENDFORM. "build_cata

*&---------------------------------------------------------------------*
*& Form build_event
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM build_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = t_eve
EXCEPTIONS
list_type_wrong = 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.

ENDFORM. "build_event


*&---------------------------------------------------------------------*
*& Form data_retrieval
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM data_retrieval.

SELECT mara~matnr mara~mtart mara~matkl mara~meins mara~ntgew
makt~maktx marc~werks
INTO CORRESPONDING FIELDS OF TABLE itab
FROM mara INNER JOIN makt ON
mara~matnr = makt~matnr
INNER JOIN marc ON
mara~matnr = marc~matnr
WHERE mara~matnr IN mat.

SORT itab BY matnr.
DELETE ADJACENT DUPLICATES FROM itab.
ENDFORM. "data_retrieval

*&---------------------------------------------------------------------*
*& Form display_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM display_data.

**************************************************************************************************
********************************For setting Cell Color********************************************
**************************************************************************************************

DATA ls_cellcolor TYPE lvc_s_scol .

st_layout-coltab_fieldname = 'CELLCOLORS'.

READ TABLE itab INDEX 5 .
ls_cellcolor-fname = 'MATNR' .
ls_cellcolor-color-col = '1' .
ls_cellcolor-color-int = '1' .
APPEND ls_cellcolor TO itab-cellcolors .
MODIFY itab INDEX 5 .


* st_layout-colwidth_optimize = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = 'ZALV_DS'
is_layout = st_layout
i_save = 'A'
it_fieldcat = t_fcat
it_events = t_eve
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.


ENDFORM. "display_data

<b>Reward if usefull</b>

0 Kudos

hi,

y u dont use ur logic?

Former Member
0 Kudos

hi,

here code for coloring a perticular cell

TYPE-POOLS:slis.

TABLES:mara,

makt,

marc.

DATA:BEGIN OF itab OCCURS 0,

matnr LIKE mara-matnr,

maktx LIKE makt-maktx,

werks LIKE marc-werks,

mtart LIKE mara-mtart,

matkl LIKE mara-matkl,

meins LIKE mara-meins,

ntgew LIKE mara-ntgew,

  • rowcolor(4) TYPE c,

cellcolors TYPE lvc_t_scol,

END OF itab.

DATA:t_fcat TYPE slis_t_fieldcat_alv,

t_eve TYPE slis_t_event.

DATA : st_layout TYPE slis_layout_alv.

SELECTION-SCREEN:BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.

SELECT-OPTIONS:mat FOR mara-matnr. " no intervals no-extension.

*PARAMETERS:mat LIKE mara-matnr.

SELECTION-SCREEN:END OF BLOCK blk1.

INITIALIZATION.

PERFORM build_cata USING t_fcat.

PERFORM build_event.

START-OF-SELECTION.

PERFORM data_retrieval.

PERFORM display_data.

&----


*& Form build_cata

&----


  • text

----


  • -->TEMP_FCAT text

----


FORM build_cata USING temp_fcat TYPE slis_t_fieldcat_alv.

sy-tvar0 = sy-uname.

WRITE sy-datum TO sy-tvar1.

DATA:wa_fcat TYPE slis_fieldcat_alv.

wa_fcat-tabname = 'ITAB'.

wa_fcat-fieldname = 'MATNR'.

wa_fcat-seltext_m = 'Material'.

APPEND wa_fcat TO temp_fcat.

wa_fcat-tabname = 'ITAB'.

wa_fcat-fieldname = 'MAKTX'.

wa_fcat-seltext_m = 'Description'.

wa_fcat-fix_column = 'x'.

wa_fcat-key = 'X'. "To color a column

APPEND wa_fcat TO temp_fcat.

wa_fcat-tabname = 'ITAB'.

wa_fcat-fieldname = 'WERKS'.

wa_fcat-seltext_m = 'Plant'.

wa_fcat-key = ' '.

APPEND wa_fcat TO temp_fcat.

wa_fcat-tabname = 'ITAB'.

wa_fcat-fieldname = 'MTART'.

wa_fcat-seltext_m = 'Type'.

APPEND wa_fcat TO temp_fcat.

wa_fcat-tabname = 'ITAB'.

wa_fcat-fieldname = 'MATKL'.

wa_fcat-seltext_m = 'Group'.

APPEND wa_fcat TO temp_fcat.

wa_fcat-tabname = 'ITAB'.

wa_fcat-fieldname = 'MEINS'.

wa_fcat-seltext_m = 'Measurement Unit'.

APPEND wa_fcat TO temp_fcat.

wa_fcat-tabname = 'ITAB'.

wa_fcat-fieldname = 'NTGEW'.

wa_fcat-seltext_m = 'Net Value'.

APPEND wa_fcat TO temp_fcat.

ENDFORM. "build_cata

&----


*& Form build_event

&----


  • text

----


FORM build_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = t_eve

EXCEPTIONS

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

ENDFORM. "build_event

&----


*& Form data_retrieval

&----


  • text

----


FORM data_retrieval.

SELECT maramatnr maramtart maramatkl marameins mara~ntgew

maktmaktx marcwerks

INTO CORRESPONDING FIELDS OF TABLE itab

FROM mara INNER JOIN makt ON

maramatnr = maktmatnr

INNER JOIN marc ON

maramatnr = marcmatnr

WHERE mara~matnr IN mat.

SORT itab BY matnr.

DELETE ADJACENT DUPLICATES FROM itab.

ENDFORM. "data_retrieval

&----


*& Form display_data

&----


  • text

----


FORM display_data.

**************************************************************************************************

*******************************For setting Cell Color*******************************************

**************************************************************************************************

DATA ls_cellcolor TYPE lvc_s_scol .

st_layout-coltab_fieldname = 'CELLCOLORS'.

READ TABLE itab INDEX 5 .

ls_cellcolor-fname = 'MATNR' .

ls_cellcolor-color-col = '1' .

ls_cellcolor-color-int = '1' .

APPEND ls_cellcolor TO itab-cellcolors .

MODIFY itab INDEX 5 .

  • st_layout-colwidth_optimize = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = 'ZALV_DS'

is_layout = st_layout

i_save = 'A'

it_fieldcat = t_fcat

it_events = t_eve

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.

ENDFORM. "display_data

Please reward if useful...