diff --git a/ZA2X/CLAS/ZCL_EXCEL_COMMON.slnk b/ZA2X/CLAS/ZCL_EXCEL_COMMON.slnk
index e1e77e1..8ed67fc 100644
--- a/ZA2X/CLAS/ZCL_EXCEL_COMMON.slnk
+++ b/ZA2X/CLAS/ZCL_EXCEL_COMMON.slnk
@@ -5,9 +5,9 @@
final
create public .
-public section.
*"* public components of class ZCL_EXCEL_COMMON
*"* do not include other source files here!!!
+public section.
constants C_EXCEL_BASELINE_DATE type D value '19000101'. "#EC NOTEXT
class-data C_EXCEL_NUMFMT_OFFSET type INT1 value 164. "#EC NOTEXT .
@@ -16,6 +16,7 @@ public section.
class-data C_SPRAS_EN type SPRAS value 'E'. "#EC NOTEXT .
class-data O_CONV type ref to CL_ABAP_CONV_OUT_CE .
constants C_EXCEL_1900_LEAP_YEAR type D value '19000228'. "#EC NOTEXT
+ constants C_XLSX_FILE_FILTER type STRING value 'Excel Workbook (*.xlsx)|*.xlsx|'. "#EC NOTEXT
class-methods DESCRIBE_STRUCTURE
importing
@@ -146,9 +147,9 @@ public section.
*"* protected components of class ZCL_EXCEL_COMMON
*"* do not include other source files here!!!
protected section.
- private section.
-*"* private components of class ZCL_EXCEL_COMMON
+ *"* private components of class ZCL_EXCEL_COMMON
*"* do not include other source files here!!!
+private section.
class-data C_EXCEL_COL_MODULE type INT2 value 64. "#EC NOTEXT .
@@ -913,6 +914,7 @@ ENDCLASS. "lcl_Excel_Common_Test
+
diff --git a/ZA2X/PROG/ZDEMO_EXCEL37.slnk b/ZA2X/PROG/ZDEMO_EXCEL37.slnk
index 11e11f7..f30a198 100644
--- a/ZA2X/PROG/ZDEMO_EXCEL37.slnk
+++ b/ZA2X/PROG/ZDEMO_EXCEL37.slnk
@@ -3,12 +3,14 @@
+
+
- REPORT ZDEMO_EXCEL37.
+ REPORT zdemo_excel37.
DATA: excel TYPE REF TO zcl_excel,
reader TYPE REF TO zif_excel_reader.
@@ -17,11 +19,14 @@ DATA: excel TYPE REF TO zcl_excel,
CONSTANTS: gc_save_file_name TYPE string VALUE '37-passthrough.xlsx'.
SELECTION-SCREEN BEGIN OF BLOCK blx WITH FRAME.
-PARAMETERS: p_upfile TYPE string OBLIGATORY DEFAULT 'c:\temp\Noprinterassigned.xlsx' LOWER CASE.
+PARAMETERS: p_upfile TYPE string DEFAULT 'c:\temp\whatever.xlsx' LOWER CASE.
SELECTION-SCREEN END OF BLOCK blx.
INCLUDE zdemo_excel_outputopt_incl.
+AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_upfile.
+ PERFORM f4_p_upfile CHANGING p_upfile.
+
START-OF-SELECTION.
@@ -32,6 +37,49 @@ START-OF-SELECTION.
*** Create output
lcl_output=>output( excel ).
CATCH cx_root.
- message 'Error reading excelfile' type 'I'.
- ENDTRY.
+ MESSAGE 'Error reading excelfile' TYPE 'I'.
+ ENDTRY.
+
+
+*&---------------------------------------------------------------------*
+*& Form F4_P_UPFILE
+*&---------------------------------------------------------------------*
+FORM f4_p_upfile CHANGING p_upfile TYPE string.
+
+ DATA: lv_repid TYPE syrepid,
+ lt_fields TYPE dynpread_tabtype,
+ ls_field LIKE LINE OF lt_fields,
+ lt_files TYPE filetable.
+
+ lv_repid = sy-repid.
+
+ CALL FUNCTION 'DYNP_VALUES_READ'
+ EXPORTING
+ dyname = lv_repid
+ dynumb = '1000'
+ request = 'A'
+ TABLES
+ dynpfields = lt_fields
+ EXCEPTIONS
+ invalid_abapworkarea = 01
+ invalid_dynprofield = 02
+ invalid_dynproname = 03
+ invalid_dynpronummer = 04
+ invalid_request = 05
+ no_fielddescription = 06
+ undefind_error = 07.
+ READ TABLE lt_fields INTO ls_field WITH KEY fieldname = 'P_UPFILE'.
+ p_upfile = ls_field-fieldvalue.
+
+ cl_gui_frontend_services=>file_open_dialog( EXPORTING
+ default_filename = p_upfile
+ file_filter = zcl_excel_common=>c_xlsx_file_filter
+ CHANGING
+ file_table = lt_files
+ rc = sy-tabix
+ EXCEPTIONS
+ OTHERS = 1 ).
+ READ TABLE lt_files INDEX 1 INTO p_upfile.
+
+ENDFORM. " F4_P_UPFILE