2006 Nov 17 8:08 AM
hi
i am new to ALV . using reuse_alv_list_display i was generated output list. but this list was not Filtering . How to Handle the Filtering for ALV.
hi
i am new to ALV . using reuse_alv_list_display i was generated output list. but this list was not Filtering . How to Handle the Filtering for ALV.
2006 Nov 17 8:14 AM
Check out this sample program ..
REPORT z_anu_alv_sub_totals .
TYPE-POOLS: slis.
DATA: BEGIN OF it_output OCCURS 0,
var1(8) TYPE n,
var2(10),
var3 TYPE I,
END OF it_output.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
t_fieldcat TYPE slis_fieldcat_alv,
it_sort TYPE slis_t_sortinfo_alv,
t_sort TYPE slis_sortinfo_alv,
v_repid LIKE sy-repid.
INITIALIZATION.
v_repid = sy-repid.
START-OF-SELECTION.
PERFORM get_data.
PERFORM sort_fields.
PERFORM fill_fieldcat.
PERFORM list_display.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_data.
it_output-var1 = 1000.
it_output-var2 = 'anupama'.
it_output-var3 = '10000'.
APPEND it_output.
CLEAR it_output.
it_output-var1 = 1000.
it_output-var2 = 'siddhu'.
it_output-var3 = '20000'.
APPEND it_output.
CLEAR it_output.
it_output-var1 = 1000.
it_output-var2 = 'chinni'.
it_output-var3 = '100000'.
APPEND it_output.
CLEAR it_output.
it_output-var1 = 2000.
it_output-var2 = 'chicchu'.
it_output-var3 = '10000'.
APPEND it_output.
CLEAR it_output.
it_output-var1 = 2000.
it_output-var2 = 'candy'.
it_output-var3 = '10000'.
APPEND it_output.
CLEAR it_output.
it_output-var1 = 1000.
it_output-var2 = 'anupama'.
it_output-var3 = '10000'.
APPEND it_output.
CLEAR it_output.
it_output-var1 = 4000.
it_output-var2 = 'anupama'.
it_output-var3 = '10000'.
APPEND it_output.
CLEAR it_output.
ENDFORM. " GET_DATA
*&---------------------------------------------------------------------*
*& Form fill_fieldcat
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fill_fieldcat.
PERFORM fill_fields USING: 'IT_OUTPUT' 'VAR1' 'Variable 1' ' ',
'IT_OUTPUT' 'VAR2' 'Variable 2' ' ',
'IT_OUTPUT' 'VAR3' 'Variable 3' 'X'.
ENDFORM. " fill_fieldcat
*&---------------------------------------------------------------------*
*& Form fill_fields
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0146 text
* -->P_0147 text
* -->P_0148 text
* -->P_0149 text
*----------------------------------------------------------------------*
FORM fill_fields USING value(tabname) TYPE slis_tabname
value(fieldname) TYPE slis_fieldname
value(seltext_m) LIKE dd03p-scrtext_m
value(do_sum) TYPE c.
t_fieldcat-tabname = tabname.
t_fieldcat-fieldname = fieldname.
t_fieldcat-seltext_m = seltext_m.
IF do_sum = 'X'.
t_fieldcat-datatype = 'CURR'.
ENDIF.
t_fieldcat-do_sum = do_sum.
APPEND t_fieldcat TO it_fieldcat.
CLEAR t_fieldcat.
ENDFORM. " fill_fields
*&---------------------------------------------------------------------*
*& Form list_display
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM list_display.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = v_repid
it_fieldcat = it_fieldcat
it_sort = it_sort[]
TABLES
t_outtab = it_output
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 sort_fields
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM sort_fields.
t_sort-fieldname = 'VAR1'.
t_sort-tabname = 'IT_OUTPUT'.
t_sort-spos = 1.
t_sort-up = 'X'.
t_sort-subtot = 'X'.
APPEND t_sort TO it_sort.
CLEAR t_sort.
t_sort-fieldname = 'VAR3'.
t_sort-tabname = 'IT_OUTPUT'.
t_sort-spos = 2.
t_sort-up = 'X'.
APPEND t_sort TO it_sort.
CLEAR t_sort.
ENDFORM. " sort_fields
2006 Nov 17 8:42 AM
2006 Nov 17 9:00 AM
Ravi,
What Problems you are facing with filters. try to mention that . then we can figure out what can be done.
Regards
Vijay
2006 Nov 17 9:05 AM
Filter Concept not working on Output LIst.
i was not populated any thing for filters.
if any need , how to do that ..?
2006 Nov 17 9:28 AM
Vallab,
give this for the field which you are facing problem with filter in your fieldcat.
<b>Fieldcat-edit_mask = '==ALPHA'.</b>
and also check the OSS notes
Note 650888 - ALV filter: List does not show any data after filtering
This what it is mentioned in the notes.. and also check the related notes also.
Summary
Symptom
1. If you are filtering to a text in an ALV, for example 'Approved', no data is displayed in the list of results, even though there is data with 'Approved'.
The list does not show any data after applying the filter.
After entering the filter value, lower case letters are converted into upper case, for example 'Approved' is changed to 'APPROVED'.
1. Although individual data records are transferred at the interface, you cannot find them in the output.
Other terms
ABAP List Viewer, SAP List Viewer,
Filter icon, filter, funnel, condition, value set, value range, filter criteria, attribute instance, resulting set, restriction, filter symbol
empty list
Reason and Prerequisites
1. The problem occurs if texts in lower case need to be filtered in the table, and the underlying field definition does not allow lower case to be used.
Internal table texts are issued in lower case in the ALV. However, during the filtering, the system searches in the internal tables by using the internal format, in which only upper case is permitted. This means that no corresponding values are found.
1. A layout was defined containing a filter that prevents the output of certain data records.
Solution
1. After entering the filter value, check whether the text entered is converted from lower to upper case. To do this, use the check button on the filter dialog box.
Then if necessary, allow lower case to be used in the adjacent data element. This should be converted in the corresponding domain or field catalog by using LOWERCASE = X.
1. Delete the filter and check whether the missing data records are displayed.
Regards
Vijay
2006 Nov 17 8:18 AM
Hi
please have a look at example programs in package SLIS.
BCALV_TEST_FULLSCREEN_FILTER
BCALV_TEST_FULLSCREEN_FILTCURR
etc.
Regards
Bernd
2006 Nov 17 9:02 AM
ravi,
always notice how data is get stored in table.
kna1-kunnr-0000100000.
but in your alv list you can see customer code like 100000.
if you want to filter data with this code then in your filter condition
you have to type 0000100000. then only alv list will filter it.
regards
raj
2006 Nov 17 9:14 AM
ravi,
filter is default in TYPE-POOLS: slis.
contect your basis consultant. he will apply note for alv-filter.
raj
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |