ICON in ALV
HI All,
I have to display tick mark icon in one of the columns of ALV report.
How can i do it.
Please suggest me.
Regards,
Monika
Hi,
When filling the fields in field catalog .. give these options .. for the
checkbox field ..
data : w_fieldcat TYPE slis_fieldcat_alv.
w_fieldcat-checkbox = 'X'.
w_fieldcat-input = 'X'.
w_fieldcat-edit = 'X'.
And use the below link to understand how to use it in code.
Display/Change mode of Editable fields in ALV using Function Modules but not Custom Containers
I hope this will help you.
Thanks,
Khushbu.
Similar Messages
-
How to write ICONS in ALV TOP of Page
Hai experts,
How to ICON in ALV Top of PAGE
i want to wrire
ICON_LED_RED for cancellation Invioce
ICON_LED_GREEN for Invioce
but i pass this values to wa_header-info it comes @5C@ @5B@
thanks
sitaramHi...
I think this code is help full for u....
*& Report ZFI_TEST *
REPORT ZFI_ICON_TEST MESSAGE-ID zz .
*& TABLES DECLARATION *
TABLES: vbak.
*& TYPE POOLS DECLARATION *
TYPE-POOLS: slis.
*& INTERNAL TABLE DECLARATION *
DATA: BEGIN OF itab OCCURS 0,
icon TYPE icon-id, "itab-icon = '@08@' -> Green ; '@09@' -> Yellow ; '@0A@' -> Red
vbeln LIKE vbak-vbeln,
audat LIKE vbak-audat,
vbtyp LIKE vbak-vbtyp,
auart LIKE vbak-auart,
augru LIKE vbak-augru,
netwr LIKE vbak-netwr,
waerk LIKE vbak-waerk,
END OF itab.
*INTERNAL TABLE FOR FIELD CATALOG
DATA: wa_fieldcat TYPE slis_fieldcat_alv,
it_fieldcat TYPE slis_t_fieldcat_alv.
IT_FIELDCAT TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV
WITH HEADER LINE,
*INTERNAL TABLE FOR EVENTS
DATA: it_event TYPE slis_t_event,
wa_event TYPE slis_alv_event,
*INTERNAL TABLE FOR SORTING
it_sort TYPE slis_t_sortinfo_alv,
wa_sort TYPE slis_sortinfo_alv,
*INTERNAL TABLE FOR LAYOUT
wa_layout TYPE slis_layout_alv.
*& VARIABLE DECLARATION *
DATA : v_repid TYPE sy-repid,
v_pagno(4) TYPE n,
v_date(8) TYPE c.
*& CONSTANTS *
CONSTANTS: c_x TYPE c VALUE 'X'.
*& SELECTION SCREEN *
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_vbeln FOR vbak-vbeln,
s_vbtyp FOR vbak-vbtyp DEFAULT 'C'.
SELECTION-SCREEN: END OF BLOCK b1.
SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECTION-SCREEN : BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) text-003.
PARAMETERS: p_list RADIOBUTTON GROUP rad1 DEFAULT 'X'.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN : BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) text-004.
PARAMETERS: p_grid RADIOBUTTON GROUP rad1.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN: END OF BLOCK b2.
AT SELECTION-SCREEN.
PERFORM validate_screen.
*& START OF SELECTION *
START-OF-SELECTION.
CLEAR: itab, itab[].
V_REPID = SY-REPID.
PERFORM get_data.
PERFORM display_data.
*& END OF SELECTION *
END-OF-SELECTION.
*--DO ALV Process
v_repid = sy-repid.
*--Sort the Output Fields
PERFORM sort_fields.
*--Build Field catalog for the Output fields
PERFORM BUILD_FIELDCAT.
*--Set the Layout for ALV
PERFORM set_layout.
*& Form GET_DATA
text
TO GET THE DATA FROM TABLES INTO ITAB
FORM get_data .
SELECT vbeln
audat
vbtyp
auart
augru
netwr
waerk
INTO CORRESPONDING FIELDS OF TABLE itab
FROM vbak
WHERE vbeln IN s_vbeln AND
audat > '04.04.2005'
AND netwr > 0.
LOOP AT itab.
IF itab-netwr < 10000.
itab-icon = '@08@'.
ELSEIF itab-netwr > 10000 AND itab-netwr < 100000.
itab-icon = '@09@'.
ELSEIF itab-netwr > 100000.
itab-icon = '@0A@'.
ENDIF.
MODIFY itab INDEX sy-tabix.
ENDLOOP.
ENDFORM. " GET_DATA
*& Form sort_fields
FORM sort_fields .
CLEAR wa_sort.
wa_sort-fieldname = 'VBTYP'.
wa_sort-spos = '1'.
wa_sort-up = 'X'.
APPEND wa_sort TO it_sort.
CLEAR wa_sort.
wa_sort-fieldname = 'NETWR'.
wa_sort-spos = '2'.
wa_sort-up = 'X'.
wa_sort-subtot = 'X'.
APPEND wa_sort TO it_sort.
ENDFORM. " sort_fields
*& Form set_layout
FORM set_layout .
IF p_list = c_x .
wa_layout-window_titlebar = 'LIST DISPLAY'(016).
wa_layout-zebra = 'X'.
+
+
ALV LIST DISPLAY
PERFORM list_display TABLES itab.
o
+
+ ALV GRID DISPLAY
ELSEIF p_grid = c_x.
wa_layout-window_titlebar = 'GRID DISPLAY'(017).
wa_layout-zebra = 'X'.
PERFORM grid_display TABLES itab.
ENDIF.
ENDFORM. " set_layout
*& Form list_display
FORM list_display TABLES p_itab .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = v_repid
is_layout = wa_layout
it_fieldcat = it_fieldcat[]
it_sort = it_sort[]
i_save = 'U'
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. " list_display
*& Form GRID_DISPLAY
FORM grid_display TABLES p_itab .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_repid
is_layout = wa_layout
it_fieldcat = it_fieldcat[]
it_sort = it_sort[]
it_events = it_event
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. " GRID_DISPLAY
*& Form VALIDATE_SCREEN
text
--> p1 text
<-- p2 text
FORM validate_screen .
DATA: lv_vbeln LIKE vbak-vbeln.
IF NOT s_vbeln IS INITIAL.
SELECT vbeln
INTO lv_vbeln
UP TO 1 ROWS
FROM vbak
WHERE vbeln IN s_vbeln.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE e000 WITH 'INVALID SALES DOC'.
ENDIF.
ENDIF.
ENDFORM. " VALIDATE_SCREEN
*& Form display_data
text
--> p1 text
<-- p2 text
FORM display_data .
DEFINE m_fieldcat.
add 1 to wa_fieldcat-col_pos.
wa_fieldcat-fieldname = &1.
wa_fieldcat-ref_tabname = 'VBAK'.
wa_fieldcat-do_sum = &2.
wa_fieldcat-cfieldname = &3.
append wa_fieldcat to it_fieldcat.
END-OF-DEFINITION.
DATA:
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv.
m_fieldcat 'ICON' '' ''.
m_fieldcat 'VBELN' '' ''.
m_fieldcat 'AUDAT' '' ''.
m_fieldcat 'VBTYP' '' ''.
m_fieldcat 'AUART' '' ''.
m_fieldcat 'AUGRU' '' ''.
m_fieldcat 'NETWR' 'C' 'WAERK'.
m_fieldcat 'WAERK' '' ''.
ENDFORM. " display_data[/code]
Regards,
Rahul
Edited by: Rahul Reddy on Apr 14, 2008 12:33 PM -
How to add Icons to ALV Reprt?
Hi,
I need to display icons (red, yellow) in my ALV Report in the first column in my report.
In my field catalog fieldcat-icon = 'X' has been taken into consideration, but still I am not able to see in my report. In the final internal table that is to display I created a field for this Icon type ICON_D. Is this the correct procedure to work with or else kindly let me know how to proceed?
Regards,
Raghu Ram.This is the code that has been incorporated in order to display Icon in the ALV Report.
* TABLES Declarations *
Tables: PROJ, " Project definition
PRPS, " WBS (Work Breakdown Structure) Element Master Data
ICON.
* TYPE POOLS *
TYPE-POOLS: SLIS, " Globale Typen für generische Listbausteine
ICON.
* ALV Data Declarations *
DATA:
GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GT_REPID TYPE SY-REPID.
* Type Declarations *
TYPES:
* STRUCTURE OF TABLE PROJ
BEGIN OF TY_PROJ,
PSPNR TYPE PROJ-PSPNR,
PSPID TYPE PROJ-PSPID,
POST1 TYPE PROJ-POST1,
OBJNR TYPE PROJ-OBJNR,
VERNR TYPE PROJ-VERNR,
VERNA TYPE PROJ-VERNA,
END OF TY_PROJ,
* STRUCTURE OF TABLE PRPS
BEGIN OF TY_PRPS,
PSPNR TYPE PRPS-PSPNR,
POSID TYPE PRPS-POSID,
POST1 TYPE PRPS-POST1,
OBJNR TYPE PRPS-OBJNR,
PSPHI TYPE PRPS-PSPHI,
VERNR TYPE PRPS-VERNR,
END OF TY_PRPS,
BEGIN OF TY_FINAL,
LIGHT TYPE ICON_D,
PSPNR TYPE PROJ-PSPNR,
PSPID TYPE PROJ-PSPID,
POST1 TYPE PROJ-POST1,
OBJNR TYPE PROJ-OBJNR,
VERNR TYPE PROJ-VERNR,
VERNA TYPE PROJ-VERNA,
PSPNR_1 TYPE PRPS-PSPNR,
POSID TYPE PRPS-POSID,
POST1_1 TYPE PRPS-POST1,
OBJNR_1 TYPE PRPS-OBJNR,
PSPHI TYPE PRPS-PSPHI,
VERNR_1 TYPE PRPS-VERNR,
END OF TY_FINAL.
* Internal Table Declarations *
DATA:
IT_PROJ TYPE STANDARD TABLE OF TY_PROJ,
IT_PRPS TYPE STANDARD TABLE OF TY_PRPS,
IT_FINAL TYPE STANDARD TABLE OF TY_FINAL.
* Work Area Declarations *
DATA:
WA_PROJ TYPE TY_PROJ,
WA_PRPS TYPE TY_PRPS,
WA_FINAL TYPE TY_FINAL.
* Selection Screen *
SELECTION-SCREEN BEGIN OF BLOCK BLK WITH FRAME.
SELECT-OPTIONS: S_PSPNR FOR PROJ-PSPNR.
SELECTION-SCREEN END OF BLOCK BLK.
* Start Of Selection *
START-OF-SELECTION.
PERFORM DATA_RETREVIAL.
PERFORM BUILD_FIELDCAT.
PERFORM DISPLAY_ALV.
* Data Retrevial Logic *
*& Form DATA_RETREVIAL
form DATA_RETREVIAL .
DATA: status_icon TYPE icons-text,
icon_name(20) TYPE c,
icon_text(10) TYPE c.
ICON_NAME = 'ICON_RED_LIGHT'.
ICON_TEXT = 'RED'.
CALL FUNCTION 'ICON_CREATE'
EXPORTING
name = ICON_NAME
TEXT = ICON_TEXT
* INFO = ' '
ADD_STDINF = 'X'
IMPORTING
RESULT = STATUS_ICON
EXCEPTIONS
ICON_NOT_FOUND = 1
OUTPUTFIELD_TOO_SHORT = 2
OTHERS = 3
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
SELECT PSPNR
PSPID
POST1
OBJNR
VERNR
VERNA
FROM PROJ
INTO TABLE IT_PROJ
WHERE PSPNR IN S_PSPNR.
SELECT PSPNR
POSID
POST1
OBJNR
PSPHI
VERNR
FROM PRPS
INTO TABLE IT_PRPS
FOR ALL ENTRIES IN IT_PROJ
WHERE PSPHI EQ IT_PROJ-PSPNR.
LOOP AT IT_PROJ INTO WA_PROJ.
LOOP AT IT_PRPS INTO WA_PRPS.
WA_FINAL-PSPNR = WA_PROJ-PSPNR.
WA_FINAL-PSPID = WA_PROJ-PSPID.
WA_FINAL-POST1 = WA_PROJ-POST1.
WA_FINAL-OBJNR = WA_PROJ-OBJNR.
WA_FINAL-VERNR = WA_PROJ-VERNR.
WA_FINAL-VERNA = WA_PROJ-VERNA.
WA_FINAL-PSPNR_1 = WA_PRPS-PSPNR.
WA_FINAL-POSID = WA_PRPS-POSID.
WA_FINAL-POST1_1 = WA_PRPS-POST1.
WA_FINAL-OBJNR_1 = WA_PRPS-OBJNR.
WA_FINAL-PSPHI = WA_PRPS-PSPHI.
WA_FINAL-VERNR_1 = WA_PRPS-VERNR.
WA_FINAL-light = STATUS_ICON.
APPEND WA_FINAL TO IT_FINAL.
CLEAR: WA_FINAL.
ENDLOOP.
ENDLOOP.
endform. " DATA_RETREVIAL
* Field Catalog *
*& Form BUILD_FIELDCAT
form BUILD_FIELDCAT .
* DATA: FIELDCAT TYPE GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'LIGHTS'.
GT_FIELDCAT-SELTEXT_M = 'STAUTS'.
GT_FIELDCAT-COL_POS = 0.
GT_FIELDCAT-ICON = 'X'.
APPEND GT_FIELDCAT TO GT_FIELDCAT.
CLEAR GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'PSPNR'.
GT_FIELDCAT-SELTEXT_M = 'PROJECT DEFINITION(INTERNAL)'.
GT_FIELDCAT-COL_POS = 1.
GT_FIELDCAT-OUTPUTLEN = 8.
APPEND GT_FIELDCAT TO GT_FIELDCAT.
CLEAR GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'PSPID'.
GT_FIELDCAT-SELTEXT_M = 'PROJECT DEFINITION'.
GT_FIELDCAT-COL_POS = 2.
GT_FIELDCAT-OUTPUTLEN = 24.
APPEND GT_FIELDCAT TO GT_FIELDCAT.
CLEAR GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'POST1'.
GT_FIELDCAT-SELTEXT_M = 'PROJECT DESC'.
GT_FIELDCAT-COL_POS = 3.
GT_FIELDCAT-OUTPUTLEN = 40.
APPEND GT_FIELDCAT TO GT_FIELDCAT.
CLEAR GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'OBJNR'.
GT_FIELDCAT-SELTEXT_M = 'Object number'.
GT_FIELDCAT-COL_POS = 4.
GT_FIELDCAT-OUTPUTLEN = 22.
APPEND GT_FIELDCAT TO GT_FIELDCAT.
CLEAR GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'VERNR'.
GT_FIELDCAT-SELTEXT_M = 'Responsible Person'.
GT_FIELDCAT-COL_POS = 5.
GT_FIELDCAT-OUTPUTLEN = 8.
APPEND GT_FIELDCAT TO GT_FIELDCAT.
CLEAR GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'VERNA'.
GT_FIELDCAT-SELTEXT_M = 'Responsible Person Desc'.
GT_FIELDCAT-COL_POS = 6.
GT_FIELDCAT-OUTPUTLEN = 25.
APPEND GT_FIELDCAT TO GT_FIELDCAT.
CLEAR GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'PSPNR_1'.
GT_FIELDCAT-SELTEXT_M = 'WBS Element'.
GT_FIELDCAT-COL_POS = 7.
GT_FIELDCAT-OUTPUTLEN = 8.
APPEND GT_FIELDCAT TO GT_FIELDCAT.
CLEAR GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'POSID'.
GT_FIELDCAT-SELTEXT_M = 'WBS Element'.
GT_FIELDCAT-COL_POS = 8.
GT_FIELDCAT-OUTPUTLEN = 24.
APPEND GT_FIELDCAT TO GT_FIELDCAT.
CLEAR GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'POST1_1'.
GT_FIELDCAT-SELTEXT_M = 'WBS DESC'.
GT_FIELDCAT-COL_POS = 9.
GT_FIELDCAT-OUTPUTLEN = 40.
APPEND GT_FIELDCAT TO GT_FIELDCAT.
CLEAR GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'OBJNR_1'.
GT_FIELDCAT-SELTEXT_M = 'Object number'.
GT_FIELDCAT-COL_POS = 10.
GT_FIELDCAT-OUTPUTLEN = 22.
APPEND GT_FIELDCAT TO GT_FIELDCAT.
CLEAR GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'PSPHI'.
GT_FIELDCAT-SELTEXT_M = 'Currnet Projct'.
GT_FIELDCAT-COL_POS = 11.
GT_FIELDCAT-OUTPUTLEN = 8.
APPEND GT_FIELDCAT TO GT_FIELDCAT.
CLEAR GT_FIELDCAT.
GT_FIELDCAT-FIELDNAME = 'VERNR_1'.
GT_FIELDCAT-SELTEXT_M = 'Responsible Person'.
GT_FIELDCAT-COL_POS = 12.
GT_FIELDCAT-OUTPUTLEN = 8.
APPEND GT_FIELDCAT TO GT_FIELDCAT.
CLEAR GT_FIELDCAT.
endform. " BUILD_FIELDCAT
* Display ALV Grid *
*& Form DISPLAY_ALV
form DISPLAY_ALV .
GT_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = GT_REPID
* 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 =
IT_FIELDCAT = GT_FIELDCAT[]
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* 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
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = IT_FINAL
* 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_ALV -
Microsoft Excel Icon in ALV Grid Report
Hi all,
We have a customized report. When we execute that reports, it open in ALV Grid format. When we choose "Microsoft Excel" Icon to change layout to Excel, it then shows the report in excel without any data.
Can any one please tell me that why there is no data? should i need to do any settings in excel for this?
Please respond.
Best Regards,
AIHi,
Refer these:
Microsoft Excel Icon in ALV Grid Report
Re: Not able display the Excel Icon in ALV List Display
Hope it helps
Regards
Mansi -
How to show icons in ALV grid ...
Hi guyz ,
A lill query ....
In an ALV gird ,if i need to display icons in one of the columns , say i have
a field called Status , where i need show some icons like green , yellow and
red circles , depending on some other fileds say invoice reciept date .
So can i get icons in ALV colums.
Please advise .
Thanks
JahanThis is very easy. IN your status field in your internal table, you simply write the icon to it. Make sure that the status field is defined as a character field with a length of 4. Then write the icon to it.
Type-pools: icon.
write icon_green_light as icon to itab-status.
Then when filling the field catalog, set the ICON flag. This puts the icon in the center of the cell in ALV.
xfc-icon = 'X'.
append xfc to ifc.
Regards,
Rich Heilman -
Creation of icon in alv toolbar
Hi All,
i need to create a icon in alv toolbar.
But i have not created any 'Z' program.
i have created one function module, through that function module i am displaying the ALV grid.
when i am copying the standard pf-status it is asking for program name. but i am using only the function module.
pls help me on this for creating the icon in alv toolbar.
thanks in advance.Hello Aishvarya,
Perhaps the code below will help guide you along.
FUNCTION z_alv_screen .
*"*"Local Interface:
*" CHANGING
*" REFERENCE(ITAB) TYPE ZSFLIGHT_TT
DATA: gr_table TYPE REF TO cl_salv_table.
* ALV
*... Create Instance
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = gr_table
CHANGING
t_table = itab[].
CATCH cx_salv_msg.
ENDTRY.
gr_table->set_screen_status(
pfstatus = 'SALV_STANDARD'
report = 'SAPLZRAE'
set_functions = gr_table->c_functions_all ).
*... Display Table
gr_table->display( ).
ENDFUNCTION.
Edited by: Rae Ellen Woytowiez on Mar 21, 2011 5:17 PM -
Two Icons on ALV tree in same row
Hi all,
I need to show 2 ICONS instead of regular one icon on ALV Tree,at the same node like the easy cost planning on CJ20N.
I use the SALV Tree.
Thanks,
Omer gHi Omer,
You can achieve this by playing with is_node_layout and it_item_layout parameters of the method add_node:
set item-layout
data: lt_item_layout type lvc_t_layi,
ls_item_layout type lvc_s_layi.
ls_item_layout-t_image = '@01@'.
ls_item_layout-fieldname = o_tree->c_hierarchy_column_name.
append ls_item_layout to lt_item_layout.
add node
l_node_text = 'node_text'.
data: ls_node type lvc_s_layn.
ls_node-n_image = '@02@'.
ls_node-exp_image = '@02@'.
call method o_tree->add_node
exporting
i_relat_node_key = p_relat_key
i_relationship = cl_gui_column_tree=>relat_last_child
i_node_text = l_node_text
is_outtab_line = ls_outtab
is_node_layout = ls_node
it_item_layout = lt_item_layout
importing
e_new_node_key = p_node_key.
Hope it helps,
Kr -
Hi all Good Morning.
In ALV report am inserted my own icons. But the problem is at output screen am getting only those icons which i created, remaining are not displaying in standard tool bar .
Please tell me how to solve this. I want to display all default icons with my own created icons in standard tool bar .
Regards,
Prajwal K.
Edited by: prajwal k on Jan 24, 2008 4:39 AMHi Prajwal, this code will solve ur problem.
go to SE41.
Give SAPLKKBL as program name and STANDARD_FULLSCREEN as status....
now click on Copy Status and in that give ur program and status name into To.....
now in REUSE_ALV_GRID_DISPLAY
FORM display_list.
g_f_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_f_repid
i_callback_user_command = 'USER_COMMAND'
i_callback_pf_status_set = 'SET_STAT'
it_fieldcat = g_t_fieldcat[]
it_events = g_t_events[]
TABLES
t_outtab = g_t_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_list
FORM set_stat USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'ZSTAT' EXCLUDING rt_extab.
ENDFORM. "set_stat
here my status name is ZSTAT which i gave in SE41...
and in user_command form...
FORM user_command USING u_comm LIKE sy-ucomm selfield TYPE slis_selfield.
CASE u_comm.
WHEN 'DET'.
........ur logic.........
ENDCASE.
ENDFORM. "user_command
kindly reward if found helpful.
cheers,
Hema. -
Hello All,
I created an ALV report which included the traffic light icons to indicate the status of some internal requests. My original "legend" in FM REUSE_ALV_COMMENTARY_WRITE was just text based, but now users are requesting to have the legend contain the actual icon, along with the text description. Is there any way that I can put the icons in the top of the page?
Thanks in advance,
LisaThanks so much! It worked! Here's my new working code:
form html_top_of_page using document type ref to cl_dd_document.
data: text type sdydo_text_element.
text = 'T&M Credit Requests'.
call method document->add_text
EXPORTING
text = text
sap_style = cl_dd_area=>heading
sap_color = space
sap_fontsize = cl_dd_document=>large
sap_emphasis = space
style_class = space.
call method document->new_line.
call method document->new_line.
text = 'Rows: Red = Request rejected by Manager'.
call method document->add_text
EXPORTING
text = text
sap_style = space
sap_color = space
sap_fontsize = cl_dd_document=>large
sap_emphasis = space
style_class = space.
call method document->new_line.
call method document->add_gap
EXPORTING
width = 13.
text = 'Yellow = Request waiting for Manager approval'.
call method document->add_text
EXPORTING
text = text
sap_style = space
sap_color = space
sap_fontsize = cl_dd_document=>large
sap_emphasis = space
style_class = space.
call method document->new_line.
call method document->add_gap
EXPORTING
width = 13.
text = 'Green = Request approved by Manager'.
call method document->add_text
EXPORTING
text = text
sap_style = space
sap_color = space
sap_fontsize = cl_dd_document=>large
sap_emphasis = space
style_class = space.
call method document->new_line.
call method document->new_line.
text = 'Icons:'.
call method document->add_text
EXPORTING
text = text
sap_style = space
sap_color = space
sap_fontsize = cl_dd_document=>large
sap_emphasis = space
style_class = space.
call method document->add_gap
EXPORTING
width = 1.
call method document->add_icon
EXPORTING
sap_icon = 'ICON_RED_LIGHT'.
call method document->add_gap
EXPORTING
width = 2.
text = 'Request rejected by Billings'.
call method document->add_text
EXPORTING
text = text
sap_style = space
sap_color = space
sap_fontsize = cl_dd_document=>large
sap_emphasis = space
style_class = space.
call method document->new_line.
call method document->add_gap
EXPORTING
width = 13.
call method document->add_icon
EXPORTING
sap_icon = 'ICON_YELLOW_LIGHT'.
call method document->add_gap
EXPORTING
width = 2.
text = 'Request waiting for Billings'.
call method document->add_text
EXPORTING
text = text
sap_style = space
sap_color = space
sap_fontsize = cl_dd_document=>large
sap_emphasis = space
style_class = space.
call method document->new_line.
call method document->add_gap
EXPORTING
width = 13.
call method document->add_icon
EXPORTING
sap_icon = 'ICON_GREEN_LIGHT'.
call method document->add_gap
EXPORTING
width = 2.
text = 'Request processed by Billings'.
call method document->add_text
EXPORTING
text = text
sap_style = space
sap_color = space
sap_fontsize = cl_dd_document=>large
sap_emphasis = space
style_class = space. -
How to display icon in alv report output
hi,
my ewquirement in in alv report in one column to diaplay the icon(tickmark) based on some codition.
how to achieve it??
condition is
Affected (Locked on Current ECM) u2013 can use symbols for affected and for changing u2013
u2022 Lock AEOI u2013 CCLCK for AE01-OBJKT (Material) lock.
Condition:
If AEOI u2013 CCLCK is activated then display symbols (tickmark) in line of their AE01-OBJKT (Material). else display
(x mark)Hi,
In field catalog of grid set
Ex--
when 'Field'.
lwa_fcat-icon = c_true.
based on your condition
set the desired icon in table.
Ex.... lwa_table-field = icon_tick. -
Hi Experts,
How to use icon in the ALV Report ...?
Suppose My Scenario is i have a Pending PR Report if any line item in the PR is Deleated i want to display delete icon
Please guide me on this....
any Kind help would be highly appricated.Hello friend,
please try following codes, it works.
types: begin of gs_outtab.
types: lights type char1,
color type i,
tabcol type lvc_t_scol,
id type char25, " Already exist in ICON, Flat Structure
name type icon-name,
symbol type icon-id,
end of gs_outtab.
data: gt_outtab type standard table of gs_outtab.
data: gr_grid type ref to cl_gui_alv_grid.
data: gr_container type ref to cl_gui_custom_container,
gs_layout type lvc_s_layo,
gt_fieldcat type lvc_t_fcat.
data: ls_vari type disvariant.
data: g_okcode type syucomm.
data: gt_exc type table of ALV_S_QINF.
data: text type string.
selection-screen begin of block gen with frame.
parameters:
p_amount type i default 20.
selection-screen end of block gen.
selection-screen begin of block dsp with frame.
parameters:
p_full radiobutton group dsp,
p_grid radiobutton group dsp.
selection-screen end of block dsp.
START-OF-SELECTION.
END-OF-SELECTION.
perform select_data.
IF p_full = 'X'.
perform display_fullscreen.
ELSE.
perform display_grid.
ENDIF.
STEP 1: load data *******************************************
form select_data.
select * from icon into corresponding fields of table gt_outtab
up to p_amount rows.
endform.
STEP2: build full screen **************************************
form display_fullscreen .
data: ls_layout type slis_layout_alv,
lt_fcat type slis_t_fieldcat_alv,
ls_fcat type slis_fieldcat_alv.
ls_layout-lights_tabname = '1'.
ls_layout-lights_fieldname = 'LIGHTS'.
ls_layout-coltab_fieldname = 'TABCOL'.
clear ls_fcat.
ls_fcat-fieldname = 'LIGHTS'.
ls_fcat-inttype = 'C'.
ls_fcat-seltext_l = ls_fcat-seltext_m = ls_fcat-seltext_s = 'Lights'.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'COLOR'.
ls_fcat-inttype = 'I'.
ls_fcat-seltext_l = ls_fcat-seltext_m = ls_fcat-seltext_s = 'Color'.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'ID'.
ls_fcat-inttype = 'C'.
ls_fcat-seltext_l = ls_fcat-seltext_m = ls_fcat-seltext_s = 'Icon'.
ls_fcat-icon = abap_true.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'SYMBOL'.
ls_fcat-inttype = 'C'.
ls_fcat-seltext_l = ls_fcat-seltext_m = ls_fcat-seltext_s = 'Symbol'.
ls_fcat-symbol = abap_true.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'NAME'.
ls_fcat-tech = abap_true.
append ls_fcat to lt_fcat.
perform select_data.
perform set_tooltips.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IS_LAYOUT = ls_layout
IT_FIELDCAT = lt_fcat
IT_EXCEPT_QINFO = gt_exc
TABLES
T_OUTTAB = gt_outtab
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
ASSERT sy-subrc = 0.
endform.
STEP3: display grid ******************************************
form display_grid.
call screen 100.
endform.
STEP4: PBO ***************************************************
module d0100_pbo output.
perform d0100_pbo.
endmodule.
STEP5: PAI ***************************************************
module d0100_pai input.
perform d0100_pai.
endmodule.
STEP6: PBO form ***********************************************
form d0100_pbo .
set pf-status 'D0100'.
if gr_container is not bound.
create object gr_container
exporting
container_name = 'CONTAINER'.
create object gr_grid
exporting i_parent = gr_container.
data: ls_layout type lvc_s_layo,
lt_fcat type lvc_t_fcat,
ls_fcat type lvc_s_fcat.
ls_layout-excp_fname = 'LIGHTS'.
ls_layout-ctab_fname = 'TABCOL'.
clear ls_fcat.
ls_fcat-fieldname = 'LIGHTS'.
ls_fcat-inttype = 'C'.
ls_fcat-scrtext_l = ls_fcat-scrtext_m = ls_fcat-scrtext_s = 'Lights'.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'COLOR'.
ls_fcat-inttype = 'I'.
ls_fcat-scrtext_l = ls_fcat-scrtext_m = ls_fcat-scrtext_s = 'Color'.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'ID'.
ls_fcat-inttype = 'C'.
ls_fcat-scrtext_l = ls_fcat-scrtext_m = ls_fcat-scrtext_s = 'Icon'.
ls_fcat-icon = abap_true.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'SYMBOL'.
ls_fcat-inttype = 'C'.
ls_fcat-scrtext_l = ls_fcat-scrtext_m = ls_fcat-scrtext_s = 'Symbol'.
ls_fcat-symbol = abap_true.
append ls_fcat to lt_fcat.
clear ls_fcat.
ls_fcat-fieldname = 'NAME'.
ls_fcat-tech = abap_true.
append ls_fcat to lt_fcat.
perform select_data.
perform set_tooltips.
data: lt_tooltips type lvc_t_qinf,
lt_toolb type ui_functions,
ls_toolb type UI_FUNC.
ls_toolb = CL_GUI_ALV_GRID=>mc_fc_call_crbatch.
append ls_toolb to lt_toolb.
lt_tooltips = gt_exc.
call method gr_grid->set_table_for_first_display
exporting is_layout = ls_layout
it_except_qinfo = lt_tooltips
it_toolbar_excluding = lt_toolb
changing
it_fieldcatalog = lt_fcat
it_outtab = gt_outtab.
endif.
endform.
STEP7: PAI form ******************************************************
form d0100_pai .
case g_okcode.
when 'BACK' or 'EXIT' or 'CANC'.
set screen 0.
leave screen.
endcase.
endform.
STEP8: Set Tooltip *************************************************
FORM set_tooltips .
field-symbols: <outtab> type gs_outtab.
data: tooltips type ref to cl_salv_tooltips,
settings type ref to cl_salv_functional_settings,
ls_styl type lvc_s_styl,
value type char128,
text type char40,
ls_symbol type icon,
lt_symbol type standard table of icon,
ls_exc type ALV_S_QINF,
tabix type sy-tabix,
col type lvc_s_scol.
loop at gt_outtab assigning <outtab>.
tabix = sy-tabix.
read table lt_symbol index sy-tabix into ls_symbol.
<outtab>-symbol = ls_symbol-id.
value = <outtab>-id(3).
text = <outtab>-name.
concatenate value '\Q' text '@' into value.
<outtab>-id = value.
value = ls_symbol-id.
text = ls_symbol-name.
ls_exc-type = cl_salv_tooltip=>c_type_symbol.
ls_exc-value = value.
ls_exc-text = text.
append ls_exc to gt_exc.
<outtab>-color = tabix mod 7 + 1.
<outtab>-lights = tabix mod 3 + 1.
col-fname = 'COLOR'.
col-color-col = tabix mod 7 + 1.
if tabix ge 7.
col-color-inv = 1.
endif.
if tabix ge 14.
col-color-int = 1.
endif.
append col to <outtab>-tabcol.
endloop.
ENDFORM. -
How to display icon (like green or red circle similar to signal light) in ALV Report
Hi,
just create a separate col in alv and in the field catalog assign the property lights .
and refer to the wiki link
[http://wiki.sdn.sap.com/wiki/display/Snippets/ALVGriddisplaywithLights]
Hope this resolves the issue !
Best of Luck !!
Regards,
Ravi Aswani -
I want to display icons in ALV
Hi friends,
I want to display icon indicators in ALV ???
can anybody tell me ??/
Thanks...Hi sturdy,
this code will help u...copy paste and run...
*& Report ZFI_TEST *
REPORT ZFI_ICON_TEST MESSAGE-ID zz .
*& TABLES DECLARATION *
TABLES: vbak.
*& TYPE POOLS DECLARATION *
TYPE-POOLS: slis.
*& INTERNAL TABLE DECLARATION *
DATA: BEGIN OF itab OCCURS 0,
icon TYPE icon-id, "itab-icon = '@08@' -> Green ; '@09@' -> Yellow ; '@0A@' -> Red
vbeln LIKE vbak-vbeln,
audat LIKE vbak-audat,
vbtyp LIKE vbak-vbtyp,
auart LIKE vbak-auart,
augru LIKE vbak-augru,
netwr LIKE vbak-netwr,
waerk LIKE vbak-waerk,
END OF itab.
*INTERNAL TABLE FOR FIELD CATALOG
DATA: wa_fieldcat TYPE slis_fieldcat_alv,
it_fieldcat TYPE slis_t_fieldcat_alv.
IT_FIELDCAT TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV
WITH HEADER LINE,
*INTERNAL TABLE FOR EVENTS
DATA: it_event TYPE slis_t_event,
wa_event TYPE slis_alv_event,
*INTERNAL TABLE FOR SORTING
it_sort TYPE slis_t_sortinfo_alv,
wa_sort TYPE slis_sortinfo_alv,
*INTERNAL TABLE FOR LAYOUT
wa_layout TYPE slis_layout_alv.
*& VARIABLE DECLARATION *
DATA : v_repid TYPE sy-repid,
v_pagno(4) TYPE n,
v_date(8) TYPE c.
*& CONSTANTS *
CONSTANTS: c_x TYPE c VALUE 'X'.
*& SELECTION SCREEN *
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_vbeln FOR vbak-vbeln,
s_vbtyp FOR vbak-vbtyp DEFAULT 'C'.
SELECTION-SCREEN: END OF BLOCK b1.
SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECTION-SCREEN : BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) text-003.
PARAMETERS: p_list RADIOBUTTON GROUP rad1 DEFAULT 'X'.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN : BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) text-004.
PARAMETERS: p_grid RADIOBUTTON GROUP rad1.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN: END OF BLOCK b2.
AT SELECTION-SCREEN.
PERFORM validate_screen.
*& START OF SELECTION *
START-OF-SELECTION.
CLEAR: itab, itab[].
V_REPID = SY-REPID.
PERFORM get_data.
PERFORM display_data.
*& END OF SELECTION *
END-OF-SELECTION.
*--DO ALV Process
v_repid = sy-repid.
*--Sort the Output Fields
PERFORM sort_fields.
*--Build Field catalog for the Output fields
PERFORM BUILD_FIELDCAT.
*--Set the Layout for ALV
PERFORM set_layout.
*& Form GET_DATA
text
TO GET THE DATA FROM TABLES INTO ITAB
FORM get_data .
SELECT vbeln
audat
vbtyp
auart
augru
netwr
waerk
INTO CORRESPONDING FIELDS OF TABLE itab
FROM vbak
WHERE vbeln IN s_vbeln AND
audat > '04.04.2005'
AND netwr > 0.
LOOP AT itab.
IF itab-netwr < 10000.
itab-icon = '@08@'.
ELSEIF itab-netwr > 10000 AND itab-netwr < 100000.
itab-icon = '@09@'.
ELSEIF itab-netwr > 100000.
itab-icon = '@0A@'.
ENDIF.
MODIFY itab INDEX sy-tabix.
ENDLOOP.
ENDFORM. " GET_DATA
*& Form sort_fields
FORM sort_fields .
CLEAR wa_sort.
wa_sort-fieldname = 'VBTYP'.
wa_sort-spos = '1'.
wa_sort-up = 'X'.
APPEND wa_sort TO it_sort.
CLEAR wa_sort.
wa_sort-fieldname = 'NETWR'.
wa_sort-spos = '2'.
wa_sort-up = 'X'.
wa_sort-subtot = 'X'.
APPEND wa_sort TO it_sort.
ENDFORM. " sort_fields
*& Form set_layout
FORM set_layout .
IF p_list = c_x .
wa_layout-window_titlebar = 'LIST DISPLAY'(016).
wa_layout-zebra = 'X'.
*-- ALV LIST DISPLAY
PERFORM list_display TABLES itab.
*-- ALV GRID DISPLAY
ELSEIF p_grid = c_x.
wa_layout-window_titlebar = 'GRID DISPLAY'(017).
wa_layout-zebra = 'X'.
PERFORM grid_display TABLES itab.
ENDIF.
ENDFORM. " set_layout
*& Form list_display
FORM list_display TABLES p_itab .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = v_repid
is_layout = wa_layout
it_fieldcat = it_fieldcat[]
it_sort = it_sort[]
i_save = 'U'
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. " list_display
*& Form GRID_DISPLAY
FORM grid_display TABLES p_itab .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_repid
is_layout = wa_layout
it_fieldcat = it_fieldcat[]
it_sort = it_sort[]
it_events = it_event
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. " GRID_DISPLAY
*& Form VALIDATE_SCREEN
text
--> p1 text
<-- p2 text
FORM validate_screen .
DATA: lv_vbeln LIKE vbak-vbeln.
IF NOT s_vbeln IS INITIAL.
SELECT vbeln
INTO lv_vbeln
UP TO 1 ROWS
FROM vbak
WHERE vbeln IN s_vbeln.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE e000 WITH 'INVALID SALES DOC'.
ENDIF.
ENDIF.
ENDFORM. " VALIDATE_SCREEN
*& Form display_data
text
--> p1 text
<-- p2 text
FORM display_data .
DEFINE m_fieldcat.
add 1 to wa_fieldcat-col_pos.
wa_fieldcat-fieldname = &1.
wa_fieldcat-ref_tabname = 'VBAK'.
wa_fieldcat-do_sum = &2.
wa_fieldcat-cfieldname = &3.
append wa_fieldcat to it_fieldcat.
END-OF-DEFINITION.
DATA:
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv.
m_fieldcat 'ICON' '' ''.
m_fieldcat 'VBELN' '' ''.
m_fieldcat 'AUDAT' '' ''.
m_fieldcat 'VBTYP' '' ''.
m_fieldcat 'AUART' '' ''.
m_fieldcat 'AUGRU' '' ''.
m_fieldcat 'NETWR' 'C' 'WAERK'.
m_fieldcat 'WAERK' '' ''.
ENDFORM. " display_data[/code] -
Can we display ICONS in ALV list?
Hi,
Is it possible to display icons (ICON_GREEN_LIGHT) in the ALV list using the function module REUSE_ALV_LIST_DISPLAY.
Is there any possibility of displaying a list using object oriented ALV?
Thanks and Regards,
Lakshmi.Hi Lakshmi,
Just check this once.
REPORT Zxxx MESSAGE-ID ZZ .
*& TABLES DECLARATION *
TABLES: VBAK.
*& TYPE POOLS DECLARATION *
TYPE-POOLS: SLIS.
*& INTERNAL TABLE DECLARATION *
DATA: BEGIN OF ITAB OCCURS 0,
ICON TYPE ICON-ID,
VBELN LIKE VBAK-VBELN,
AUDAT LIKE VBAK-AUDAT,
VBTYP LIKE VBAK-VBTYP,
AUART LIKE VBAK-AUART,
AUGRU LIKE VBAK-AUGRU,
NETWR LIKE VBAK-NETWR,
WAERK LIKE VBAK-WAERK,
END OF ITAB.
*INTERNAL TABLE FOR FIELD CATALOG
DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
IT_FIELDCAT TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV
WITH HEADER LINE,
*INTERNAL TABLE FOR EVENTS
DATA: IT_EVENT TYPE SLIS_T_EVENT,
WA_EVENT TYPE SLIS_ALV_EVENT,
*INTERNAL TABLE FOR SORTING
IT_SORT TYPE SLIS_T_SORTINFO_ALV,
WA_SORT TYPE SLIS_SORTINFO_ALV,
*INTERNAL TABLE FOR LAYOUT
WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
*& VARIABLE DECLARATION *
DATA : V_REPID TYPE SY-REPID,
V_PAGNO(4) TYPE N,
V_DATE(8) TYPE C.
*& CONSTANTS *
CONSTANTS: C_X TYPE C VALUE 'X'.
*& SELECTION SCREEN *
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN,
S_VBTYP FOR VBAK-VBTYP DEFAULT 'C'.
SELECTION-SCREEN: END OF BLOCK B1.
SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN : BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) TEXT-003.
PARAMETERS: P_LIST RADIOBUTTON GROUP RAD1 DEFAULT 'X'.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN : BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) TEXT-004.
PARAMETERS: P_GRID RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN: END OF BLOCK B2.
AT SELECTION-SCREEN.
PERFORM VALIDATE_SCREEN.
*& START OF SELECTION *
START-OF-SELECTION.
CLEAR: ITAB, ITAB[].
V_REPID = SY-REPID.
PERFORM GET_DATA.
PERFORM DISPLAY_DATA.
*& END OF SELECTION *
END-OF-SELECTION.
*--DO ALV Process
V_REPID = SY-REPID.
*--Sort the Output Fields
PERFORM SORT_FIELDS.
*--Build Field catalog for the Output fields
PERFORM BUILD_FIELDCAT.
*--Set the Layout for ALV
PERFORM SET_LAYOUT.
*& Form GET_DATA
text
TO GET THE DATA FROM TABLES INTO ITAB
FORM GET_DATA .
SELECT VBELN
AUDAT
VBTYP
AUART
AUGRU
NETWR
WAERK
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM VBAK
WHERE VBELN IN S_VBELN AND
AUDAT > '04.04.2005'
AND NETWR > 0.
LOOP AT ITAB.
IF ITAB-NETWR < 10000.
ITAB-ICON = '@08@'.
ELSEIF ITAB-NETWR > 10000 AND ITAB-NETWR < 100000.
ITAB-ICON = '@09@'.
ELSEIF ITAB-NETWR > 100000.
ITAB-ICON = '@0A@'.
ENDIF.
MODIFY ITAB INDEX SY-TABIX.
ENDLOOP.
ENDFORM. " GET_DATA
*& Form sort_fields
FORM SORT_FIELDS .
CLEAR WA_SORT.
WA_SORT-FIELDNAME = 'VBTYP'.
WA_SORT-SPOS = '1'.
WA_SORT-UP = 'X'.
APPEND WA_SORT TO IT_SORT.
CLEAR WA_SORT.
WA_SORT-FIELDNAME = 'NETWR'.
WA_SORT-SPOS = '2'.
WA_SORT-UP = 'X'.
WA_SORT-SUBTOT = 'X'.
APPEND WA_SORT TO IT_SORT.
ENDFORM. " sort_fields
*& Form build_fieldcat
*FORM BUILD_FIELDCAT .
IT_FIELDCAT-COL_POS = '1'.
IT_FIELDCAT-FIELDNAME = 'ICON'.
IT_FIELDCAT-KEY = 'X'.
IT_FIELDCAT-OUTPUTLEN = '10'.
IT_FIELDCAT-SELTEXT_L = 'LIGHT'.
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
IT_FIELDCAT-COL_POS = '2'.
IT_FIELDCAT-FIELDNAME = 'VBELN'.
IT_FIELDCAT-KEY = 'X'.
IT_FIELDCAT-OUTPUTLEN = '10'.
IT_FIELDCAT-SELTEXT_L = 'SALES DOC NUMBER'(009).
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
IT_FIELDCAT-COL_POS = '3'.
IT_FIELDCAT-FIELDNAME = 'AUDAT'.
IT_FIELDCAT-KEY = 'X'.
IT_FIELDCAT-OUTPUTLEN = '4'.
IT_FIELDCAT-SELTEXT_L = 'DOCUMENT DATE'(010).
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
IT_FIELDCAT-COL_POS = '4'.
IT_FIELDCAT-FIELDNAME = 'VBTYP'.
IT_FIELDCAT-KEY = 'X'.
IT_FIELDCAT-OUTPUTLEN = '4'.
IT_FIELDCAT-SELTEXT_L = 'CATEGORY'(011).
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
IT_FIELDCAT-COL_POS = '5'.
IT_FIELDCAT-FIELDNAME = 'AUART'.
IT_FIELDCAT-OUTPUTLEN = '4'.
IT_FIELDCAT-SELTEXT_L = 'DOCUMENT TYPE'(012).
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
IT_FIELDCAT-COL_POS = '6'.
IT_FIELDCAT-FIELDNAME = 'AUGRU'.
IT_FIELDCAT-OUTPUTLEN = '12'.
IT_FIELDCAT-SELTEXT_L = 'Order reason'(013).
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
IT_FIELDCAT-COL_POS = '7'.
IT_FIELDCAT-FIELDNAME = 'NETWR'.
IT_FIELDCAT-OUTPUTLEN = '12'.
IT_FIELDCAT-SELTEXT_L = 'NET VALUE'(014).
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
IT_FIELDCAT-COL_POS = '8'.
IT_FIELDCAT-FIELDNAME = 'WAERK'.
IT_FIELDCAT-OUTPUTLEN = '12'.
IT_FIELDCAT-SELTEXT_L = 'SD DOC CURR'(015).
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
*ENDFORM. " build_fieldcat
*& Form set_layout
FORM SET_LAYOUT .
IF P_LIST = C_X .
WA_LAYOUT-WINDOW_TITLEBAR = 'LIST DISPLAY'(016).
WA_LAYOUT-ZEBRA = 'X'.
*-- ALV LIST DISPLAY
PERFORM LIST_DISPLAY TABLES ITAB.
*-- ALV GRID DISPLAY
ELSEIF P_GRID = C_X.
WA_LAYOUT-WINDOW_TITLEBAR = 'GRID DISPLAY'(017).
WA_LAYOUT-ZEBRA = 'X'.
PERFORM GRID_DISPLAY TABLES ITAB.
ENDIF.
ENDFORM. " set_layout
*& Form list_display
FORM LIST_DISPLAY TABLES P_ITAB .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT[]
IT_SORT = IT_SORT[]
I_SAVE = 'U'
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. " list_display
*& Form GRID_DISPLAY
FORM GRID_DISPLAY TABLES P_ITAB .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT[]
IT_SORT = IT_SORT[]
IT_EVENTS = IT_EVENT
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. " GRID_DISPLAY
*& Form VALIDATE_SCREEN
text
--> p1 text
<-- p2 text
FORM VALIDATE_SCREEN .
DATA: LV_VBELN LIKE VBAK-VBELN.
IF NOT S_VBELN IS INITIAL.
SELECT VBELN
INTO LV_VBELN
UP TO 1 ROWS
FROM VBAK
WHERE VBELN IN S_VBELN.
ENDSELECT.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH 'INVALID SALES DOC'.
ENDIF.
ENDIF.
ENDFORM. " VALIDATE_SCREEN
*& Form display_data
text
--> p1 text
<-- p2 text
FORM DISPLAY_DATA .
DEFINE M_FIELDCAT.
ADD 1 TO WA_FIELDCAT-COL_POS.
WA_FIELDCAT-FIELDNAME = &1.
WA_FIELDCAT-REF_TABNAME = 'VBAK'.
WA_FIELDCAT-DO_SUM = &2.
WA_FIELDCAT-CFIELDNAME = &3.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
END-OF-DEFINITION.
DATA:
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv.
m_fieldcat 'ICON' '' ''.
m_fieldcat 'VBELN' '' ''.
m_fieldcat 'AUDAT' '' ''.
m_fieldcat 'VBTYP' '' ''.
m_fieldcat 'AUART' '' ''.
m_fieldcat 'AUGRU' '' ''.
m_fieldcat 'NETWR' 'C' 'WAERK'.
m_fieldcat 'WAERK' '' ''.
ENDFORM. " display_data
hope it helps u
regards
laxmi -
Icons in alv report....
Hi all,
I am creating an ALV report using oops concept all the things are working fine but i can not able to see all the icons enabled (icon for sum and and the next to that both are disabled) plz give the solution ASAP....
Thanks and Regards
AshuIn your fieldcatalog
for Summable fields(quantities, Currencies etc)
you provide inttype = 'P'.
fieldcatalog-inttype = 'P'.
and try... -
Hi experts,
Iam trying to display icons in one of the columns in my ALV grid.
I have created ITAB like this.
type-pools : icon,slis.
data: begin of gt_dtl occurs 0,
range(4).
include structure zbitrdtl.
data: field_style type lvc_t_styl.
data: end of gt_dtl.
And iam trying to pass ICON like this.
loop at gt_dtl.
gt_dtl-range = icon_green_light.
modify gt_dtl.
endloop.
And passing into fieldcat.
ls_fcat-fieldname = 'Range'.
ls_fcat-tabname = 'GT_DTL'.
ls_fcat-scrtext_l = 'Range'.
ls_fcat-outputlen = '10'.
ls_fcat-col_pos = 8.
ls_fcat-icon = 'X'.
append ls_fcat to gt_fieldcat.
clear ls_fcat.
call function 'LVC_FIELDCATALOG_MERGE'
exporting
i_buffer_active = 'X'
i_structure_name = 'ZBITRDTL'
i_client_never_display = 'X'
i_internal_tabname = 'GT_DTL'
changing
ct_fieldcat = gt_fieldcat
exceptions
inconsistent_interface = 1
program_error = 2
others = 3.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
<b>Iam able to see the ICON in the ITAB in debugging mode.</b>
But iam not getting ICON in my output of ALV.
where iam doing wrong?
Rewared guaranteed,
thanks
kakiHi...
copy paste the following code. And check out hte variation.
Hope this will be helpful
Thank-You.
vinsee
REPORT zrwty_wty_errors .
TYPE
TYPE-POOLS: slis, icon.
Tables
Tables : pnwtyh,
balhdr.
Data Decleration
DATA: text(1000), lv_clmno(40).
Internal table for messages ( Datewise )
DATA: BEGIN OF it_balhdr OCCURS 0,
lognumber TYPE balhdr-lognumber,
log_handle TYPE balhdr-log_handle,
END OF it_balhdr.
Internal table for PNWTYH
DATA: BEGIN OF it_pnwtyh OCCURS 0,
clmno TYPE pnwtyh-clmno,
log_message TYPE pnwtyh-log_message,
END OF it_pnwtyh.
Internal table to fetch the actual text messages
DATA: it_message LIKE balm OCCURS 0 WITH HEADER LINE.
Internal Table to handle the ALV o/p
DATA: BEGIN OF it_grid OCCURS 0,
clmno TYPE pnwtyh-clmno,
chgdat TYPE dats,
icon TYPE icon-id," BALIMSGTY
text(1000),
END OF it_grid.
Field Catelog and layout Decleration
DATA: it_fieldcat TYPE lvc_t_fcat,
wa_fieldcat TYPE lvc_s_fcat OCCURS 0 WITH HEADER LINE,
x_fieldcat TYPE lvc_s_fcat OCCURS 0 WITH HEADER LINE.
DATA: x_layout TYPE lvc_s_layo.
DATA: lv_repid LIKE sy-repid.
have hotspot for a PO.
DATA: s_fieldcat LIKE LINE OF it_fieldcat.
s_fieldcat-hotspot = 'X'.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.
SELECT-OPTIONS:
s_aldate FOR balhdr-aldate.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
PARAMETERS : r1 RADIOBUTTON GROUP rg DEFAULT 'X'.
PARAMETERS : r2 RADIOBUTTON GROUP rg .
SELECTION-SCREEN END OF BLOCK b2.
if s_aldate-high = '00000000'.
s_aldate-high = s_aldate-low.
endif.
FM to fetcht he messg no. based on date
CALL FUNCTION 'APPL_LOG_READ_DB'
EXPORTING
object = 'WTY'
subobject = 'CLAIMMSG'
EXTERNAL_NUMBER = ' '
date_from = s_aldate-low
date_to = s_aldate-high
TIME_FROM = '000000'
TIME_TO = '240000'
log_class = '1'
PROGRAM_NAME = '*'
TRANSACTION_CODE = '*'
USER_ID = ' '
MODE = '+'
PUT_INTO_MEMORY = ' '
IMPORTING
NUMBER_OF_LOGS =
TABLES
HEADER_DATA =
HEADER_PARAMETERS =
messages = it_message
MESSAGE_PARAMETERS =
CONTEXTS =
data: zlines type i.
describe table it_message lines zlines.
if it_message[] is initial.
message S398(00) with 'No data found.'.
exit.
endif.
IF radio button ERROR only is selected, Delete others
IF r2 = 'X' .
DELETE it_message WHERE msgty <> 'E'.
ENDIF.
fetch log_handle from BALHDR
SELECT lognumber log_handle FROM balhdr INTO TABLE it_balhdr FOR ALL
ENTRIES IN
it_message WHERE lognumber = it_message-lognumber.
Based on log _handle fetch claim no from PNWTYH
SELECT DISTINCT clmno log_message FROM pnwtyh INTO TABLE it_pnwtyh FOR
ALL ENTRIES IN it_balhdr WHERE log_message = it_balhdr-log_handle.
LOOP AT it_message.
READ TABLE it_balhdr WITH KEY lognumber = it_message-lognumber.
IF sy-subrc = 0.
READ TABLE it_pnwtyh WITH KEY log_message = it_balhdr-log_handle.
IF sy-subrc = 0.
lv_clmno = it_pnwtyh-clmno.
ENDIF.
FM to fetch the actual text message
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = it_message-msgid
lang = 'EN'
no = it_message-msgno
v1 = it_message-msgv1
v2 = it_message-msgv2
v3 = it_message-msgv3
v4 = it_message-msgv4
IMPORTING
msg = text
EXCEPTIONS
not_found = 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.
it_grid-clmno = lv_clmno.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = it_grid-clmno
IMPORTING
output = it_grid-clmno.
Local Variable to handle Date Data
DATA: l_tmstp(30) TYPE c,
l_date TYPE sydatum.
WRITE it_message-time_stmp TO l_tmstp LEFT-JUSTIFIED DECIMALS 0
NO-GROUPING.
l_date = l_tmstp(8).
it_grid-chgdat = l_date.
it_grid-text = text.
IF it_message-msgty = 'E'.
it_grid-icon = '@0A@'.
ELSEIF it_message-msgty <> 'E' AND it_message-msgty <> 'S'.
it_grid-icon = '@09@'.
ENDIF.
APPEND it_grid.
CLEAR it_grid.
CLEAR: lv_clmno, it_message, text.
ENDIF.
ENDLOOP.
PERFORM display_alv.
*& Form display_alv
text
--> p1 text
<-- p2 text
FORM display_alv .
PERFORM build_field_catalog.
PERFORM build_layout.
Assign program name to variable
lv_repid = sy-repid.
Call the ALV Grid FM for Display
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_callback_program = lv_repid
i_grid_title = 'Wty Errors'
is_layout_lvc = x_layout
it_fieldcat_lvc = it_fieldcat
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
TABLES
t_outtab = it_grid[]
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_alv
*& Form build_field_catalog
text
--> p1 text
<-- p2 text
FORM build_field_catalog .
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZWTY_ERR'
i_bypassing_buffer = 'X'
CHANGING
ct_fieldcat = it_fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
wa_fieldcat-col_pos = 1.
wa_fieldcat-fieldname = 'ICON'.
wa_fieldcat-seltext_l = 'Mssg Type'.
wa_fieldcat-seltext = 'Mssg Type'.
wa_fieldcat-icon = 'X'.
wa_fieldcat-SCRTEXT_L = 'Mssg Type'.
wa_fieldcat-outputlen = 8.
wa_fieldcat-tabname = 'IT_GRID'.
APPEND wa_fieldcat TO it_fieldcat.
MODIFY it_fieldcat FROM wa_fieldcat TRANSPORTING seltext_l WHERE
fieldname = 'ICON' .
CLEAR wa_fieldcat.
MODIFY it_fieldcat FROM wa_fieldcat TRANSPORTING seltext icon
SCRTEXT_L
WHERE
fieldname = 'ICON' .
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 2.
wa_fieldcat-fieldname = 'CHGDAT'.
wa_fieldcat-seltext_l = 'Chg Date'.
wa_fieldcat-seltext = 'Chg Date'.
wa_fieldcat-SCRTEXT_L = 'Chg Date'.
wa_fieldcat-outputlen = 10.
wa_fieldcat-tabname = 'IT_GRID'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
MODIFY it_fieldcat FROM wa_fieldcat TRANSPORTING seltext_l WHERE
fieldname = 'CHGDAT' .
CLEAR wa_fieldcat.
MODIFY it_fieldcat FROM wa_fieldcat TRANSPORTING seltext SCRTEXT_L
WHERE
fieldname = 'CHGDAT' .
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = 4.
wa_fieldcat-fieldname = 'TEXT'.
wa_fieldcat-seltext_l = 'Message Text'.
wa_fieldcat-seltext = 'Message Text'.
wa_fieldcat-SCRTEXT_L = 'Chg Date'.
wa_fieldcat-outputlen = 100.
wa_fieldcat-tabname = 'IT_GRID'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*MODIFY it_fieldcat FROM wa_fieldcat TRANSPORTING seltext_l WHERE
fieldname = 'TEXT'.
CLEAR wa_fieldcat.
MODIFY it_fieldcat FROM wa_fieldcat TRANSPORTING seltext SCRTEXT_L WHERE
fieldname = 'TEXT'.
CLEAR wa_fieldcat.
MODIFY it_fieldcat FROM s_fieldcat TRANSPORTING hotspot
WHERE fieldname = 'CLMNO'.
ENDFORM. " build_field_catalog
*& Form Build_layout
text
--> p1 text
<-- p2 text
FORM build_layout .
CLEAR x_layout.
x_layout-colwidth_optimize = 'X'.
x_layout-zebra = 'X'.
ENDFORM. " Build_layout
FORM display_detail *
--> UCOMM *
--> SELFIELD *
FORM user_command USING ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.
IF ucomm = '&IC1'.
READ TABLE it_grid INDEX selfield-tabindex.
IF sy-subrc EQ 0.
CALL 'WTY' FOR SELECTED CLAIM
CALL FUNCTION 'ZWTY_CLAIM_DISPLAY'
EXPORTING
i_clmno = it_grid-clmno
iv_from_doc = 'J'
EXCEPTIONS
not_found = 1
authority_failed = 2
no_claimtype = 3
OTHERS = 4.
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.
ENDIF.
ENDFORM. "user_command
Maybe you are looking for
-
GDM login doesn't work anymore
Hey guys, I know there are some topics related to "gdm" and "login" and "can't", but none of them seemed to fit my problem. So I decided to open a new topic nonetheless. If I shouldn't have, I'm sorry. Some strange things happened today. I forgot to
-
Dear SAP Gurus, We Have a requirement in SAP DMS, where in we maintain the reviewer and Approver in the Characteristics field, and also have a date characteristics defined, the requirement is when the approver should be intimated well before in Hand
-
Load Balancing with Xserve?
Hi, I have a unique situation with my network which I'm having a heck of a time getting info about. Setup: I currently have two sites. Site A has cable for internet service, and is providing site B with internet via a WDS wireless bridge. So basicall
-
Unable to send or receive text mesages
I just changed my plan last week to include texting. however I am unable to send or receive any messages When I send It reports message failed
-
I'm getting an iPod tomorrow. I am totally geeked! I anticipate zero problems plugging it in and syncing my library. However, my little brother just bought a pc with Vista and he's having a helluva time with his music. I was over there last week and