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: 

Icon in alv grid

Former Member
0 Kudos

Hi

I need to display an icon in alv grid display, can any one give me the sample code (I am using resue alv grid display)

Thanks

saikar

5 REPLIES 5

Former Member
0 Kudos

hi karthik,

1) To get access to the icons insert the following statement in the top of the program:

TYPE-POOLS: icon.

example:

declare an include <icon>

in final table with which you display ALV

have a field ad icon like icon-id.

and these constant values..

For green light

c_green like icon-id value '@08@',

For Yellow light

c_yellow like icon-id value '@09@',

For red light

c_red like icon-id value '@0A@'.

for change u can use red or green or yellow lights..

plz reward points if helpful..

Former Member
0 Kudos

Look into the Forum discussion...below

Vinodh Balakrishnan

Former Member
0 Kudos

following SAP standard program may help you to solve your problem.

BCALV_FULLSCREEN_DEMO

Regards,

Gopi,

Reward points if helpfull.

Former Member
0 Kudos

REPORT ZALV .

INCLUDE <ICON>.

TYPE-POOLS: SLIS.

DATA: BEGIN OF IT_VBAK OCCURS 0,

BOX(1) TYPE C,

LIGHT(1) TYPE C,

VBELN TYPE VBAK-VBELN,

AUDAT TYPE VBAK-AUDAT,

AUART TYPE VBAK-AUART,

NETWR TYPE VBAK-NETWR,

WAERK TYPE VBAK-WAERK,

VKORG TYPE VBAK-VKORG,

ICON(20) TYPE C,

END OF IT_VBAK.

DATA: FLDCAT TYPE SLIS_T_FIELDCAT_ALV,

WA_CAT TYPE SLIS_FIELDCAT_ALV,

T_EVENT TYPE SLIS_T_EVENT,

WA_EVENT TYPE SLIS_ALV_EVENT,

T_LIST TYPE SLIS_T_LISTHEADER,

WA_LIST TYPE SLIS_LISTHEADER,

WS_LAYOUT TYPE SLIS_LAYOUT_ALV,

T_SORT TYPE SLIS_T_SORTINFO_ALV,

WA_SORT TYPE SLIS_SORTINFO_ALV.

DATA PROG LIKE SY-REPID.

SELECT-OPTIONS: S_VBELN FOR IT_VBAK-VBELN.

SELECT VBELN AUDAT AUART NETWR WAERK VKORG FROM VBAK

INTO CORRESPONDING FIELDS OF TABLE IT_VBAK

WHERE VBELN IN S_VBELN.

LOOP AT IT_VBAK.

IF SY-TABIX < 10.

IT_VBAK-LIGHT = '1'.

IT_VBAK-BOX = 'X'.

IT_VBAK-ICON = ICON_OKAY.

ELSE.

IT_VBAK-LIGHT = '3'.

IT_VBAK-BOX = ' '.

IT_VBAK-ICON = ICON_CANCEL.

ENDIF.

MODIFY IT_VBAK INDEX SY-TABIX TRANSPORTING LIGHT BOX ICON.

ENDLOOP.

PERFORM POPULATE_FIELDCAT USING:

  • 'IT_VBAK' 'BOX' ' ' ' ' ' ' ' ' ' ',

  • 'IT_VBAK' 'LIGHT' '01' 'LIGHT' ' ' ' ' ' ',

'IT_VBAK' 'VBELN' '01' 'SALES_ORDER' 'X' 'X' ' ' ' ',

'IT_VBAK' 'AUDAT' '02' 'SD_DATE' ' ' 'C200' ' ' ' ',

'IT_VBAK' 'AUART' '03' 'SD_TYPE' ' ' 'C600' ' ' ' ',

'IT_VBAK' 'NETWR' '04' 'SD_VALUE' ' ' 'C310' 'X' ' ',

'IT_VBAK' 'WAERK' '06' 'SD_CURRENCY' ' ' 'C301' ' ' ' ',

'IT_VBAK' 'VKORG' '05' 'SD_ORG' ' ' 'C311' ' ' ' ',

'IT_VBAK' 'ICON' '07' 'ICON' ' ' ' ' ' ' 'X'.

PERFORM POPULATE_EVENT.

PERFORM POPULATE_HEADER.

WS_LAYOUT-ZEBRA = 'X'.

WS_LAYOUT-KEY_HOTSPOT = 'X'.

WS_LAYOUT-LIGHTS_FIELDNAME = 'LIGHT'.

WS_LAYOUT-BOX_FIELDNAME = 'BOX'.

*WS_LAYOUT-F2CODE = '&IC1'. " '&ETA' CAN BE USED

PROG = SY-REPID.

WA_SORT-FIELDNAME = 'AUDAT'.

WA_SORT-UP = ' '.

WA_SORT-DOWN = 'X'.

WA_SORT-SPOS = 1.

WA_SORT-SUBTOT = 'X'.

APPEND WA_SORT TO T_SORT.

CLEAR WA_SORT.

WA_SORT-FIELDNAME = 'NETWR'.

WA_SORT-UP = 'X'.

WA_SORT-DOWN = ' '.

WA_SORT-SPOS = 2.

APPEND WA_SORT TO T_SORT.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = PROG

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = WS_LAYOUT

IT_FIELDCAT = FLDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = T_SORT

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = T_EVENT

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_VBAK

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

&----


*& Form POPULATE_FIELDCAT

&----


  • text

----


  • -->P_0070 text

  • -->P_0071 text

  • -->P_0072 text

  • -->P_0073 text

  • -->P_0074 text

----


FORM POPULATE_FIELDCAT USING TAB FLD COL TXT KEY CLR SUM ICN.

CLEAR WA_CAT.

WA_CAT-TABNAME = TAB.

WA_CAT-FIELDNAME = FLD.

WA_CAT-COL_POS = COL.

WA_CAT-REPTEXT_DDIC = TXT.

WA_CAT-KEY = KEY.

WA_CAT-JUST = 'C'.

WA_CAT-OUTPUTLEN = 10.

*WA_CAT-EMPHASIZE = CLR.

WA_CAT-DO_SUM = SUM.

WA_CAT-ICON = ICN.

APPEND WA_CAT TO FLDCAT.

ENDFORM. " POPULATE_FIELDCAT

&----


*& Form POPULATE_EVENT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM POPULATE_EVENT .

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

  • EXPORTING

  • I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = T_EVENT

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

READ TABLE T_EVENT INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.

WA_EVENT-FORM = 'TOP_PAGE'.

MODIFY T_EVENT INDEX SY-TABIX FROM WA_EVENT TRANSPORTING FORM.

READ TABLE T_EVENT INTO WA_EVENT WITH KEY NAME = 'PF_STATUS_SET'.

WA_EVENT-FORM = 'PF_SET'.

MODIFY T_EVENT INDEX SY-TABIX FROM WA_EVENT TRANSPORTING FORM.

READ TABLE T_EVENT INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.

WA_EVENT-FORM = 'USER_COMMAND'.

MODIFY T_EVENT INDEX SY-TABIX FROM WA_EVENT TRANSPORTING FORM.

ENDFORM. " POPULATE_EVENT

&----


*& Form POPULATE_HEADER

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM POPULATE_HEADER .

CLEAR WA_LIST.

WA_LIST-TYP = 'H'.

WA_LIST-INFO = 'TOP OF PAGE'.

APPEND WA_LIST TO T_LIST.

WA_LIST-TYP = 'S'.

WA_LIST-KEY = 'NAME'.

WA_LIST-INFO = SY-REPID.

APPEND WA_LIST TO T_LIST.

ENDFORM. " POPULATE_HEADER

FORM TOP_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = T_LIST

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

ENDFORM.

FORM PF_SET USING T_EXTAB TYPE SLIS_T_EXTAB.

SET PF-STATUS 'ALV_TEST'.

ENDFORM.

FORM USER_COMMAND USING UCOMM LIKE SY-UCOMM FLD TYPE SLIS_SELFIELD.

DATA: BEGIN OF T_SEL OCCURS 0,

VBELN TYPE VBAK-VBELN,

AUDAT TYPE VBAK-AUDAT,

NETWR TYPE VBAK-NETWR,

WAERK TYPE VBAK-WAERK,

END OF T_SEL.

DATA: V_VBELN TYPE VBAK-VBELN,

T_SEL_FLDCAT TYPE SLIS_T_FIELDCAT_ALV,

WA_SEL_FLDCAT TYPE SLIS_FIELDCAT_ALV..

IF FLD-SEL_TAB_FIELD = 'IT_VBAK-VBELN'.

  • SET PARAMETER ID 'AUN' FIELD FLD-VALUE.

  • CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.

V_VBELN = FLD-VALUE.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = V_VBELN

IMPORTING

OUTPUT = V_VBELN

.

REFRESH T_SEL.

LOOP AT IT_VBAK WHERE VBELN = V_VBELN.

T_SEL-VBELN = IT_VBAK-VBELN.

T_SEL-AUDAT = IT_VBAK-AUDAT.

T_SEL-NETWR = IT_VBAK-NETWR.

T_SEL-WAERK = IT_VBAK-WAERK.

APPEND T_SEL.

ENDLOOP.

CLEAR WA_SEL_FLDCAT.

WA_SEL_FLDCAT-TABNAME = 'T_SEL'.

WA_SEL_FLDCAT-FIELDNAME = 'VBELN'.

WA_SEL_FLDCAT-KEY = 'X'.

WA_SEL_FLDCAT-REPTEXT_DDIC = 'DOC NO.'.

APPEND WA_SEL_FLDCAT TO T_SEL_FLDCAT.

CLEAR WA_SEL_FLDCAT.

WA_SEL_FLDCAT-TABNAME = 'T_SEL'.

WA_SEL_FLDCAT-FIELDNAME = 'AUDAT'.

WA_SEL_FLDCAT-KEY = ' '.

WA_SEL_FLDCAT-REPTEXT_DDIC = 'DOC DATE.'.

APPEND WA_SEL_FLDCAT TO T_SEL_FLDCAT.

CLEAR WA_SEL_FLDCAT.

WA_SEL_FLDCAT-TABNAME = 'T_SEL'.

WA_SEL_FLDCAT-FIELDNAME = 'NETWR'.

WA_SEL_FLDCAT-KEY = ' '.

WA_SEL_FLDCAT-REPTEXT_DDIC = 'NET VAL'.

APPEND WA_SEL_FLDCAT TO T_SEL_FLDCAT.

CLEAR WA_SEL_FLDCAT.

WA_SEL_FLDCAT-TABNAME = 'T_SEL'.

WA_SEL_FLDCAT-FIELDNAME = 'WAERK'.

WA_SEL_FLDCAT-KEY = ' '.

WA_SEL_FLDCAT-REPTEXT_DDIC = 'CURR'.

APPEND WA_SEL_FLDCAT TO T_SEL_FLDCAT.

CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'

EXPORTING

  • I_TITLE =

  • I_SELECTION = 'X'

  • I_ALLOW_NO_SELECTION =

I_ZEBRA = 'X'

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_CHECKBOX_FIELDNAME =

  • I_LINEMARK_FIELDNAME =

  • I_SCROLL_TO_SEL_LINE = 'X'

I_TABNAME = 'T_SEL'

  • I_STRUCTURE_NAME =

IT_FIELDCAT = T_SEL_FLDCAT

  • IT_EXCLUDING =

  • I_CALLBACK_PROGRAM =

  • I_CALLBACK_USER_COMMAND =

  • IS_PRIVATE =

  • IMPORTING

  • ES_SELFIELD =

  • E_EXIT =

TABLES

T_OUTTAB = T_SEL

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

ENDIF.

ENDFORM.

Reward if useful

Regards

ANUPAM

Former Member
0 Kudos

Hi,

Please refer to standard program BCALV_GRID_04.

Thanks,

Sriram Ponna.