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 GRID

Former Member
0 Likes
778

hello,

i am using alv grid, y requiremnt is i have a list of output in inernal table, based on some condition i want to dsiplay somr values in some color and other values inother color , where to do this

cheers

9 REPLIES 9
Read only

hymavathi_oruganti
Active Contributor
0 Likes
762

emphasize is there in lvc_s_fcat. with that u can do it

Read only

Former Member
0 Likes
762

try this.........

&----


*& Report ZCHA_ALV_GRID_CELL_COLOR *

*& *

&----


*& *

*& *

&----


REPORT ZCHA_ALV_GRID_CELL_COLOR .

TABLES:MARA.

DATA: W_CONTAINER TYPE SCRFNAME VALUE 'ALV_CONTAINER',

W_GRID TYPE REF TO CL_GUI_ALV_GRID,

W_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

  • W_EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.

*layout

DATA: WA_LAYOUT TYPE LVC_S_LAYO.

*field catalog

DATA: IT_FIELDCAT_WRT_OFF TYPE LVC_T_FCAT,

WA_FIELDCAT_WRT_OFF TYPE LVC_S_FCAT.

DATA:BEGIN OF IT_MARA OCCURS 0,

MATNR LIKE MARA-MATNR,

MAKTX LIKE MAKT-MAKTX,

CELLCOLORS TYPE LVC_T_SCOL,

END OF IT_MARA.

SELECT P~MATNR

Q~MAKTX

INTO CORRESPONDING FIELDS OF TABLE IT_MARA

FROM MARA AS P INNER JOIN

MAKT AS Q ON

PMATNR = QMATNR.

CALL SCREEN 100.

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE STATUS_0100 OUTPUT.

SET PF-STATUS 'STATUS'.

  • SET TITLEBAR 'xxx'.

IF NOT W_CONTAINER IS INITIAL.

CREATE OBJECT W_CUSTOM_CONTAINER

EXPORTING CONTAINER_NAME = W_CONTAINER.

CREATE OBJECT W_GRID

EXPORTING I_PARENT = W_CUSTOM_CONTAINER.

ENDIF.

CLEAR IT_FIELDCAT_WRT_OFF.

REFRESH IT_FIELDCAT_WRT_OFF.

WA_FIELDCAT_WRT_OFF-FIELDNAME = 'MATNR'.

WA_FIELDCAT_WRT_OFF-COL_POS = '1'.

WA_FIELDCAT_WRT_OFF-OUTPUTLEN = '35'.

WA_FIELDCAT_WRT_OFF-SCRTEXT_L = 'Material No'.

APPEND WA_FIELDCAT_WRT_OFF TO IT_FIELDCAT_WRT_OFF.

CLEAR WA_FIELDCAT_WRT_OFF.

WA_FIELDCAT_WRT_OFF-FIELDNAME = 'MAKTX'.

WA_FIELDCAT_WRT_OFF-COL_POS = '2'.

WA_FIELDCAT_WRT_OFF-OUTPUTLEN = '45'.

WA_FIELDCAT_WRT_OFF-SCRTEXT_L = 'Material Desc'.

APPEND WA_FIELDCAT_WRT_OFF TO IT_FIELDCAT_WRT_OFF.

CLEAR WA_FIELDCAT_WRT_OFF.

DATA LS_CELLCOLOR TYPE LVC_S_SCOL.

READ TABLE IT_MARA INDEX 5 .

LS_CELLCOLOR-FNAME = 'MATNR'.

LS_CELLCOLOR-COLOR-COL = '3'.

LS_CELLCOLOR-COLOR-INT = '1'.

APPEND LS_CELLCOLOR TO IT_MARA-CELLCOLORS.

MODIFY IT_MARA INDEX 5.

WA_LAYOUT-CTAB_FNAME = 'CELLCOLORS'.

CALL METHOD W_GRID->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

IS_LAYOUT = WA_LAYOUT

CHANGING

IT_FIELDCATALOG = IT_FIELDCAT_WRT_OFF

IT_OUTTAB = IT_MARA[].

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE USER_COMMAND_0100 INPUT.

CASE SY-UCOMM.

WHEN 'BACK'.

LEAVE TO SCREEN 0.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

Read only

Former Member
0 Likes
762

Hi,

you need to declare one extra field in internal table of type.

1. cellcolor type lvc_t_scol

2. ls_cellcolor type lvc_s_scol.

    loop at itab.
    l_index = sy-tabix.
    if not itab-field is initial.
      if itab-field <> v_dat_time.
        ls_cellcolor-fname = 'FIELD'.
        ls_cellcolor-color-col = '6'.
        ls_cellcolor-color-int = '1'.
        append ls_cellcolor to itab-cellcolor.
        modify itab index l_index transporting cellcolor.
      endif.
    endif.
  endloop.

2. layout-ctab_fname = 'CELLCOLOR'.

thats it ...where field is initial it will be in red color

regards

vijay

Read only

0 Likes
762

HAI,

I AM USING REUSE_ALV_GRID_DISPLAY.

SO THER IS NO FIELD ctab_fname FOR LAYOUT

CHEERS

Read only

0 Likes
762

u can find that in LVC fieldcat. probably u r using SLIS fieldcat.

if u want to set colors u can use "empahsize" no

Read only

0 Likes
762

Hi Kumar,

Just copy paste the code and see the effect..

REPORT ZTESTALV.

TYPE-POOLS: SLIS.
INCLUDE <ICON>.
*- Fieldcatalog
DATA: IT_FIELDCAT  TYPE LVC_T_FCAT,
      IT_FIELDCAT1  TYPE SLIS_T_FIELDCAT_ALV..
*- For Events
DATA:IT_EVENTS TYPE SLIS_T_EVENT.

DATA:  X_FIELDCAT  TYPE LVC_S_FCAT,
        X_FIELDCAT1  TYPE SLIS_FIELDCAT_ALV.
DATA:X_LAYOUT TYPE LVC_S_LAYO.
TABLES: LIPS.
DATA: BEGIN OF IT_VBAP OCCURS 0,
      VBELN LIKE VBAP-VBELN,
      POSNR LIKE VBAP-POSNR,
      CELLCOLOR TYPE LVC_T_SCOL,
     END OF IT_VBAP.

SELECT VBELN
       POSNR
       UP TO 10 ROWS
      INTO CORRESPONDING FIELDS OF TABLE IT_VBAP
      FROM VBAP.


DATA:L_POS TYPE I VALUE 1.
CLEAR: L_POS.
L_POS = L_POS + 1.
X_FIELDCAT-SELTEXT = 'VBELN'.
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS    = L_POS.
X_FIELDCAT-OUTPUTLEN = '10'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_POS = L_POS + 1.

X_FIELDCAT-SELTEXT = 'POSNR'.
X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS    = L_POS.
X_FIELDCAT-OUTPUTLEN = '5'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_POS = L_POS + 1.
X_LAYOUT-CTAB_FNAME = 'CELLCOLOR'.
DATA: LS_CELLCOLOR TYPE LVC_S_SCOL.
DATA: L_INDEX TYPE SY-TABIX.
LOOP AT IT_VBAP.
  L_INDEX = SY-TABIX.
  LS_CELLCOLOR-FNAME = 'VBELN'.
  LS_CELLCOLOR-COLOR-COL = '6'.
  LS_CELLCOLOR-COLOR-INT = '1'.
  APPEND LS_CELLCOLOR TO IT_VBAP-CELLCOLOR.
  MODIFY IT_VBAP INDEX L_INDEX TRANSPORTING CELLCOLOR.

ENDLOOP.


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
  EXPORTING
    I_CALLBACK_PROGRAM       = SY-REPID
    IS_LAYOUT_LVC            = X_LAYOUT
    IT_FIELDCAT_LVC          = IT_FIELDCAT
  TABLES
    T_OUTTAB                 = IT_VBAP[]
  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.

regards

vijay

Read only

Former Member
0 Likes
762

Hi kumar,

i have some documentation about alv grid where it is explained how to color row or single cell.

Send me an email, can you see my address by bussiness card.

Bye

enzo

Read only

amit_khare
Active Contributor
0 Likes
762

Hi,

Kindly use slis_coltypes to color the rows and pass that value in the ZF_LAYOUT-INFO_FIELDNAME = '; of the layout .

Amit

Read only

Former Member
0 Likes
762
*--- Internal table holding list 
data DATA BEGIN OF gt_list OCCURS 0 .
 INCLUDE STRUCTURE SFLIGHT . 
DATA rowcolor(4) TYPE c . 
DATA cellcolors TYPE lvc_t_scol . 
DATA END OF gt_list . 




DATA ls_cellcolor TYPE lvc_s_scol . ... 
READ TABLE gt_list INDEX 5 . 
ls_cellcolor-fname = 'SEATSOCC' . 
ls_cellcolor-color-col = '7' . 
ls_cellcolor-color-int = '1' . 
APPEND ls_cellcolor TO gt_list-cellcolors .
 MODIFY gt_list INDEX 5 .

Message was edited by: chandrasekhar jagarlamudi