Skip to Content
0
Former Member
Nov 12, 2012 at 12:26 PM

ALV HEADER - select option

85 Views

Hello SAP gurus,

I am sorry for my English but I try to explain my trouble. I want to show in alv header all delivery notes which I fill to select option to so_vbeln.

Do you know how I can do that?

Thanks a lot

*&———————————————————————*
*& Report ZT_TM_TEST_TRAINING
*&
*&———————————————————————*
*&
*&
*&———————————————————————*

report zt_tm_test_training.

tables: likp, vekp, vepo, t001w.

types: begin of t_humo,
vbeln type likp-vbeln,
exidv type vekp-exidv,
vhilm type vekp-vhilm,
exidv2 type vekp-exidv,
vemng type vepo-vemng,
matnr type vepo-matnr,
end of t_humo.

data: begin of gs_humo,
vbeln type likp-vbeln,
exidv type vekp-exidv,
vhilm type vekp-vhilm,
exidv2 type vekp-exidv,
vemng type vepo-vemng,
matnr type vepo-matnr,
end of gs_humo.

data: gt_humo type table of t_humo. "interni tabulka

field-symbols: <gs_humo> type t_humo.

data: gr_table type ref to cl_salv_table.
*======================================================================== "*selection screen

selection-screen begin of block bl1 with frame.

select-options: so_werks for t001w-werks memory id wrk,
so_vbeln for likp-vbeln,
so_hu01 for vekp-exidv,
so_hu02 for vekp-exidv2,
so_matnr for vepo-matnr.


selection-screen end of block bl1.

selection-screen skip.
*========================================================================
select likp~vbeln vekp~exidv vekp~vhilm vekp~exidv2 vepo~vemng vepo~matnr into table gt_humo from likp

inner join vekp on likp~vbeln = vekp~vbeln_gen
inner join vepo on vekp~venum = vepo~venum

where likp~vbeln in so_vbeln and vekp~exidv in so_hu01 and vekp~exidv2 in so_hu02 and vepo~matnr in so_matnr and vepo~vemng gt 0.



append gs_humo to gt_humo.


perform alv_display.
*&---------------------------------------------------------------------*
*& Form alv_display
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*

data: lr_header type ref to cl_salv_form_layout_grid,
lr_h_label type ref to cl_salv_form_label,
lr_h_flow type ref to cl_salv_form_layout_flow.




*&---------------------------------------------------------------------*
*& Form alv_display
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
form alv_display.
data: lr_functions type ref to cl_salv_functions_list.
data: lr_layout type ref to cl_salv_layout,
ls_layout_key type salv_s_layout_key.
* ---create ALV table

*odchyceni chyb

try.
cl_salv_table=>factory(
importing
r_salv_table = gr_table
changing
t_table = gt_humo ).
catch cx_salv_msg. "#EC NO_HANDLER
endtry.


create object lr_header.
data: lv_header_text type string, l_vbeln type string.
l_vbeln = so_vbeln.
concatenate 'Kontrola' 'nakládky' into lv_header_text separated by space.

* information in Bold
lr_h_label = lr_header->create_label( row = 1 column = 1 ).
lr_h_label->set_text( lv_header_text ).

lr_h_flow = lr_header->create_flow( row = 2 column = 1 ).
lr_h_flow->create_text( text = '' ).

lr_h_flow = lr_header->create_flow( row = 3 column = 1 ).
lr_h_flow->create_text( text = l_vbeln ).

lr_h_flow = lr_header->create_flow( row = 3 column = 2 ).
lr_h_flow->create_text( text = sy-uzeit ).

lr_h_flow = lr_header->create_flow( row = 3 column = 3 ).
lr_h_flow->create_text( text = sy-datum ).

gr_table->set_top_of_list( lr_header ).

* ---activate ALV generic functions
lr_functions = gr_table->get_functions( ).
lr_functions->set_default( abap_true ).
lr_functions->set_all( abap_true ).
* ---activate layout functions
lr_layout = gr_table->get_layout( ).
ls_layout_key-report = sy-repid.
lr_layout->set_key( ls_layout_key ).
lr_layout->set_save_restriction( if_salv_c_layout=>restrict_none ).
lr_layout->set_default( abap_true ).

* --- display the table
gr_table->display( ).


endform.

"alv_display