Application Development and Automation 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: 
Read only

alv

Former Member
0 Likes
610

hi ,

i want to dispaly in alv grid display output one perticular column with colour .

how can i do? what is the condition i have to put?

thanks.

4 REPLIES 4
Read only

uwe_schieferstein
Active Contributor
0 Likes
580

Hello Kumar

Set the following value in the fieldcatalog entry for this column:

LS_FCAT-EMPHASIZE = 'C400'.  " possible values: 100/100 - 700/710

Have a look at sample report ZUS_SDN_ALV_CELL_STYLE_2 () to see what is possible with respect to ALV colouring.

Regards

Uwe

Read only

Former Member
0 Likes
580

Hi,

In fieldcatalogue for that particular field where you want to add colour add :

it_fcat-EMPHASIZE = 'C410'.

C- stands for colour

Other combinations can be c410, C411, C400, ......C510 ,

The format should be like

C<1-9><0-1><0-1>.

Read only

Former Member
0 Likes
580

Hi,

Check this sample code

REPORT z_colour NO STANDARD PAGE HEADING .

TABLES :pa0002.

TYPE-POOLS: slis. "ALV Declarations

DATA : BEGIN OF it OCCURS 0,

pernr LIKE pa0001-pernr,

rufnm LIKE pa0002-rufnm,

cell_colour TYPE lvc_t_scol, "Cell colour

END OF it.

SELECTION-SCREEN BEGIN OF BLOCK main WITH FRAME.

SELECT-OPTIONS :s_pnum FOR pa0002-pernr .

SELECTION-SCREEN END OF BLOCK main.

*ALV data declarations

DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH

HEADER LINE,

gd_layout TYPE slis_layout_alv,

gd_repid LIKE sy-repid,

gt_sort TYPE slis_t_sortinfo_alv.

  • To colour a cell.

DATA ls_cellcolour TYPE lvc_s_scol.

START-OF-SELECTION.

PERFORM data_retrieval.

PERFORM build_fieldcatalog.

PERFORM build_layout.

PERFORM display_alv_report.

END-OF-SELECTION.

FREE : it.

FORM build_fieldcatalog .

fieldcatalog-fieldname = 'PERNR'.

fieldcatalog-seltext_m = 'Personnel No.'.

fieldcatalog-col_pos = 0.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'RUFNM'.

fieldcatalog-seltext_m = 'Name'.

fieldcatalog-col_pos = 0.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

ENDFORM.

FORM build_layout .

gd_layout-no_input = 'X'.

gd_layout-colwidth_optimize = 'X'.

gd_layout-totals_text = 'Totals'(256).

gd_layout-coltab_fieldname = 'CELL_COLOUR'.

ENDFORM. " build_layout

FORM display_alv_report .

gd_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = gd_repid

is_layout = gd_layout

it_fieldcat = fieldcatalog[]

i_save = 'A'

TABLES

t_outtab = it

EXCEPTIONS

program_error = 1

OTHERS = 2.

IF sy-subrc <> 0.

ENDIF.

ENDFORM. " display_alv_report

FORM data_retrieval .

select pernr rufnm from pa0002 into corresponding

fields of table it where pernr in s_pnum.

LOOP AT it.

*Now based on the value of the field pernr we can

change the cell colour of the field rufnm or pernr.

IF it-pernr eq '10001' .

ls_cellcolour-fname = 'RUFNM'.

ls_cellcolour-color-col = '5'.

ls_cellcolour-color-int = '1'.

ls_cellcolour-color-inv = '0'.

APPEND ls_cellcolour TO it-cell_colour.

IF sy-subrc EQ 0.

MODIFY it.

ENDIF.

ENDIF.

ENDLOOP.

ENDFORM.

Regards,

Neenu

Read only

Former Member
0 Likes
580

hi

use this code from (perfect code to color..single row,column,cell)



report zrich_0002 .
 
*****************************************************************
* Use of colours in ALV grid (cell, line and column)            *
*****************************************************************
 
* Table
tables : mara.
 
* Type
types : begin of ty_mara,
          matnr         like mara-matnr,
          matkl         like mara-matkl,
          counter(4)    type n,
          free_text(15) type c,
          color_line(4) type c,           " Line color
          color_cell    type lvc_t_scol,  " Cell color
end of ty_mara.
 
* Structures
data  : wa_mara     type ty_mara,
        wa_fieldcat type lvc_s_fcat,
        is_layout   type lvc_s_layo,
        wa_color    type lvc_s_scol.
 
* Internal table
data : it_mara     type standard table of ty_mara,
       it_fieldcat type standard table of lvc_s_fcat,
       it_color    type table          of lvc_s_scol.
 
* Variables
data : okcode like sy-ucomm,
       w_alv_grid          type ref to cl_gui_alv_grid,
       w_docking_container type ref to cl_gui_docking_container.
 
 
parameters : p_column as checkbox,
             p_line   as checkbox,
             p_cell   as checkbox.
 
at selection-screen output.
 
  perform get_data.
  perform fill_catalog.
 
  if w_docking_container is initial.
    perform create_objects.
  endif.
 
*&--------------------------------------------------------------*
*&      Form  create_objects
*&--------------------------------------------------------------*
form create_objects.
 
  create object w_docking_container
    exporting
      ratio                       = 60
    exceptions
      cntl_error                  = 1
      cntl_system_error           = 2
      create_error                = 3
      lifetime_error              = 4
      lifetime_dynpro_dynpro_link = 5
      others                      = 6.
 
  create object w_alv_grid
    exporting
      i_parent          = w_docking_container.
 
* Field that identify color line in internal table
  move 'COLOR_LINE' to is_layout-info_fname.
 
* Field that identify cell color in inetrnal table
  move 'COLOR_CELL' to is_layout-ctab_fname.
 
  call method w_alv_grid->set_table_for_first_display
    exporting
      is_layout                     = is_layout
    changing
      it_outtab                     = it_mara
      it_fieldcatalog               = it_fieldcat
    exceptions
      invalid_parameter_combination = 1
      program_error                 = 2
      too_many_lines                = 3
      others                        = 4.
 
endform.
*&--------------------------------------------------------------*
*&      Form  get_data
*&--------------------------------------------------------------*
form get_data.
 
  select * from mara up to 5 rows.
    clear : wa_mara-color_line, wa_mara-color_cell.
 
    move-corresponding mara to wa_mara.
    add 1                   to wa_mara-counter.
    move 'Blabla'           to wa_mara-free_text.
 
    if wa_mara-counter = '0002'
    and p_line = 'X'.
* Color line
      move 'C410' to wa_mara-color_line.
    elseif wa_mara-counter = '0004'
    and p_cell = 'X'.
* Color cell
      move 'FREE_TEXT' to wa_color-fname.
      move '6'         to wa_color-color-col.
      move '1'         to wa_color-color-int.
      move '1'         to wa_color-color-inv.
      append wa_color to it_color.
      wa_mara-color_cell[] = it_color[].
    endif.
 
    append wa_mara to it_mara.
  endselect.
 
endform.
*&--------------------------------------------------------------*
*&      Form  fill_catalog
*&--------------------------------------------------------------*
form fill_catalog.
 
*****************************************************************
* Colour code :                                                 *
* Colour is a 4-char field where :                              *
*              - 1st char = C (color property)                  *
*              - 2nd char = color code (from 0 to 7)            *
*                                  0 = background color         *
*                                  1 = blue                     *
*                                  2 = gray                     *
*                                  3 = yellow                   *
*                                  4 = blue/gray                *
*                                  5 = green                    *
*                                  6 = red                      *
*                                  7 = orange                   *
*              - 3rd char = intensified (0=off, 1=on)           *
*              - 4th char = inverse display (0=off, 1=on)       *
*                                                               *
* Colour overwriting priority :                                 *
*   1. Line                                                     *
*   2. Cell                                                     *
*   3. Column                                                   *
*****************************************************************
  data : w_position type i value '1'.
 
  clear wa_fieldcat.
  move w_position to wa_fieldcat-col_pos.
  move 'MATNR'    to wa_fieldcat-fieldname.
  move 'MARA'     to wa_fieldcat-ref_table.
  move 'MATNR'    to wa_fieldcat-ref_field.
  append wa_fieldcat to it_fieldcat.
 
  add 1 to w_position.
 
  clear wa_fieldcat.
  move w_position to wa_fieldcat-col_pos.
  move 'MATKL'    to wa_fieldcat-fieldname.
  move 'MARA'     to wa_fieldcat-ref_table.
  move 'MATKL'    to wa_fieldcat-ref_field.
* Color column
  if p_column = 'X'.
    move 'C610'     to wa_fieldcat-emphasize.
  endif.
  append wa_fieldcat to it_fieldcat.
 
  add 1 to w_position.
 
  clear wa_fieldcat.
  move w_position to wa_fieldcat-col_pos.
  move 'COUNTER'  to wa_fieldcat-fieldname.
  move 'N'        to wa_fieldcat-inttype.
  move '4'        to wa_fieldcat-intlen.
  move 'Counter'  to wa_fieldcat-coltext.
  append wa_fieldcat to it_fieldcat.
 
  add 1 to w_position.
 
  clear wa_fieldcat.
  move w_position  to wa_fieldcat-col_pos.
  move 'FREE_TEXT' to wa_fieldcat-fieldname.
  move 'C'         to wa_fieldcat-inttype.
  move '20'        to wa_fieldcat-intlen.
  move 'Text'      to wa_fieldcat-coltext.
  append wa_fieldcat to it_fieldcat.
 
endform.
 

regards

vivek