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

Setting filters in alv

Former Member
0 Kudos

hai all..

how can we set the filters in alv .

and like standard report how can we get ...

Tanx in advance...

5 REPLIES 5

Former Member
0 Kudos

Hi

Go through the link given below :

http://help.sap.com/saphelp_nw04/helpdata/en/73/b79d37e188a049e10000009b38f8cf/frameset.htm

With Regards

Nikunj Shah

Former Member
0 Kudos

Former Member

former_member705122
Active Contributor
0 Kudos

former_member404244
Active Contributor
0 Kudos

Hi ,

Do like this...

here git_sloc is internal table on which we are setting filter..suppose if we have 10 records , out of which we want 5 records,then do like this..

  • When all the entries on screen are selected

WHEN '&SALL'.

REFRESH lit_filter[].

*

CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'

IMPORTING

e_grid = lv_ref1.

*

CALL METHOD lv_ref1->check_changed_data.

*Get the filter criteria

CALL METHOD lv_ref1->get_filter_criteria

IMPORTING

et_filter = lit_filter.

*

IF NOT lit_filter[] IS INITIAL.

FIELD-SYMBOLS: <lfs_sloc> LIKE LINE OF git_sloc.

DATA: lv_field TYPE char255.

FIELD-SYMBOLS: <lfs_any> TYPE ANY.

DATA: lwa_filter LIKE LINE OF lit_filter.

DATA: lv_sel TYPE c.

RANGES: r_val FOR tcclgt-txt20.

LOOP AT git_sloc ASSIGNING <lfs_sloc>.

CLEAR lv_sel.

LOOP AT lit_filter INTO lwa_filter.

CLEAR r_val.

REFRESH r_val[].

r_val-sign = lwa_filter-sign.

r_val-option = lwa_filter-option.

r_val-low = lwa_filter-low.

r_val-high = lwa_filter-high.

APPEND r_val.

CLEAR lv_field.

CONCATENATE '<lfs_sloc>-' lwa_filter-fieldname INTO lv_field.

ASSIGN (lv_field) TO <lfs_any>.

IF <lfs_any> IN r_val.

lv_sel = 'X'.

ELSE.

CLEAR lv_sel.

ENDIF.

IF <lfs_sloc>-check IS INITIAL.

<lfs_sloc>-check = lv_sel.

ENDIF.

ENDLOOP.

  • <lfs_sloc>-check = lv_sel.

ENDLOOP.

rs_selfield-refresh = gc_x.

ELSE.

*/}

READ TABLE git_sloc INTO gwa_sloc INDEX sy-index.

IF gwa_sloc-check = ' '.

IF sy-subrc EQ 0.

gwa_sloc-check = gc_x.

MODIFY git_sloc FROM gwa_sloc TRANSPORTING check WHERE check = ' '.

ENDIF.

CLEAR gwa_sloc-check.

rs_selfield-refresh = gc_x.

ENDIF.

ENDIF.

Hoping the above code helps in ur requirement..

Regards,

Nagaraj