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: 

color on subtotal in alv

Former Member
0 Kudos

Is there any possibility to display color on subtotals as it generated dynamically in alv.

FM used : reuse_alv_grid_display..

1. i am calculating the threshold quantity of shipped quantities for 12 months

and populating it for customer material combination.

2. for every customer material combination it displays the threshold quantity

3. I am populating the shipped quantity by month wise for that customer and material combination

.

4. Requirement is to check the shipped quantity and threshold quantity for the

customer material combination , if the monthly shipped quantity is greater than

threshold quantity then color is to be displayed on that subtotals as the end user

identify easily.

Can u Please reply logic to check this .

Thanks in advance.

Rao

1 REPLY 1

Former Member
0 Kudos

Hai,

<b>See the below program for ALV color:</b>

TYPE-POOLS: SLIS.

PARAMETERS:

P_ROW TYPE I,

P_COLUMN TYPE I.

DATA:

FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

FIELDCAT_LN LIKE LINE OF FIELDCAT,

SORTCAT TYPE SLIS_T_SORTINFO_ALV,

SORTCAT_LN LIKE LINE OF SORTCAT,

EVENTCAT TYPE SLIS_T_EVENT,

EVENTCAT_LN LIKE LINE OF EVENTCAT.

DATA:

COL_POS TYPE I.

******Declare Data Areas for List Viewer (End)**************

******Declare Internal Table to Store Selected Data (Begin)*

DATA:

BEGIN OF ISPFLI OCCURS 0,

CHECK TYPE SLIS_FIELDNAME,

R_COLOR(3) TYPE C,

CELL TYPE SLIS_T_SPECIALCOL_ALV,

CARRID LIKE SPFLI-CARRID,

CONNID LIKE SPFLI-CONNID,

COUNTRYFR LIKE SPFLI-COUNTRYFR,

END OF ISPFLI.

DATA:

WA LIKE LINE OF ISPFLI,

W_LINES TYPE I.

DATA:

FS_CELL LIKE LINE OF ISPFLI-CELL.

DATA:

LAYOUT1 TYPE SLIS_LAYOUT_ALV.

******Declare Internal Table to Store Selected Data (End)***

*******Select Data into Internal Table (Begin) ***************

SELECT CARRID CONNID COUNTRYFR

INTO CORRESPONDING FIELDS OF TABLE ISPFLI

FROM SPFLI.

DESCRIBE TABLE ISPFLI LINES W_LINES.

IF P_ROW IS INITIAL AND

P_COLUMN IS INITIAL .

MESSAGE 'Enter atlest one number' TYPE 'I'.

STOP.

ELSEIF P_ROW GT W_LINES.

MESSAGE 'Row with the row number is not there' TYPE 'I'.

STOP.

ENDIF.

IF P_COLUMN IS NOT INITIAL AND

P_COLUMN GT 3.

MESSAGE 'Field with the column number is not there' TYPE 'I'.

STOP.

ENDIF.

              • Select Data into Internal Table (End) ****************

              • Build Field Catalogs (Begin)**************************

IF P_ROW IS NOT INITIAL AND P_COLUMN IS INITIAL.

PERFORM BUILD_FIELDCAT.

PERFORM BUILD_FIELDCAT2.

PERFORM BUILD_FIELDCAT4.

PERFORM BUILD_LAYOUT1.

PERFORM ROW_COLOR.

ELSEIF P_COLUMN IS NOT INITIAL

AND P_ROW IS NOT INITIAL.

PERFORM BUILD_FIELDCAT.

PERFORM BUILD_FIELDCAT2.

PERFORM BUILD_FIELDCAT4.

PERFORM BUILD_LAYOUT1.

PERFORM CELL_COLOR.

ELSE.

PERFORM BUILD_FIELDCAT.

PERFORM BUILD_FIELDCAT2.

PERFORM BUILD_FIELDCAT3.

PERFORM BUILD_LAYOUT1.

ENDIF.

  • PERFORM ROW_COLOR.

  • PERFORM CELL_COLOR.

  • PERFORM BUILD_FIELDCAT.

  • PERFORM BUILD_FIELDCAT2.

  • PERFORM BUILD_FIELDCAT3.

  • PERFORM BUILD_LAYOUT1.

  • PERFORM ROW_COLOR.

  • PERFORM CELL_COLOR.

  • PERFORM ROW_COLOR.

  • PERFORM CELL_COLOR.

  • PERFORM BUILD_SORTCAT.

  • PERFORM BUILD_SORTCAT2.

******Build Field Catalogs (End)*****************************

******Build Event Catalog (Begin)****************************

PERFORM BUILD_EVENTCAT.

******Build Event Catalog (End)******************************

******Start List Viewer (Begin)******************************

PERFORM START_LIST_VIEWER.

******Start List Viewer (End)********************************

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

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

********FORM ROUTINES (Begin)********************************

FORM ROW_COLOR.

CLEAR WA.

READ TABLE ISPFLI INDEX P_ROW INTO WA.

WA-R_COLOR = 'C61'.

MODIFY ISPFLI FROM WA INDEX P_ROW.

CLEAR WA.

ENDFORM.

FORM CELL_COLOR.

CLEAR WA.

CLEAR FS_CELL.

FS_CELL-FIELDNAME = 'CONNID'.

FS_CELL-COLOR-COL = P_COLUMN."4.

FS_CELL-COLOR-INT = 0.

FS_CELL-COLOR-INV = 1.

  • READ TABLE ISPFLI INDEX P_ROW INTO WA.

APPEND FS_CELL TO WA-CELL.

MODIFY ISPFLI FROM WA INDEX P_ROW TRANSPORTING CELL.

CLEAR WA.

CLEAR FS_CELL.

ENDFORM.

  • Color table-FIELDNAME = field name of the cell to be colored

  • Color table-COLOR-COL = color number (1 - 9)

  • Color table-COLOR-INT = bold (0 = off, 1 = on)

  • Color table-COLOR-INV = inverse (0 = off, 1 = on)

  • Color table-NOKEYCOL = ignore key coloring ('X' = yes, ' ' = no)

FORM BUILD_FIELDCAT.

CLEAR FIELDCAT_LN.

  • ADD 1 TO COL_POS.

FIELDCAT_LN-REF_TABNAME = 'SPFLI'.

FIELDCAT_LN-FIELDNAME = 'CARRID'.

  • FIELDCAT_LN-REF_FIELDNAME = SPACE.

FIELDCAT_LN-OUTPUTLEN = 20.

FIELDCAT_LN-KEY = 'X'.

FIELDCAT_LN-NO_OUT = 'X'."SPACE.

  • FIELDCAT_LN-DO_SUM = SPACE.

FIELDCAT_LN-COL_POS = 2.

FIELDCAT_LN-NO_OUT = SPACE.

  • FIELDCAT_LN-QFIELDNAME = SPACE.

FIELDCAT_LN-HOTSPOT = 'X'.

APPEND FIELDCAT_LN TO FIELDCAT.

ENDFORM. "BUILD_FIELDCAT

&----


*& Form BUILD_FIELDCAT2

&----


  • text

----


FORM BUILD_FIELDCAT2.

CLEAR FIELDCAT_LN.

  • ADD 1 TO COL_POS.

FIELDCAT_LN-REF_TABNAME = 'SPFLI'.

FIELDCAT_LN-FIELDNAME = 'CONNID'.

  • FIELDCAT_LN-REF_FIELDNAME = SPACE.

FIELDCAT_LN-OUTPUTLEN = 20.

FIELDCAT_LN-KEY = 'X'.

  • FIELDCAT_LN-DO_SUM = SPACE.

FIELDCAT_LN-COL_POS = 1.

FIELDCAT_LN-NO_OUT = SPACE .

  • FIELDCAT_LN-QFIELDNAME = SPACE.

FIELDCAT_LN-HOTSPOT = SPACE.

APPEND FIELDCAT_LN TO FIELDCAT.

ENDFORM. "BUILD_FIELDCAT2

&----


*& Form BUILD_FIELDCAT3

&----


  • text

----


FORM BUILD_FIELDCAT3.

CLEAR FIELDCAT_LN.

  • ADD 1 TO COL_POS.

FIELDCAT_LN-REF_TABNAME = 'SPFLI'.

FIELDCAT_LN-FIELDNAME = 'COUNTRYFR'.

  • FIELDCAT_LN-REF_FIELDNAME = SPACE.

FIELDCAT_LN-OUTPUTLEN = 20.

FIELDCAT_LN-EMPHASIZE = 'C310'.

  • FIELDCAT_LN-EMPHASIZE = 'X'.

  • FIELDCAT_LN-EMPHASIZE = SPACE.

  • FIELDCAT_LN-KEY = SPACE.

  • FIELDCAT_LN-DO_SUM = 'X'.

FIELDCAT_LN-COL_POS = 3.

FIELDCAT_LN-NO_OUT = SPACE.

  • FIELDCAT_LN-QFIELDNAME = SPACE.

  • FIELDCAT_LN-HOTSPOT = SPACE.

APPEND FIELDCAT_LN TO FIELDCAT.

ENDFORM. "BUILD_FIELDCAT3

FORM BUILD_FIELDCAT4.

CLEAR FIELDCAT_LN.

  • ADD 1 TO COL_POS.

FIELDCAT_LN-REF_TABNAME = 'SPFLI'.

FIELDCAT_LN-FIELDNAME = 'COUNTRYFR'.

  • FIELDCAT_LN-REF_FIELDNAME = SPACE.

FIELDCAT_LN-OUTPUTLEN = 20.

  • FIELDCAT_LN-EMPHASIZE = 'C310'.

  • FIELDCAT_LN-EMPHASIZE = 'X'.

  • FIELDCAT_LN-EMPHASIZE = SPACE.

  • FIELDCAT_LN-KEY = SPACE.

  • FIELDCAT_LN-DO_SUM = 'X'.

FIELDCAT_LN-COL_POS = 3.

FIELDCAT_LN-NO_OUT = SPACE.

  • FIELDCAT_LN-QFIELDNAME = SPACE.

  • FIELDCAT_LN-HOTSPOT = SPACE.

APPEND FIELDCAT_LN TO FIELDCAT.

ENDFORM. "BUILD_FIELDCAT3

&----


*& Form BUILD_SORTCAT

&----


  • text

----


FORM BUILD_SORTCAT.

CLEAR SORTCAT_LN.

SORTCAT_LN-SPOS = '1'.

SORTCAT_LN-FIELDNAME = 'CONNID'.

SORTCAT_LN-UP = 'X'..

  • SORTCAT_LN-DOWN = SPACE.

SORTCAT_LN-SUBTOT = 'X'.

APPEND SORTCAT_LN TO SORTCAT.

ENDFORM. "BUILD_SORTCAT

&----


*& Form BUILD_SORTCAT2

&----


  • text

----


FORM BUILD_SORTCAT2.

CLEAR SORTCAT_LN.

SORTCAT_LN-SPOS = '2'.

SORTCAT_LN-FIELDNAME = 'CARRID'.

  • SORTCAT_LN-UP = SPACE.

SORTCAT_LN-DOWN = 'X'.

  • SORTCAT_LN-SUBTOT = SPACE.

APPEND SORTCAT_LN TO SORTCAT.

ENDFORM. " BUILD_SORTCAT2

FORM BUILD_LAYOUT1.

LAYOUT1-BOX_FIELDNAME = 'CHECK'.

LAYOUT1-INFO_FIELDNAME = 'R_COLOR'.

LAYOUT1-COLTAB_FIELDNAME = 'CELL'.

ENDFORM. " BUILD_LAYOUT1

&----


*& Form BUILD_EVENTCAT

&----


  • text

----


FORM BUILD_EVENTCAT.

EVENTCAT_LN-NAME = 'TOP_OF_PAGE'.

EVENTCAT_LN-FORM = 'PAGE_HEADER'.

APPEND EVENTCAT_LN TO EVENTCAT.

ENDFORM. "BUILD_EVENTCAT

&----


*& Form START_LIST_VIEWER

&----


  • text

----


FORM START_LIST_VIEWER.

DATA: PGM LIKE SY-REPID.

PGM = SY-REPID.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

I_CALLBACK_PROGRAM = PGM

  • i_callback_pf_status_set = ' '

  • I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

  • I_STRUCTURE_NAME =

IS_LAYOUT = LAYOUT1

IT_FIELDCAT = FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = SORTCAT

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = 'A'

  • IS_VARIANT = ' '

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • es_exit_caused_by_user =

TABLES

T_OUTTAB = ISPFLI

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

ENDFORM. "START_LIST_VIEWER

Hope you got it.

<b>Reward points if it helps you.</b>

Regds,

Rama chary.Pammi