Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ALV Report

Former Member
0 Likes
547

Hi Guy's,

Please help me, presently working on ALV, on header want to insert what ever selection options conatin pernr, fundcenter, business areas, how to work this type of senario.

Thanks,

Sai.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
522

Hi,

&----


*& Internal table Declaration for MARA table

&----


DATA : itabmara TYPE mara OCCURS 0 WITH HEADER LINE.

----


  • Declaration for ALV catolog and layout.

----


TYPE-POOLS : slis.

DATA: t_field TYPE slis_t_fieldcat_alv,

wa_field TYPE slis_fieldcat_alv,

t_layout TYPE slis_layout_alv,

w_g_repid LIKE sy-repid,

w_g_variant LIKE disvariant.

&----


*& Declaration for ALV Top-of-page

&----


DATA : gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.

DATA : w_gt_events TYPE slis_t_event.

DATA : w_gt_list_top_of_page TYPE slis_t_listheader.

&----


*& START-OF-SELECTION "Event

&----


START-OF-SELECTION.

PERFORM select_data.

PERFORM eventtab_build USING w_gt_events[].

PERFORM comment_build USING w_gt_list_top_of_page[].

PERFORM display_alv.

&----


*& Form select_data

&----


FORM select_data .

SELECT * FROM mara INTO TABLE itabmara UP TO 19 ROWS.

ENDFORM. " select_data

----


  • FORM EVENTTAB_BUILD *

----


FORM eventtab_build USING lt_events TYPE slis_t_event.

DATA: l_ls_event TYPE slis_alv_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = lt_events.

READ TABLE lt_events WITH KEY name = slis_ev_top_of_page

INTO l_ls_event.

IF sy-subrc = 0.

MOVE gc_formname_top_of_page TO l_ls_event-form.

APPEND l_ls_event TO lt_events.

ENDIF.

ENDFORM. "E03_EVENTTAB_BUILD

&----


*& Form top-of-page

&----


FORM top_of_page.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

i_logo = 'ENJOYSAP_LOGO'

it_list_commentary = w_gt_list_top_of_page.

ENDFORM. "TOP_OF_PAGE

----


  • FORM COMMENT_BUILD *

----


FORM comment_build USING lt_top_of_page TYPE slis_t_listheader.

DATA : lv_ls_line TYPE slis_listheader.

DATA : lv_date1(10) TYPE c.

DATA : lv_date2(10) TYPE c.

DATA : lv_date_post TYPE string.

CLEAR lv_ls_line.

lv_ls_line-typ = 'H'.

lv_ls_line-info = 'Material Details'.

APPEND lv_ls_line TO lt_top_of_page.

DATA : lv_count_conm1 TYPE i.

DATA : lv_count_con1 TYPE i.

DATA : lv_matnr_con(60) TYPE c.

DATA : lv_matnr_con0(60) TYPE c.

DATA : lv_matnr_con1(60) TYPE c.

DATA : lv_matnr_con2(60) TYPE c.

LOOP AT itabmara.

lv_count_conm1 = lv_count_conm1 + 1.

lv_count_con1 = lv_count_con1 + 1.

IF lv_count_con1 = 1.

CONCATENATE lv_matnr_con itabmara-matnr INTO lv_matnr_con.

ELSE.

IF lv_count_conm1 > 1 AND lv_count_conm1 < 5.

CONCATENATE lv_matnr_con itabmara-matnr INTO lv_matnr_con SEPARATED BY ';'.

ELSEIF lv_count_conm1 > 4 AND lv_count_conm1 < 10.

IF lv_count_conm1 = 5.

CONCATENATE lv_matnr_con0 itabmara-matnr INTO lv_matnr_con0.

ELSE.

CONCATENATE lv_matnr_con0 itabmara-matnr INTO lv_matnr_con0 SEPARATED BY ';'.

ENDIF.

ELSEIF lv_count_conm1 > 9 AND lv_count_conm1 < 15.

IF lv_count_conm1 = 10.

CONCATENATE lv_matnr_con1 itabmara-matnr INTO lv_matnr_con1.

ELSE.

CONCATENATE lv_matnr_con1 itabmara-matnr INTO lv_matnr_con1 SEPARATED BY ';'.

ENDIF.

ELSEIF lv_count_conm1 > 14 AND lv_count_conm1 < 20.

IF lv_count_conm1 = 15.

CONCATENATE lv_matnr_con2 itabmara-matnr INTO lv_matnr_con2 .

ELSE.

CONCATENATE lv_matnr_con2 itabmara-matnr INTO lv_matnr_con2 SEPARATED BY ';'.

ENDIF.

ENDIF.

ENDIF.

ENDLOOP.

IF lv_matnr_con IS NOT INITIAL.

CLEAR lv_ls_line.

lv_ls_line-typ = 'S'.

lv_ls_line-key = 'Material Number'.

lv_ls_line-info = lv_matnr_con.

APPEND lv_ls_line TO lt_top_of_page.

ENDIF.

IF lv_matnr_con0 IS NOT INITIAL.

CLEAR lv_ls_line.

lv_ls_line-typ = 'S'.

lv_ls_line-key = ''.

lv_ls_line-info = lv_matnr_con0.

APPEND lv_ls_line TO lt_top_of_page.

ENDIF.

IF lv_matnr_con1 IS NOT INITIAL.

CLEAR lv_ls_line.

lv_ls_line-typ = 'S'.

lv_ls_line-key = ''.

lv_ls_line-info = lv_matnr_con1.

APPEND lv_ls_line TO lt_top_of_page.

ENDIF.

IF lv_matnr_con2 IS NOT INITIAL.

CLEAR lv_ls_line.

lv_ls_line-typ = 'S'.

lv_ls_line-key = ''.

lv_ls_line-info = lv_matnr_con2.

APPEND lv_ls_line TO lt_top_of_page.

ENDIF.

CLEAR lv_ls_line.

lv_ls_line-typ = 'S'.

lv_ls_line-key = '2nd Select-Option'.

lv_ls_line-info = 'Line 2'.

APPEND lv_ls_line TO lt_top_of_page.

CLEAR lv_ls_line.

lv_ls_line-typ = 'S'.

lv_ls_line-key = '3nd Select-Option'.

lv_ls_line-info = 'Line 3'.

APPEND lv_ls_line TO lt_top_of_page.

ENDFORM. "COMMENT_BUILD

&----


*& Form display_alv

&----


  • text

----


FORM display_alv .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = sy-repid

is_layout = t_layout

i_structure_name = 'MARA'

i_save = 'X'

is_variant = w_g_variant

it_events = w_gt_events[]

TABLES

t_outtab = itabmara[].

ENDFORM. "display_alv

Thanks,

Durai.V

Edited by: Durai V on Jul 18, 2008 3:01 PM

Hi Guy's,

Please help me, presently working on ALV, on header want to insert what ever selection options conatin pernr, fundcenter, business areas, how to work this type of senario.

Thanks,

Sai.

3 REPLIES 3
Read only

former_member673464
Active Contributor
0 Likes
522

hi,

You can use the functionmodule REUSE_ALV_COMMENTARY_WRITE for displaying the select-options.

Regards,

Veeresh

Read only

Former Member
0 Likes
522

use the Function module RS_REFRESH_FROM_SELECTOPTIONS

this gets all the selection details.

Now use the Blog to Display the selection details in the TOP_OF_PAGE

use the Blog.

Read only

Former Member
0 Likes
523

Hi,

&----


*& Internal table Declaration for MARA table

&----


DATA : itabmara TYPE mara OCCURS 0 WITH HEADER LINE.

----


  • Declaration for ALV catolog and layout.

----


TYPE-POOLS : slis.

DATA: t_field TYPE slis_t_fieldcat_alv,

wa_field TYPE slis_fieldcat_alv,

t_layout TYPE slis_layout_alv,

w_g_repid LIKE sy-repid,

w_g_variant LIKE disvariant.

&----


*& Declaration for ALV Top-of-page

&----


DATA : gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.

DATA : w_gt_events TYPE slis_t_event.

DATA : w_gt_list_top_of_page TYPE slis_t_listheader.

&----


*& START-OF-SELECTION "Event

&----


START-OF-SELECTION.

PERFORM select_data.

PERFORM eventtab_build USING w_gt_events[].

PERFORM comment_build USING w_gt_list_top_of_page[].

PERFORM display_alv.

&----


*& Form select_data

&----


FORM select_data .

SELECT * FROM mara INTO TABLE itabmara UP TO 19 ROWS.

ENDFORM. " select_data

----


  • FORM EVENTTAB_BUILD *

----


FORM eventtab_build USING lt_events TYPE slis_t_event.

DATA: l_ls_event TYPE slis_alv_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = lt_events.

READ TABLE lt_events WITH KEY name = slis_ev_top_of_page

INTO l_ls_event.

IF sy-subrc = 0.

MOVE gc_formname_top_of_page TO l_ls_event-form.

APPEND l_ls_event TO lt_events.

ENDIF.

ENDFORM. "E03_EVENTTAB_BUILD

&----


*& Form top-of-page

&----


FORM top_of_page.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

i_logo = 'ENJOYSAP_LOGO'

it_list_commentary = w_gt_list_top_of_page.

ENDFORM. "TOP_OF_PAGE

----


  • FORM COMMENT_BUILD *

----


FORM comment_build USING lt_top_of_page TYPE slis_t_listheader.

DATA : lv_ls_line TYPE slis_listheader.

DATA : lv_date1(10) TYPE c.

DATA : lv_date2(10) TYPE c.

DATA : lv_date_post TYPE string.

CLEAR lv_ls_line.

lv_ls_line-typ = 'H'.

lv_ls_line-info = 'Material Details'.

APPEND lv_ls_line TO lt_top_of_page.

DATA : lv_count_conm1 TYPE i.

DATA : lv_count_con1 TYPE i.

DATA : lv_matnr_con(60) TYPE c.

DATA : lv_matnr_con0(60) TYPE c.

DATA : lv_matnr_con1(60) TYPE c.

DATA : lv_matnr_con2(60) TYPE c.

LOOP AT itabmara.

lv_count_conm1 = lv_count_conm1 + 1.

lv_count_con1 = lv_count_con1 + 1.

IF lv_count_con1 = 1.

CONCATENATE lv_matnr_con itabmara-matnr INTO lv_matnr_con.

ELSE.

IF lv_count_conm1 > 1 AND lv_count_conm1 < 5.

CONCATENATE lv_matnr_con itabmara-matnr INTO lv_matnr_con SEPARATED BY ';'.

ELSEIF lv_count_conm1 > 4 AND lv_count_conm1 < 10.

IF lv_count_conm1 = 5.

CONCATENATE lv_matnr_con0 itabmara-matnr INTO lv_matnr_con0.

ELSE.

CONCATENATE lv_matnr_con0 itabmara-matnr INTO lv_matnr_con0 SEPARATED BY ';'.

ENDIF.

ELSEIF lv_count_conm1 > 9 AND lv_count_conm1 < 15.

IF lv_count_conm1 = 10.

CONCATENATE lv_matnr_con1 itabmara-matnr INTO lv_matnr_con1.

ELSE.

CONCATENATE lv_matnr_con1 itabmara-matnr INTO lv_matnr_con1 SEPARATED BY ';'.

ENDIF.

ELSEIF lv_count_conm1 > 14 AND lv_count_conm1 < 20.

IF lv_count_conm1 = 15.

CONCATENATE lv_matnr_con2 itabmara-matnr INTO lv_matnr_con2 .

ELSE.

CONCATENATE lv_matnr_con2 itabmara-matnr INTO lv_matnr_con2 SEPARATED BY ';'.

ENDIF.

ENDIF.

ENDIF.

ENDLOOP.

IF lv_matnr_con IS NOT INITIAL.

CLEAR lv_ls_line.

lv_ls_line-typ = 'S'.

lv_ls_line-key = 'Material Number'.

lv_ls_line-info = lv_matnr_con.

APPEND lv_ls_line TO lt_top_of_page.

ENDIF.

IF lv_matnr_con0 IS NOT INITIAL.

CLEAR lv_ls_line.

lv_ls_line-typ = 'S'.

lv_ls_line-key = ''.

lv_ls_line-info = lv_matnr_con0.

APPEND lv_ls_line TO lt_top_of_page.

ENDIF.

IF lv_matnr_con1 IS NOT INITIAL.

CLEAR lv_ls_line.

lv_ls_line-typ = 'S'.

lv_ls_line-key = ''.

lv_ls_line-info = lv_matnr_con1.

APPEND lv_ls_line TO lt_top_of_page.

ENDIF.

IF lv_matnr_con2 IS NOT INITIAL.

CLEAR lv_ls_line.

lv_ls_line-typ = 'S'.

lv_ls_line-key = ''.

lv_ls_line-info = lv_matnr_con2.

APPEND lv_ls_line TO lt_top_of_page.

ENDIF.

CLEAR lv_ls_line.

lv_ls_line-typ = 'S'.

lv_ls_line-key = '2nd Select-Option'.

lv_ls_line-info = 'Line 2'.

APPEND lv_ls_line TO lt_top_of_page.

CLEAR lv_ls_line.

lv_ls_line-typ = 'S'.

lv_ls_line-key = '3nd Select-Option'.

lv_ls_line-info = 'Line 3'.

APPEND lv_ls_line TO lt_top_of_page.

ENDFORM. "COMMENT_BUILD

&----


*& Form display_alv

&----


  • text

----


FORM display_alv .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = sy-repid

is_layout = t_layout

i_structure_name = 'MARA'

i_save = 'X'

is_variant = w_g_variant

it_events = w_gt_events[]

TABLES

t_outtab = itabmara[].

ENDFORM. "display_alv

Thanks,

Durai.V

Edited by: Durai V on Jul 18, 2008 3:01 PM