From f6eeb339e42cf3329e0c34a506d7da2d101ecdbd Mon Sep 17 00:00:00 2001 From: Bernd <135710507+darnoc312@users.noreply.github.com> Date: Tue, 10 Sep 2024 13:48:59 +0200 Subject: [PATCH] Yet another autofilter problem using converter and ALV (#1239) Fix #1238 --------- Co-authored-by: Domi Bigl Co-authored-by: Lars Hvam --- src/not_cloud/zcl_excel_converter.clas.abap | 3 ++- src/zcl_excel_autofilter.clas.abap | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/not_cloud/zcl_excel_converter.clas.abap b/src/not_cloud/zcl_excel_converter.clas.abap index 24d70c3..814ca9d 100644 --- a/src/not_cloud/zcl_excel_converter.clas.abap +++ b/src/not_cloud/zcl_excel_converter.clas.abap @@ -1698,7 +1698,8 @@ CLASS zcl_excel_converter IMPLEMENTATION. * Let's check for filter. IF wo_autofilter IS BOUND. - ls_area-row_start = 1. + ls_area-row_start = w_row_int. + ls_area-col_start = w_col_int. "if lt_values is empty lt_values = wo_autofilter->get_values( ) . SORT lt_values BY column ASCENDING. DESCRIBE TABLE lt_values LINES l_lines. diff --git a/src/zcl_excel_autofilter.clas.abap b/src/zcl_excel_autofilter.clas.abap index 13bff99..39a6465 100644 --- a/src/zcl_excel_autofilter.clas.abap +++ b/src/zcl_excel_autofilter.clas.abap @@ -404,11 +404,6 @@ CLASS zcl_excel_autofilter IMPLEMENTATION. filter_area-col_end = l_col . ENDIF. - IF filter_area-row_start > filter_area-row_end. - ls_original_filter_area = filter_area. - filter_area-row_start = ls_original_filter_area-row_end. - filter_area-row_end = ls_original_filter_area-row_start. - ENDIF. IF filter_area-row_start < 1. filter_area-row_start = 1. ENDIF. @@ -423,6 +418,11 @@ CLASS zcl_excel_autofilter IMPLEMENTATION. filter_area-col_end < 1. filter_area-col_end = l_col. ENDIF. + IF filter_area-row_start > filter_area-row_end. + ls_original_filter_area = filter_area. + filter_area-row_start = ls_original_filter_area-row_end. + filter_area-row_end = ls_original_filter_area-row_start. + ENDIF. IF filter_area-col_start > filter_area-col_end. filter_area-col_start = filter_area-col_end. ENDIF.