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

Interactive Report

Former Member
0 Likes
511

plz give me one complete example of interactive report using all events.......

so that I can get overview of that easily at once....

Thanks & regards.....

Bye.....

4 REPLIES 4
Read only

Former Member
0 Likes
485

&----


*& Report Z_ALV_EVENTS *

*& *

&----


*& *

*& *

&----


REPORT Z_ALV_EVENTS .

tables:ekko.

type-pools : slis.

&----


  • Internal table for ALV

----


data : it_fieldcat type slis_t_fieldcat_alv, "Field catalog

wa_fieldcat type slis_fieldcat_alv, "WA for Field catalog

it_event type slis_t_event, "events

wa_event type slis_alv_event, "WA for events

it_comment type slis_t_listheader, "Header details

wa_comment type slis_listheader, "WA for header details

wa_layout type slis_layout_alv, "Layout

it_sort type slis_t_sortinfo_alv, "Sort table

wa_sort type slis_sortinfo_alv, "WA for sort table

it_keyinfo type slis_keyinfo_alv. "Pass key value

data : v_repid like sy-repid.

v_repid = sy-repid.

data : v_date like sy-datum.

    • color management.

data : it_color type table of lvc_s_scol. "Color management.

&----


  • Internal table declearation

----


data:begin of it_ekko occurs 0,

ebeln like ekko-ebeln,

bukrs like ekko-bukrs,

aedat like ekko-aedat,

end of it_ekko.

data : begin of it_ekpo occurs 0,

ebeln like ekpo-ebeln,

ebelp like ekpo-ebelp,

matnr like ekpo-matnr,

menge like ekpo-menge,

meins like ekpo-meins,

netpr like ekpo-netpr,

netwr like ekpo-menge,

end of it_ekpo.

data : begin of it_ekbe occurs 0,

ebeln like ekbe-ebeln,

ebelp like ekbe-ebelp,

belnr like ekbe-belnr,

menge like ekbe-menge,

matnr like ekbe-matnr,

end of it_ekbe.

data : begin of it_final occurs 0,

ebeln like ekpo-ebeln,

ebelp like ekpo-ebelp,

matnr like ekpo-matnr,

menge like ekpo-menge,

meins like ekpo-meins,

netpr like ekpo-netpr,

netwr like ekpo-netwr,

line_color(4) type c, "Used to store row color attributes

end of it_final.

selection-screen begin of block blk with frame title text-001.

select-options:s_ebeln for ekko-ebeln.

parameters : rb1 radiobutton group g1 modif id z1,

rb2 radiobutton group g1 modif id z2,

rb3 radiobutton group g1 modif id z3.

selection-screen end of block blk.

at selection-screen output.

perform modify_screen.

start-of-selection.

perform get_details.

perform get_alv.

&----


*& Form modify_screen

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form modify_screen .

  • IF RB1 = 'X'.

  • LOOP AT SCREEN.

  • IF SCREEN-GROUP1 = 'Z1' .

  • SCREEN-INVISIBLE = 1.

  • SCREEN-ACTIVE = 0.

  • ELSE.

  • SCREEN-INVISIBLE = 0.

  • SCREEN-ACTIVE = 1.

  • ENDIF.

  • MODIFY SCREEN.

  • ENDLOOP.

  • ENDIF.

endform. " modify_screen

&----


*& Form GET_DETAILS

&----


  • Get the details

----


form get_details .

data: ld_color(1) type c.

select ebeln

bukrs

aedat

from ekko

into table it_ekko

where ebeln in s_ebeln.

if sy-subrc = 0.

sort it_ekko by ebeln.

else.

  • message e000 with 'DATA NOT FOUND'.

endif.

if not it_ekko[] is initial.

select ebeln

ebelp

matnr

menge

meins

netpr

netwr

from ekpo

into table it_ekpo

for all entries in it_ekko

where ebeln = it_ekko-ebeln.

if sy-subrc = 0.

sort it_ekpo by ebeln.

endif.

endif.

loop at it_ekpo.

it_final-ebeln = it_ekpo-ebeln.

it_final-ebelp = it_ekpo-ebelp.

it_final-matnr = it_ekpo-matnr.

it_final-menge = it_ekpo-menge.

it_final-meins = it_ekpo-meins.

it_final-netpr = it_ekpo-netpr.

it_final-netwr = it_ekpo-netwr.

on change of it_final-ebeln.

ld_color = 7.

concatenate 'C' ld_color '10' into it_final-line_color.

endon.

append it_final.

clear it_final.

endloop.

endform. " GET_DETAILS

&----


*& Form GET_ALV

&----


  • text

----


form get_alv .

perform generate_fieldcat.

perform generate_layout.

perform generate_events.

perform generate_sort.

perform alv_grid_display.

endform. " GET_ALV

&----


*& Form GENERATE_FIELDCAT

&----


  • Field catalog

----


form generate_fieldcat .

if rb1 = 'X' or rb2 = 'X'.

wa_fieldcat-fieldname = 'EBELN'.

wa_fieldcat-col_pos = '1'.

wa_fieldcat-just = 'R'.

wa_fieldcat-seltext_l = 'PO Number'.

wa_fieldcat-lowercase = 'X'.

wa_fieldcat-do_sum = 'X'.

append wa_fieldcat to it_fieldcat.

wa_fieldcat-fieldname = 'EBELP'.

wa_fieldcat-col_pos = '2'.

wa_fieldcat-just = 'C'.

wa_fieldcat-seltext_l = 'Item Number'.

wa_fieldcat-lowercase = 'X'.

wa_fieldcat-edit = 'X'.

append wa_fieldcat to it_fieldcat.

wa_fieldcat-fieldname = 'MATNR'.

wa_fieldcat-col_pos = '3'.

wa_fieldcat-just = 'C'.

wa_fieldcat-seltext_l = 'Material Number'.

wa_fieldcat-lowercase = 'X'.

append wa_fieldcat to it_fieldcat.

wa_fieldcat-fieldname = 'MENGE'.

wa_fieldcat-col_pos = '4'.

wa_fieldcat-just = 'C'.

wa_fieldcat-seltext_l = 'PO Quantity'.

wa_fieldcat-lowercase = 'X'.

append wa_fieldcat to it_fieldcat.

wa_fieldcat-fieldname = 'MEINS'.

wa_fieldcat-col_pos = '5'.

wa_fieldcat-just = 'C'.

wa_fieldcat-seltext_l = 'Order unit'.

wa_fieldcat-lowercase = 'X'.

append wa_fieldcat to it_fieldcat.

wa_fieldcat-fieldname = 'NETPR'.

wa_fieldcat-col_pos = '6'.

wa_fieldcat-just = 'C'.

wa_fieldcat-seltext_l = 'Net price'.

wa_fieldcat-lowercase = 'X'.

append wa_fieldcat to it_fieldcat.

wa_fieldcat-fieldname = 'NETWR'.

wa_fieldcat-col_pos = '7'.

wa_fieldcat-just = 'C'.

wa_fieldcat-seltext_l = 'Net order value'.

wa_fieldcat-lowercase = 'X'.

append wa_fieldcat to it_fieldcat.

  • wa_fieldcat-fieldname = 'CHK'.

  • wa_fieldcat-col_pos = '8'.

  • wa_fieldcat-just = 'C'.

  • wa_fieldcat-seltext_l = 'Check Box'.

  • wa_fieldcat-lowercase = 'X'.

  • wa_fieldcat-checkbox = 'X'.

  • wa_fieldcat-edit = 'X'.

  • append wa_fieldcat to it_fieldcat.

else.

call function 'REUSE_ALV_FIELDCATALOG_MERGE'

exporting

i_program_name = v_repid

i_internal_tabname = 'IT_EKKO'

  • I_STRUCTURE_NAME = I_STRUCTURE_NAME

  • I_CLIENT_NEVER_DISPLAY = 'X'

i_inclname = v_repid

  • I_BYPASSING_BUFFER = I_BYPASSING_BUFFER

  • I_BUFFER_ACTIVE = I_BUFFER_ACTIVE

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.

call function 'REUSE_ALV_FIELDCATALOG_MERGE'

exporting

i_program_name = v_repid

i_internal_tabname = 'IT_EKPO'

  • I_STRUCTURE_NAME = I_STRUCTURE_NAME

  • I_CLIENT_NEVER_DISPLAY = 'X'

i_inclname = v_repid

  • I_BYPASSING_BUFFER = I_BYPASSING_BUFFER

  • I_BUFFER_ACTIVE = I_BUFFER_ACTIVE

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.

endif.

endform. " GENERATE_FIELDCAT

*&----


*& Form GENERATE_EVENTS

*&----


  • Generate Events

*----


form generate_events .

call function 'REUSE_ALV_EVENTS_GET'

importing

et_events = it_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.

if not it_event[] is initial.

read table it_event into wa_event with key name = 'TOP_OF_PAGE'.

if sy-subrc = 0.

wa_event-form = 'TOP_OF_PAGE'.

modify it_event from wa_event index sy-tabix.

endif.

endif.

endform. " GENERATE_EVENTS

*&----


*& Form TOP_OF_PAGE

*&----


  • TOP_OF_PAGE

*----


form top_of_page.

data : v_concate(50) type c.

data : v_space(10) type c.

concatenate 'VIKRANTH' 'RAJESH' into v_concate.

wa_comment-typ = 'S'.

wa_comment-key = 'USER :'.

wa_comment-info = v_concate.

append wa_comment to it_comment.

wa_comment-typ = 'S'.

wa_comment-key = 'DATE:'.

wa_comment-info = sy-datum.

append wa_comment to it_comment.

wa_comment-typ = 'S'.

wa_comment-key = 'TIME:'.

wa_comment-info = sy-timlo.

append wa_comment to it_comment.

call function 'REUSE_ALV_COMMENTARY_WRITE'

exporting

it_list_commentary = it_comment.

clear it_comment.

endform. "TOP_OF_PAGE

&----


*& Form ALV_GRID_DISPLAY

&----


  • Grid display

----


form alv_grid_display .

if rb1 = 'X'.

perform grid_display.

elseif rb2 = 'X'.

perform list_display.

else.

perform hierseq_display.

endif.

endform. " ALV_GRID_DISPLAY

&----


*& Form GENERATE_LAYOUT

&----


  • LAYOUT

----


form generate_layout .

wa_layout-colwidth_optimize = 'X'. "OPTIMIZING FIELD WIDTH

wa_layout-zebra = 'X'. "PUTTING ZEBRA COLORS

wa_layout-totals_text = 'Total'.

wa_layout-subtotals_text = 'SUB TOTAL'.

wa_layout-info_fieldname = 'LINE_COLOR'.

endform. " GENERATE_LAYOUT

&----


*& Form GENERATE_SORT

&----


  • SORT

----


form generate_sort .

wa_sort-fieldname = 'EBELN'.

wa_sort-spos = '1'.

wa_sort-up = 'X'.

wa_sort-subtot = 'X'.

append wa_sort to it_sort.

endform. " GENERATE_SORT

&----


*& Form GRID_DISPLAY

&----


  • GRID DISPLAY

----


form grid_display .

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

i_callback_program = v_repid

  • I_CALLBACK_PF_STATUS_SET = ' '

i_callback_user_command = 'IT_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 = 'Purchase Order Details'

  • I_GRID_SETTINGS = I_GRID_SETTINGS

is_layout = wa_layout

it_fieldcat = it_fieldcat

  • IT_EXCLUDING = IT_EXCLUDING

  • IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS

it_sort = it_sort

  • IT_FILTER = IT_FILTER

  • IS_SEL_HIDE = IS_SEL_HIDE

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT = IS_VARIANT

it_events = it_event

  • IT_EVENT_EXIT = IT_EVENT_EXIT

  • IS_PRINT = IS_PRINT

  • IS_REPREP_ID = 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_ALV_GRAPHICS

  • IT_HYPERLINK = IT_HYPERLINK

  • IT_ADD_FIELDCAT = IT_ADD_FIELDCAT

  • IT_EXCEPT_QINFO = IT_EXCEPT_QINFO

  • IR_SALV_FULLSCREEN_ADAPTER = IR_SALV_FULLSCREEN_ADAPTER

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER

  • ES_EXIT_CAUSED_BY_USER = 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. " GRID_DISPLAY

&----


*& Form LIST_DISPLAY

&----


  • LIST DISPLAY

----


form list_display .

call function 'REUSE_ALV_LIST_DISPLAY'

exporting

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = I_BYPASSING_BUFFER

  • I_BUFFER_ACTIVE = ' '

i_callback_program = v_repid

  • I_CALLBACK_PF_STATUS_SET = ' '

i_callback_user_command = 'IT_USER_COMMAND'

  • I_STRUCTURE_NAME = I_STRUCTURE_NAME

is_layout = wa_layout

it_fieldcat = it_fieldcat

  • IT_EXCLUDING = IT_EXCLUDING

  • IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS

it_sort = it_sort

  • IT_FILTER = IT_FILTER

  • IS_SEL_HIDE = IS_SEL_HIDE

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT = IS_VARIANT

it_events = it_event

  • IT_EVENT_EXIT = IT_EVENT_EXIT

  • IS_PRINT = IS_PRINT

  • IS_REPREP_ID = IS_REPREP_ID

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IR_SALV_LIST_ADAPTER = IR_SALV_LIST_ADAPTER

  • IT_EXCEPT_QINFO = IT_EXCEPT_QINFO

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER

  • ES_EXIT_CAUSED_BY_USER = 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. " LIST_DISPLAY

&----


*& Form HIERSEQ_DISPLAY

&----


  • HIERSEQ DISPLAY

----


form hierseq_display .

it_keyinfo-header01 = 'EBELN'.

it_keyinfo-item01 = 'EBELN'.

call function 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

exporting

  • I_INTERFACE_CHECK = ' '

i_callback_program = v_repid

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

is_layout = wa_layout

it_fieldcat = it_fieldcat

  • IT_EXCLUDING = IT_EXCLUDING

  • IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS

it_sort = it_sort

  • IT_FILTER = IT_FILTER

  • IS_SEL_HIDE = IS_SEL_HIDE

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT = IS_VARIANT

it_events = it_event

  • IT_EVENT_EXIT = IT_EVENT_EXIT

i_tabname_header = 'IT_EKKO'

i_tabname_item = 'IT_EKPO'

  • I_STRUCTURE_NAME_HEADER = I_STRUCTURE_NAME_HEADER

  • I_STRUCTURE_NAME_ITEM = I_STRUCTURE_NAME_ITEM

is_keyinfo = it_keyinfo

  • IS_PRINT = IS_PRINT

  • IS_REPREP_ID = IS_REPREP_ID

  • I_BYPASSING_BUFFER = I_BYPASSING_BUFFER

  • I_BUFFER_ACTIVE = I_BUFFER_ACTIVE

  • IR_SALV_HIERSEQ_ADAPTER = IR_SALV_HIERSEQ_ADAPTER

  • IT_EXCEPT_QINFO = IT_EXCEPT_QINFO

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER

  • ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER

tables

t_outtab_header = it_ekko

t_outtab_item = it_ekpo

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. " HIERSEQ_DISPLAY

&----


*& Form IT_USER_COMMAND

&----


  • text

----


form it_user_command using r_ucomm like sy-ucomm

rs_selfield type slis_selfield.

free it_fieldcat.

case r_ucomm.

when '&IC1'.

read table it_final index rs_selfield-tabindex.

perform get_ekbe.

perform get_field_catalog.

perform get_list.

endcase.

endform. "IT_USER_COMMAND

&----


*& Form GET_EKBE

&----


  • text

----


form get_ekbe .

if not it_final[] is initial.

select ebeln

ebelp

belnr

menge

matnr

into table it_ekbe

from ekbe

for all entries in it_final

where ebeln = it_final-ebeln

and ebelp = it_final-ebelp.

endif.

endform. " GET_EKBE

&----


*& Form GET_FIELD_CATALOG

&----


  • text

----


form get_field_catalog .

wa_fieldcat-fieldname = 'EBELN'.

wa_fieldcat-col_pos = '1'.

wa_fieldcat-just = 'R'.

wa_fieldcat-seltext_l = 'PO Number'.

wa_fieldcat-lowercase = 'X'.

wa_fieldcat-do_sum = 'X'.

append wa_fieldcat to it_fieldcat.

wa_fieldcat-fieldname = 'EBELP'.

wa_fieldcat-col_pos = '2'.

wa_fieldcat-just = 'R'.

wa_fieldcat-seltext_l = 'Item Number'.

wa_fieldcat-lowercase = 'X'.

wa_fieldcat-do_sum = 'X'.

append wa_fieldcat to it_fieldcat.

wa_fieldcat-fieldname = 'BELNR'.

wa_fieldcat-col_pos = '3'.

wa_fieldcat-just = 'R'.

wa_fieldcat-seltext_l = 'Material Document'.

wa_fieldcat-lowercase = 'X'.

wa_fieldcat-do_sum = 'X'.

append wa_fieldcat to it_fieldcat.

wa_fieldcat-fieldname = 'MENGE'.

wa_fieldcat-col_pos = '4'.

wa_fieldcat-just = 'R'.

wa_fieldcat-seltext_l = 'Quantity'.

wa_fieldcat-lowercase = 'X'.

wa_fieldcat-do_sum = 'X'.

append wa_fieldcat to it_fieldcat.

wa_fieldcat-fieldname = 'MATNR'.

wa_fieldcat-col_pos = '5'.

wa_fieldcat-just = 'R'.

wa_fieldcat-seltext_l = 'Material Number'.

wa_fieldcat-lowercase = 'X'.

wa_fieldcat-do_sum = 'X'.

append wa_fieldcat to it_fieldcat.

endform. " GET_FIELD_CATALOG

&----


*& Form get_list

&----


  • text

----


form get_list .

if rb1 = 'X'.

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

i_callback_program = v_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_STRUCTURE_NAME

  • I_BACKGROUND_ID = ' '

i_grid_title = 'SECONDARY LIST'

  • I_GRID_SETTINGS = I_GRID_SETTINGS

  • IS_LAYOUT = IS_LAYOUT

it_fieldcat = it_fieldcat

  • IT_EXCLUDING = IT_EXCLUDING

  • IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS

  • IT_SORT = IT_SORT

  • IT_FILTER = IT_FILTER

  • IS_SEL_HIDE = IS_SEL_HIDE

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT = IS_VARIANT

  • IT_EVENTS = IT_EVENTS

  • IT_EVENT_EXIT = IT_EVENT_EXIT

  • IS_PRINT = IS_PRINT

  • IS_REPREP_ID = 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_ALV_GRAPHICS

  • IT_HYPERLINK = IT_HYPERLINK

  • IT_ADD_FIELDCAT = IT_ADD_FIELDCAT

  • IT_EXCEPT_QINFO = IT_EXCEPT_QINFO

  • IR_SALV_FULLSCREEN_ADAPTER = IR_SALV_FULLSCREEN_ADAPTER

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER

  • ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER

tables

t_outtab = it_ekbe

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.

if rb2 = 'X'.

call function 'REUSE_ALV_LIST_DISPLAY'

exporting

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = I_BYPASSING_BUFFER

  • I_BUFFER_ACTIVE = ' '

i_callback_program = v_repid

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_STRUCTURE_NAME = I_STRUCTURE_NAME

  • IS_LAYOUT = IS_LAYOUT

it_fieldcat = it_fieldcat

  • IT_EXCLUDING = IT_EXCLUDING

  • IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS

  • IT_SORT = IT_SORT

  • IT_FILTER = IT_FILTER

  • IS_SEL_HIDE = IS_SEL_HIDE

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT = IS_VARIANT

  • IT_EVENTS = IT_EVENTS

  • IT_EVENT_EXIT = IT_EVENT_EXIT

  • IS_PRINT = IS_PRINT

  • IS_REPREP_ID = IS_REPREP_ID

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IR_SALV_LIST_ADAPTER = IR_SALV_LIST_ADAPTER

  • IT_EXCEPT_QINFO = IT_EXCEPT_QINFO

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER

  • ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER

tables

t_outtab = it_ekbe

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. " get_list

Read only

0 Likes
485

Hi radhika,

Thanks but not......

I am looking for complete example of interactive report not alv......

By the way thanks.........

Bye nad take care.......

Read only

0 Likes
485

thanks radhika

Read only

Former Member
0 Likes
485

Hi

This is an interactive ALV Report

<b>REPORT ZZ_22038_22098_002 NO STANDARD PAGE HEADING LINE-SIZE 650

MESSAGE-ID ZZ_9838 .

TYPE-POOLS: SLIS.

*type declaration for values from ekko

TYPES: BEGIN OF I_EKKO,

EBELN LIKE EKKO-EBELN,

AEDAT LIKE EKKO-AEDAT,

BUKRS LIKE EKKO-BUKRS,

BSART LIKE EKKO-BSART,

LIFNR LIKE EKKO-LIFNR,

END OF I_EKKO.

DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,

WA_EKKO TYPE I_EKKO.

*type declaration for values from ekpo

TYPES: BEGIN OF I_EKPO,

EBELN LIKE EKPO-EBELN,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

MENGE LIKE EKPO-MENGE,

MEINS LIKE EKPO-MEINS,

NETPR LIKE EKPO-NETPR,

END OF I_EKPO.

DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,

WA_EKPO TYPE I_EKPO .

*variable for Report ID

DATA: V_REPID LIKE SY-REPID .

*declaration for fieldcatalog

DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.

  • declaration for events table where user comand or set PF status will

  • be defined

DATA: V_EVENTS TYPE SLIS_T_EVENT,

WA_EVENT TYPE SLIS_ALV_EVENT.

  • declartion for layout

DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.

  • declaration for variant(type of display we want)

DATA: I_VARIANT TYPE DISVARIANT,

I_VARIANT1 TYPE DISVARIANT,

I_SAVE(1) TYPE C.

*PARAMETERS : p_var TYPE disvariant-variant.

*Title displayed when the alv list is displayed

DATA: I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.

DATA: I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.

INITIALIZATION.

V_REPID = SY-REPID.

PERFORM BUILD_FIELDCATLOG.

PERFORM EVENT_CALL.

PERFORM POPULATE_EVENT.

START-OF-SELECTION.

PERFORM DATA_RETRIEVAL.

PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.

PERFORM DISPLAY_ALV_REPORT.

&----


*& Form BUILD_FIELDCATLOG

&----


  • Fieldcatalog has all the field details from ekko

----


FORM BUILD_FIELDCATLOG.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'EBELN'.

WA_FIELDCAT-SELTEXT_M = 'PO NO.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'AEDAT'.

WA_FIELDCAT-SELTEXT_M = 'DATE.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'BUKRS'.

WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'BUKRS'.

WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'LIFNR'.

WA_FIELDCAT-NO_OUT = 'X'.

WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

ENDFORM. "BUILD_FIELDCATLOG

&----


*& Form EVENT_CALL

&----


  • we get all events - TOP OF PAGE or USER COMMAND in table v_events

----


FORM EVENT_CALL.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = V_EVENTS

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

ENDFORM. "EVENT_CALL

&----


*& Form POPULATE_EVENT

&----


  • Events populated for TOP OF PAGE & USER COMAND

----


FORM POPULATE_EVENT.

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

IF SY-SUBRC EQ 0.

WA_EVENT-FORM = 'TOP_OF_PAGE'.

MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =

WA_EVENT-FORM.

ENDIF.

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

IF SY-SUBRC EQ 0.

WA_EVENT-FORM = 'USER_COMMAND'.

MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =

WA_EVENT-NAME.

ENDIF.

ENDFORM. "POPULATE_EVENT

&----


*& Form data_retrieval

&----


  • retreiving values from the database table ekko

----


FORM DATA_RETRIEVAL.

SELECT EBELN AEDAT BUKRS BSART LIFNR FROM EKKO INTO TABLE IT_EKKO.

ENDFORM. "data_retrieval

&----


*& Form bUild_listheader

&----


  • text

----


  • -->I_LISTHEADEtext

----


FORM BUILD_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.

DATA HLINE TYPE SLIS_LISTHEADER.

HLINE-INFO = 'this is my first alv pgm'.

HLINE-TYP = 'H'.

ENDFORM. "build_listheader

&----


*& Form display_alv_report

&----


  • text

----


FORM DISPLAY_ALV_REPORT.

V_REPID = SY-REPID.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = V_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'

I_GRID_TITLE = I_TITLE_EKKO

  • I_GRID_SETTINGS =

  • IS_LAYOUT = ALV_LAYOUT

IT_FIELDCAT = I_FIELDCAT[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • i_default = 'ZLAY1'

I_SAVE = 'A'

  • is_variant = i_variant

IT_EVENTS = V_EVENTS

TABLES

T_OUTTAB = IT_EKKO

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

&----


*& Form TOP_OF_PAGE

&----


  • text

----


FORM TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = IT_LISTHEADER

  • i_logo =

  • I_END_OF_LIST_GRID =

.

ENDFORM. "TOP_OF_PAGE

&----


*& Form USER_COMMAND

&----


  • text

----


  • -->R_UCOMM text

  • -->, text

  • -->RS_SLEFIELDtext

----


FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

CASE R_UCOMM.

WHEN '&IC1'.

READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.

PERFORM BUILD_FIELDCATLOG_EKPO.

PERFORM EVENT_CALL_EKPO.

PERFORM POPULATE_EVENT_EKPO.

PERFORM DATA_RETRIEVAL_EKPO.

PERFORM BUILD_LISTHEADER_EKPO USING IT_LISTHEADER.

PERFORM DISPLAY_ALV_EKPO.

ENDCASE.

ENDFORM. "user_command

&----


*& Form BUILD_FIELDCATLOG_EKPO

&----


  • text

----


FORM BUILD_FIELDCATLOG_EKPO.

WA_FIELDCAT-TABNAME = 'IT_EKPO'.

WA_FIELDCAT-FIELDNAME = 'EBELN'.

WA_FIELDCAT-SELTEXT_M = 'PO NO.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKPO'.

WA_FIELDCAT-FIELDNAME = 'EBELP'.

WA_FIELDCAT-SELTEXT_M = 'LINE NO'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'MATNR'.

WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'MENGE'.

WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'MEINS'.

WA_FIELDCAT-SELTEXT_M = 'UOM'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'NETPR'.

WA_FIELDCAT-SELTEXT_M = 'PRICE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

ENDFORM. "BUILD_FIELDCATLOG_EKPO

&----


*& Form event_call_ekpo

&----


  • we get all events - TOP OF PAGE or USER COMMAND in table v_events

----


FORM EVENT_CALL_EKPO.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = V_EVENTS

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

ENDFORM. "event_call_ekpo

&----


*& Form POPULATE_EVENT

&----


  • Events populated for TOP OF PAGE & USER COMAND

----


FORM POPULATE_EVENT_EKPO.

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

IF SY-SUBRC EQ 0.

WA_EVENT-FORM = 'TOP_OF_PAGE'.

MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =

WA_EVENT-FORM.

ENDIF.

ENDFORM. "POPULATE_EVENT

&----


*& Form TOP_OF_PAGE

&----


  • text

----


FORM F_TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = IT_LISTHEADER

  • i_logo =

  • I_END_OF_LIST_GRID =

.

ENDFORM. "TOP_OF_PAGE

&----


*& Form USER_COMMAND

&----


  • text

----


  • -->R_UCOMM text

  • -->, text

  • -->RS_SLEFIELDtext

----


*retreiving values from the database table ekko

FORM DATA_RETRIEVAL_EKPO.

SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.

ENDFORM.

FORM BUILD_LISTHEADER_EKPO USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.

DATA: HLINE1 TYPE SLIS_LISTHEADER.

HLINE1-TYP = 'H'.

HLINE1-INFO = 'CHECKING PGM'.

ENDFORM.

FORM DISPLAY_ALV_EKPO.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = V_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = 'F_USER_COMMAND'

I_CALLBACK_TOP_OF_PAGE = '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_TITLE_EKPO

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = I_FIELDCAT[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT =

I_SAVE = 'A'

  • IS_VARIANT =

IT_EVENTS = V_EVENTS

TABLES

T_OUTTAB = IT_EKPO

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.</b>

Thanks

Manju