#345: Dump on small page margins corrected

#258:  Added dummy default emailaddress to ZDEMO_EXCEL_OUTPUTOPT_INCL
Enhanced Demoreport 37 to pass information about uncaught exceptios when needed
This commit is contained in:
StefanSchmoecker 2014-12-31 11:48:08 +01:00
parent ae05df3842
commit f60604601a
4 changed files with 207 additions and 120 deletions

View File

@ -1175,7 +1175,7 @@ ENDCLASS. &quot;lcl_Excel_Common_Test</localTestClasses>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_SPRAS_EN" VERSION="1" LANGU="E" DESCRIPT="Language Key" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="1" ATTVALUE="&apos;E&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="SPRAS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_XLSX_FILE_FILTER" VERSION="1" LANGU="E" DESCRIPT="File filter" EXPOSURE="2" STATE="1" EDITORDER="9 " ATTDECLTYP="2" ATTVALUE="&apos;Excel Workbook (*.xlsx)|*.xlsx|&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="O_CONV" VERSION="1" LANGU="E" DESCRIPT="Code Page and Endian Conversion (System Format -&gt; External)" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="1" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_ABAP_CONV_OUT_CE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_DIFFERS" VERSION="1" LANGU="E" DESCRIPT="Ensure Difference Between 2 (Elementary) data Objects" EXPOSURE="2" STATE="1" EDITORDER="19 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_DIFFERS" VERSION="1" LANGU="E" DESCRIPT="Ensure Difference Between 2 (Elementary) data Objects" EXPOSURE="2" STATE="1" EDITORDER="20 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_DIFFERS" SCONAME="EXP" VERSION="1" LANGU="E" DESCRIPT="Compare Object with Unexpected Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="SIMPLE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_DIFFERS" SCONAME="ACT" VERSION="1" LANGU="E" DESCRIPT="Data Object with Current Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="SIMPLE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_DIFFERS" SCONAME="MSG" VERSION="1" LANGU="E" DESCRIPT="Message in Case of Error" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CSEQUENCE" PAROPTIONL="X"/>
@ -1225,7 +1225,7 @@ ENDCLASS. &quot;lcl_Excel_Common_Test</localTestClasses>
ENDIF.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_EQUALS" VERSION="1" LANGU="E" DESCRIPT="Ensure Equality of Two Data Objects" EXPOSURE="2" STATE="1" EDITORDER="17 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_EQUALS" VERSION="1" LANGU="E" DESCRIPT="Ensure Equality of Two Data Objects" EXPOSURE="2" STATE="1" EDITORDER="18 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_EQUALS" SCONAME="EXP" VERSION="1" LANGU="E" DESCRIPT="Data Object with Expected Type" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ANY"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_EQUALS" SCONAME="ACT" VERSION="1" LANGU="E" DESCRIPT="Data Object with Current Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ANY"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_EQUALS" SCONAME="MSG" VERSION="1" LANGU="E" DESCRIPT="Message in Case of Error" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CSEQUENCE" PAROPTIONL="X"/>
@ -1278,7 +1278,7 @@ endmethod.</source>
ENDIF.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CALCULATE_CELL_DISTANCE" VERSION="1" LANGU="E" DESCRIPT="Give distance between two cells" EXPOSURE="2" STATE="1" EDITORDER="21 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CALCULATE_CELL_DISTANCE" VERSION="1" LANGU="E" DESCRIPT="Give distance between two cells" EXPOSURE="2" STATE="1" EDITORDER="22 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CALCULATE_CELL_DISTANCE" SCONAME="IV_REFERENCE_CELL" VERSION="1" LANGU="E" DESCRIPT="Reference Cell" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CALCULATE_CELL_DISTANCE" SCONAME="IV_CURRENT_CELL" VERSION="1" LANGU="E" DESCRIPT="Current Cell" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CALCULATE_CELL_DISTANCE" SCONAME="EV_ROW_DIFFERENCE" VERSION="1" LANGU="E" DESCRIPT="Number of rows current cell is below reference cell" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="I"/>
@ -1727,7 +1727,7 @@ endmethod.</source>
ENDIF.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DETERMINE_RESULTING_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Determine formula if copied to another cell" EXPOSURE="2" STATE="1" EDITORDER="22 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DETERMINE_RESULTING_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Determine formula if copied to another cell" EXPOSURE="2" STATE="1" EDITORDER="23 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DETERMINE_RESULTING_FORMULA" SCONAME="IV_REFERENCE_CELL" VERSION="1" LANGU="E" DESCRIPT="Reference cell" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DETERMINE_RESULTING_FORMULA" SCONAME="IV_REFERENCE_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Reference formula" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DETERMINE_RESULTING_FORMULA" SCONAME="IV_CURRENT_CELL" VERSION="1" LANGU="E" DESCRIPT="Current cell" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
@ -1871,6 +1871,19 @@ endmethod.</source>
EXPORTING
error = &apos;Index out of bounds&apos;.
ENDTRY.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_NUMBER" VERSION="1" LANGU="E" DESCRIPT="Convert number from Excel format to SAP" EXPOSURE="2" STATE="1" EDITORDER="12 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_NUMBER" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_NUMBER" SCONAME="EP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Float will do for most situations" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="F"/>
<exception CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_NUMBER" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
<source>method EXCEL_STRING_TO_NUMBER.
* If we encounter anything more complicated in EXCEL we might have to extend this
* But currently this works fine - even for numbers in scientific notation
ep_value = ip_value.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_TIME" VERSION="1" LANGU="E" DESCRIPT="Convert time from Excel format to SAP" EXPOSURE="2" STATE="1" EDITORDER="11 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
@ -1896,7 +1909,7 @@ endmethod.</source>
ENDTRY.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="FAIL" VERSION="1" LANGU="E" DESCRIPT="Report Unconditional Error" EXPOSURE="2" STATE="1" EDITORDER="18 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="FAIL" VERSION="1" LANGU="E" DESCRIPT="Report Unconditional Error" EXPOSURE="2" STATE="1" EDITORDER="19 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="FAIL" SCONAME="MSG" VERSION="1" LANGU="E" DESCRIPT="Error Message" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CSEQUENCE" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="FAIL" SCONAME="LEVEL" VERSION="1" LANGU="E" DESCRIPT="Error Severity" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="AUNIT_LEVEL" PARVALUE="IF_AUNIT_CONSTANTS=&gt;CRITICAL"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="FAIL" SCONAME="QUIT" VERSION="1" LANGU="E" DESCRIPT="Flow Control in Case of Error" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="AUNIT_FLOWCTRL" PARVALUE="IF_AUNIT_CONSTANTS=&gt;METHOD"/>
@ -1936,7 +1949,7 @@ endmethod.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="GET_FIELDCATALOG" VERSION="1" LANGU="E" DESCRIPT="Creates field catalog for BIND_TABLE based on internal table" EXPOSURE="2" STATE="1" EDITORDER="12 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="GET_FIELDCATALOG" VERSION="1" LANGU="E" DESCRIPT="Creates field catalog for BIND_TABLE based on internal table" EXPOSURE="2" STATE="1" EDITORDER="13 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="GET_FIELDCATALOG" SCONAME="IP_TABLE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STANDARD TABLE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="GET_FIELDCATALOG" SCONAME="EP_FIELDCATALOG" VERSION="1" LANGU="E" DESCRIPT="Table binding field catalog" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_T_FIELDCATALOG"/>
<source>method GET_FIELDCATALOG.
@ -1997,7 +2010,7 @@ endmethod.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="IS_CELL_IN_RANGE" VERSION="1" LANGU="E" DESCRIPT="Check if cell is part of a range" EXPOSURE="2" STATE="1" EDITORDER="24 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="IS_CELL_IN_RANGE" VERSION="1" LANGU="E" DESCRIPT="Check if cell is part of a range" EXPOSURE="2" STATE="1" EDITORDER="25 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="IS_CELL_IN_RANGE" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="SIMPLE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="IS_CELL_IN_RANGE" SCONAME="IP_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="IS_CELL_IN_RANGE" SCONAME="IP_RANGE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
@ -2037,7 +2050,7 @@ endmethod.</source>
ENDIF.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="NUMBER_TO_EXCEL_STRING" VERSION="1" LANGU="E" DESCRIPT="Converts number to string representation in Excel format" EXPOSURE="2" STATE="1" EDITORDER="13 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="NUMBER_TO_EXCEL_STRING" VERSION="1" LANGU="E" DESCRIPT="Converts number to string representation in Excel format" EXPOSURE="2" STATE="1" EDITORDER="14 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="NUMBER_TO_EXCEL_STRING" SCONAME="IP_VALUE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="NUMERIC"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="NUMBER_TO_EXCEL_STRING" SCONAME="EP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
<source>method NUMBER_TO_EXCEL_STRING.
@ -2056,7 +2069,7 @@ endmethod.</source>
ENDIF.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_CLASS_TO_STRUCT" VERSION="1" LANGU="E" DESCRIPT="Move class to structure" EXPOSURE="2" STATE="1" EDITORDER="14 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_CLASS_TO_STRUCT" VERSION="1" LANGU="E" DESCRIPT="Move class to structure" EXPOSURE="2" STATE="1" EDITORDER="15 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_CLASS_TO_STRUCT" SCONAME="I_SOURCE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ANY"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_CLASS_TO_STRUCT" SCONAME="E_TARGET" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="2" PARPASSTYP="1" TYPTYPE="1" TYPE="DATA"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_CLASS_TO_STRUCT" SCONAME="E_TARGETX" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="2" PARPASSTYP="1" TYPTYPE="1" TYPE="DATA"/>
@ -2115,7 +2128,7 @@ endmethod.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_STRUCT_TO_CLASS" VERSION="1" LANGU="E" DESCRIPT="Move structure to class" EXPOSURE="2" STATE="1" EDITORDER="15 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_STRUCT_TO_CLASS" VERSION="1" LANGU="E" DESCRIPT="Move structure to class" EXPOSURE="2" STATE="1" EDITORDER="16 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_STRUCT_TO_CLASS" SCONAME="I_SOURCE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="DATA"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_STRUCT_TO_CLASS" SCONAME="I_SOURCEX" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="DATA"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_STRUCT_TO_CLASS" SCONAME="E_TARGET" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="2" PARPASSTYP="1" TYPTYPE="1" TYPE="ANY"/>
@ -2179,7 +2192,7 @@ endmethod.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHIFT_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Shift formula from one cell to another" EXPOSURE="2" STATE="1" EDITORDER="23 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHIFT_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Shift formula from one cell to another" EXPOSURE="2" STATE="1" EDITORDER="24 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHIFT_FORMULA" SCONAME="IV_REFERENCE_FORMULA" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHIFT_FORMULA" SCONAME="IV_SHIFT_COLS" VERSION="1" LANGU="E" DESCRIPT="Shift formula right by this many columns" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHIFT_FORMULA" SCONAME="IV_SHIFT_ROWS" VERSION="1" LANGU="E" DESCRIPT="Shift formula down by this many rows" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
@ -2520,7 +2533,7 @@ endmethod.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHL01" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="4 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHL01" VERSION="1" LANGU="E" DESCRIPT="Secret function" EXPOSURE="0" STATE="1" EDITORDER="4 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHL01" SCONAME="I_PWD_HASH" VERSION="1" LANGU="E" DESCRIPT="Password hash" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_PWD_HASH"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHL01" SCONAME="R_PWD_HASH" VERSION="1" LANGU="E" DESCRIPT="Password hash" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_PWD_HASH"/>
<source>method SHL01.
@ -2540,7 +2553,7 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHR14" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="5 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHR14" VERSION="1" LANGU="E" DESCRIPT="Secret function" EXPOSURE="0" STATE="1" EDITORDER="5 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHR14" SCONAME="I_PWD_HASH" VERSION="1" LANGU="E" DESCRIPT="Password hash" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_PWD_HASH"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHR14" SCONAME="R_PWD_HASH" VERSION="1" LANGU="E" DESCRIPT="Password hash" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_PWD_HASH"/>
<source>method SHR14.
@ -2567,7 +2580,7 @@ endmethod.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SPLIT_FILE" VERSION="1" LANGU="E" DESCRIPT="File &amp; Extension disconnect (clone of FM CV120_SPLIT_FILE)" EXPOSURE="2" STATE="1" EDITORDER="20 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SPLIT_FILE" VERSION="1" LANGU="E" DESCRIPT="File &amp; Extension disconnect (clone of FM CV120_SPLIT_FILE)" EXPOSURE="2" STATE="1" EDITORDER="21 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SPLIT_FILE" SCONAME="IP_FILE" VERSION="1" LANGU="E" DESCRIPT="Original of document" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="TEXT255"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SPLIT_FILE" SCONAME="EP_FILE" VERSION="1" LANGU="E" DESCRIPT="Dateiname ohne Extension" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="TEXT255"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SPLIT_FILE" SCONAME="EP_EXTENSION" VERSION="1" LANGU="E" DESCRIPT="Dateiextension (ohne .)" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="CHAR10"/>
@ -2654,7 +2667,7 @@ endmethod.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="TIME_TO_EXCEL_STRING" VERSION="1" LANGU="E" DESCRIPT="Convert time from SAP format to Excel" EXPOSURE="2" STATE="1" EDITORDER="16 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="TIME_TO_EXCEL_STRING" VERSION="1" LANGU="E" DESCRIPT="Convert time from SAP format to Excel" EXPOSURE="2" STATE="1" EDITORDER="17 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="TIME_TO_EXCEL_STRING" SCONAME="IP_VALUE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="T"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="TIME_TO_EXCEL_STRING" SCONAME="EP_VALUE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
<source>method TIME_TO_EXCEL_STRING.

View File

@ -462,7 +462,7 @@ endmethod.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GET_IXML_FROM_ZIP_ARCHIVE" VERSION="1" LANGU="E" DESCRIPT="Read file from ZIP Archive" EXPOSURE="1" STATE="1" EDITORDER="3 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GET_IXML_FROM_ZIP_ARCHIVE" VERSION="1" LANGU="E" DESCRIPT="Read file from ZIP Archive and convert to ixml document" EXPOSURE="1" STATE="1" EDITORDER="3 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GET_IXML_FROM_ZIP_ARCHIVE" SCONAME="I_FILENAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GET_IXML_FROM_ZIP_ARCHIVE" SCONAME="IS_NORMALIZING" VERSION="1" LANGU="E" DESCRIPT="Boolean Variable (X=True, -=False, Space=Unknown)" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="BOOLEAN" PARVALUE="&apos;X&apos;"/>
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GET_IXML_FROM_ZIP_ARCHIVE" SCONAME="R_IXML" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_DOCUMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
@ -493,7 +493,7 @@ ENDMETHOD.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_DRAWING_ANCHOR" VERSION="1" LANGU="E" DESCRIPT="Loads worksheet" EXPOSURE="1" STATE="1" EDITORDER="5 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_DRAWING_ANCHOR" VERSION="1" LANGU="E" DESCRIPT="Loads drawing anchor" EXPOSURE="1" STATE="1" EDITORDER="5 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_DRAWING_ANCHOR" SCONAME="IO_ANCHOR_ELEMENT" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_ELEMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_ELEMENT"/>
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_DRAWING_ANCHOR" SCONAME="IO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Excel creator" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_DRAWING_ANCHOR" SCONAME="IT_RELATED_DRAWINGS" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="T_REL_DRAWINGS"/>
@ -1930,6 +1930,11 @@ ENDMETHOD.</source>
* aligning code (started)
* add a list of open ToDos here
* adding comments to explain what we are trying to achieve (started)
*--------------------------------------------------------------------*
* issue #345 - Dump on small pagemargins
* Took the chance to modularize this very long method
* by extracting the code that needed correction into
* own method ( load_worksheet_pagemargins )
*--------------------------------------------------------------------*
TYPES: BEGIN OF lty_cell,
r TYPE string,
@ -1980,15 +1985,6 @@ ENDMETHOD.</source>
scale TYPE string,
END OF lty_page_setup.
TYPES: BEGIN OF lty_page_margins,
footer TYPE string,
header TYPE string,
bottom TYPE string,
top TYPE string,
right TYPE string,
left TYPE string,
END OF lty_page_margins.
TYPES: BEGIN OF lty_sheetformatpr,
customheight TYPE string,
defaultrowheight TYPE string,
@ -2083,8 +2079,6 @@ ENDMETHOD.</source>
ls_even_footer TYPE zexcel_s_worksheet_head_foot,
lo_ixml_hf_value_elem TYPE REF TO if_ixml_element,
lo_ixml_pagemargins_elem TYPE REF TO if_ixml_element,
ls_pagemargins TYPE lty_page_margins,
lo_ixml_pagesetup_elem TYPE REF TO if_ixml_element,
ls_pagesetup TYPE lty_page_setup,
@ -2102,7 +2096,7 @@ ENDMETHOD.</source>
lo_ixml_rows TYPE REF TO if_ixml_node_collection,
ls_row TYPE lty_row,
lv_max_col TYPE i, &quot;for use with SPANS element
* lv_min_col TYPE i, &quot;for use with SPANS element &quot; not in use currently
* lv_min_col TYPE i, &quot;for use with SPANS element &quot; not in use currently
lv_max_col_s TYPE char10, &quot;for use with SPANS element
lv_min_col_s TYPE char10, &quot;for use with SPANS element
lo_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
@ -2502,19 +2496,9 @@ ENDMETHOD.</source>
ENDIF.
&quot; Read in page margins
lo_ixml_pagemargins_elem = lo_ixml_worksheet-&gt;find_from_name( &apos;pageMargins&apos; ).
IF lo_ixml_pagemargins_elem IS NOT INITIAL.
fill_struct_from_attributes( EXPORTING
ip_element = lo_ixml_pagemargins_elem
CHANGING
cp_structure = ls_pagemargins ).
io_worksheet-&gt;sheet_setup-&gt;margin_bottom = ls_pagemargins-bottom.
io_worksheet-&gt;sheet_setup-&gt;margin_footer = ls_pagemargins-footer.
io_worksheet-&gt;sheet_setup-&gt;margin_header = ls_pagemargins-header.
io_worksheet-&gt;sheet_setup-&gt;margin_left = ls_pagemargins-left.
io_worksheet-&gt;sheet_setup-&gt;margin_right = ls_pagemargins-right.
io_worksheet-&gt;sheet_setup-&gt;margin_top = ls_pagemargins-top.
ENDIF.
me-&gt;load_worksheet_pagemargins( EXPORTING
io_ixml_worksheet = lo_ixml_worksheet
io_worksheet = io_worksheet ).
&quot; Read in page setup
lo_ixml_pagesetup_elem = lo_ixml_worksheet-&gt;find_from_name( &apos;pageSetup&apos; ).
@ -2757,7 +2741,7 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET_HYPERLINKS" VERSION="1" LANGU="E" DESCRIPT="Load hyperlinks of worksheet" EXPOSURE="1" STATE="1" EDITORDER="15 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET_HYPERLINKS" VERSION="1" LANGU="E" DESCRIPT="Loads hyperlinks of worksheet" EXPOSURE="1" STATE="1" EDITORDER="15 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET_HYPERLINKS" SCONAME="IO_IXML_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="XML Document in DOM Representation" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET_HYPERLINKS" SCONAME="IO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET_HYPERLINKS" SCONAME="IT_EXTERNAL_HYPERLINKS" VERSION="1" LANGU="E" DESCRIPT="Table with external hyperlinks" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="GTT_EXTERNAL_HYPERLINKS"/>
@ -2829,6 +2813,41 @@ ENDMETHOD.</source>
ENDWHILE.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET_PAGEMARGINS" VERSION="1" LANGU="E" DESCRIPT="Loads pagemargings of worksheet" EXPOSURE="1" STATE="1" EDITORDER="16 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET_PAGEMARGINS" SCONAME="IO_IXML_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="XML Document in DOM Representation" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET_PAGEMARGINS" SCONAME="IO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
<exception CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKSHEET_PAGEMARGINS" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
<source>METHOD load_worksheet_pagemargins.
TYPES: BEGIN OF lty_page_margins,
footer TYPE string,
header TYPE string,
bottom TYPE string,
top TYPE string,
right TYPE string,
left TYPE string,
END OF lty_page_margins.
DATA:lo_ixml_pagemargins_elem TYPE REF TO if_ixml_element,
ls_pagemargins TYPE lty_page_margins.
lo_ixml_pagemargins_elem = io_ixml_worksheet-&gt;find_from_name( &apos;pageMargins&apos; ).
IF lo_ixml_pagemargins_elem IS NOT INITIAL.
fill_struct_from_attributes( EXPORTING
ip_element = lo_ixml_pagemargins_elem
CHANGING
cp_structure = ls_pagemargins ).
io_worksheet-&gt;sheet_setup-&gt;margin_bottom = zcl_excel_common=&gt;excel_string_to_number( ls_pagemargins-bottom ).
io_worksheet-&gt;sheet_setup-&gt;margin_footer = zcl_excel_common=&gt;excel_string_to_number( ls_pagemargins-footer ).
io_worksheet-&gt;sheet_setup-&gt;margin_header = zcl_excel_common=&gt;excel_string_to_number( ls_pagemargins-header ).
io_worksheet-&gt;sheet_setup-&gt;margin_left = zcl_excel_common=&gt;excel_string_to_number( ls_pagemargins-left ).
io_worksheet-&gt;sheet_setup-&gt;margin_right = zcl_excel_common=&gt;excel_string_to_number( ls_pagemargins-right ).
io_worksheet-&gt;sheet_setup-&gt;margin_top = zcl_excel_common=&gt;excel_string_to_number( ls_pagemargins-top ).
ENDIF.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="READ_FROM_APPLSERVER" VERSION="1" LANGU="E" DESCRIPT="Load excel data from appserver" EXPOSURE="0" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">

View File

@ -2,12 +2,23 @@
<PROG NAME="ZDEMO_EXCEL37" VARCL="X" SUBC="1" RSTAT="T" RMAND="100" RLOAD="E" FIXPT="X" UCCHECK="X">
<textPool>
<language SPRAS="D">
<textElement ID="R" ENTRY="Xlsx-Datei lesen und dann wieder ausgeben" LENGTH="70 "/>
<textElement ID="I" KEY="CLS" ENTRY="Auswahl der Reader- und Writerklasse" LENGTH="70 "/>
<textElement ID="I" KEY="DUM" ENTRY="Dump bei unbeh. Exception. Man weiß wenn man das braucht" LENGTH="60 "/>
<textElement ID="I" KEY="ERR" ENTRY="Besondere Schalter" LENGTH="60 "/>
<textElement ID="R" ENTRY="Xlsx-Datei lesen und dann wieder ausgeben = Arbeiten mit Templates" LENGTH="70 "/>
<textElement ID="S" KEY="CB_DUMP" ENTRY=" Dump bei unbeh. Exceptions" LENGTH="36 "/>
<textElement ID="S" KEY="CB_ERRL" ENTRY=" Exceptionposition anzeigen" LENGTH="34 "/>
<textElement ID="S" KEY="LB_READ" ENTRY=" Reader-Klasse" LENGTH="21 "/>
<textElement ID="S" KEY="LB_WRITE" ENTRY=" Writer-Klasse" LENGTH="21 "/>
<textElement ID="S" KEY="P_UPFILE" ENTRY=" Hochzuladende Datei" LENGTH="27 "/>
</language>
<language SPRAS="E">
<textElement ID="I" KEY="CLS" ENTRY="Choose reader- and writerclass to use" LENGTH="70 "/>
<textElement ID="R" ENTRY="Read xlsx-file and output" LENGTH="25 "/>
<textElement ID="I" KEY="DUM" ENTRY="Dump on uncaught exception - you&apos;ll know when you need this" LENGTH="60 "/>
<textElement ID="I" KEY="ERR" ENTRY="Special switches" LENGTH="60 "/>
<textElement ID="R" ENTRY="Read xlsx-file and output = using templates" LENGTH="43 "/>
<textElement ID="S" KEY="CB_DUMP" ENTRY=" Dump for uncaught exceptions" LENGTH="36 "/>
<textElement ID="S" KEY="CB_ERRL" ENTRY=" Show position of exception" LENGTH="34 "/>
<textElement ID="S" KEY="LB_READ" ENTRY=" Reader-class" LENGTH="20 "/>
<textElement ID="S" KEY="LB_WRITE" ENTRY=" Writer-class" LENGTH="20 "/>
<textElement ID="S" KEY="P_UPFILE" ENTRY=" File to upload" LENGTH="22 "/>
@ -15,14 +26,17 @@
</textPool>
<source>REPORT zdemo_excel37.
DATA: excel TYPE REF TO zcl_excel,
reader TYPE REF TO zif_excel_reader,
go_error TYPE REF TO cx_root,
gv_message TYPE string,
lv_extension TYPE string.
DATA: excel TYPE REF TO zcl_excel,
reader TYPE REF TO zif_excel_reader,
go_error TYPE REF TO cx_root,
gv_message TYPE string,
lv_extension TYPE string,
gv_error_program_name TYPE syrepid,
gv_error_include_name TYPE syrepid,
gv_error_line TYPE i.
CONSTANTS: gc_save_file_name TYPE string VALUE &apos;37-passthrough.xlsx&apos;.
CONSTANTS: gc_save_file_name TYPE string VALUE &apos;37- Read template and output.xlsx&apos;.
SELECTION-SCREEN BEGIN OF BLOCK blx WITH FRAME.
PARAMETERS: p_upfile TYPE string DEFAULT &apos;c:\temp\whatever.xlsx&apos; LOWER CASE.
@ -35,82 +49,51 @@ PARAMETERS: lb_read TYPE seoclsname AS LISTBOX VISIBLE LENGTH 40 LOWER CASE OB
PARAMETERS: lb_write TYPE seoclsname AS LISTBOX VISIBLE LENGTH 40 LOWER CASE OBLIGATORY DEFAULT &apos;Autodetect&apos;(001).
SELECTION-SCREEN END OF BLOCK cls.
SELECTION-SCREEN BEGIN OF BLOCK bl_err WITH FRAME TITLE text-err.
PARAMETERS: cb_errl AS CHECKBOX DEFAULT &apos;X&apos;.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: cb_dump AS CHECKBOX DEFAULT space.
SELECTION-SCREEN COMMENT (60) cmt_dump FOR FIELD cb_dump.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK bl_err.
INITIALIZATION.
PERFORM setup_listboxes.
cmt_dump = text-dum.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_upfile.
PERFORM f4_p_upfile CHANGING p_upfile.
START-OF-SELECTION.
TRY.
CASE lb_read.
WHEN &apos;Autodetect&apos;(001).
FIND REGEX &apos;(\.xlsx|\.xlsm)\s*$&apos; IN p_upfile SUBMATCHES lv_extension.
TRANSLATE lv_extension TO UPPER CASE.
CASE lv_extension.
WHEN &apos;.XLSX&apos;.
CREATE OBJECT reader TYPE zcl_excel_reader_2007.
excel = reader-&gt;load_file( p_upfile ).
&quot;Use template for charts
excel-&gt;use_template = abap_true.
WHEN &apos;.XLSM&apos;.
CREATE OBJECT reader TYPE zcl_excel_reader_xlsm.
excel = reader-&gt;load_file( p_upfile ).
&quot;Use template for charts
excel-&gt;use_template = abap_true.
WHEN OTHERS.
MESSAGE &apos;Unsupported filetype&apos; TYPE &apos;I&apos;.
RETURN.
ENDCASE.
WHEN OTHERS.
CREATE OBJECT reader TYPE (lb_read).
&quot;Use template for charts
excel-&gt;use_template = abap_true.
ENDCASE.
CASE lb_write.
WHEN &apos;Autodetect&apos;(001).
FIND REGEX &apos;(\.xlsx|\.xlsm)\s*$&apos; IN p_upfile SUBMATCHES lv_extension.
TRANSLATE lv_extension TO UPPER CASE.
CASE lv_extension.
WHEN &apos;.XLSX&apos;.
lcl_output=&gt;output( excel ).
WHEN &apos;.XLSM&apos;.
lcl_output=&gt;output( cl_excel = excel
iv_writerclass_name = &apos;ZCL_EXCEL_WRITER_XLSM&apos; ).
WHEN OTHERS.
MESSAGE &apos;Unsupported filetype&apos; TYPE &apos;I&apos;.
RETURN.
ENDCASE.
WHEN OTHERS.
lcl_output=&gt;output( cl_excel = excel
iv_writerclass_name = lb_write ).
ENDCASE.
IF cb_dump IS INITIAL.
TRY.
PERFORM read_template.
PERFORM write_template.
*** Create output
CATCH cx_root INTO go_error.
MESSAGE &apos;Error reading excelfile&apos; TYPE &apos;I&apos;.
gv_message = go_error-&gt;get_text( ).
IF gv_message IS NOT INITIAL.
MESSAGE gv_message TYPE &apos;I&apos;.
ENDIF.
ENDTRY.
CATCH cx_root INTO go_error.
MESSAGE &apos;Error reading excelfile&apos; TYPE &apos;I&apos;.
gv_message = go_error-&gt;get_text( ).
IF cb_errl = &apos; &apos;.
IF gv_message IS NOT INITIAL.
MESSAGE gv_message TYPE &apos;I&apos;.
ENDIF.
ELSE.
go_error-&gt;get_source_position( IMPORTING program_name = gv_error_program_name
include_name = gv_error_include_name
source_line = gv_error_line ).
WRITE:/ &apos;Errormessage:&apos; ,gv_message.
WRITE:/ &apos;Errorposition:&apos;,
AT /10 &apos;Program:&apos; ,gv_error_program_name,
AT /10 &apos;include_name:&apos; ,gv_error_include_name,
AT /10 &apos;source_line:&apos; ,gv_error_line.
ENDIF.
ENDTRY.
ELSE. &quot; This will dump if an error occurs. In some cases the information given in cx_root is not helpful - this will show exactly where the problem is
PERFORM read_template.
PERFORM write_template.
ENDIF.
*&amp;---------------------------------------------------------------------*
@ -258,5 +241,77 @@ FORM get_implementing_classds USING iv_interface_name TYPE clike
ENDLOOP.
ENDFORM. &quot; GET_IMPLEMENTING_CLASSDS</source>
ENDFORM. &quot; GET_IMPLEMENTING_CLASSDS
*&amp;---------------------------------------------------------------------*
*&amp; Form READ_TEMPLATE
*&amp;---------------------------------------------------------------------*
FORM read_template RAISING zcx_excel .
CASE lb_read.
WHEN &apos;Autodetect&apos;(001).
FIND REGEX &apos;(\.xlsx|\.xlsm)\s*$&apos; IN p_upfile SUBMATCHES lv_extension.
TRANSLATE lv_extension TO UPPER CASE.
CASE lv_extension.
WHEN &apos;.XLSX&apos;.
CREATE OBJECT reader TYPE zcl_excel_reader_2007.
excel = reader-&gt;load_file( p_upfile ).
&quot;Use template for charts
excel-&gt;use_template = abap_true.
WHEN &apos;.XLSM&apos;.
CREATE OBJECT reader TYPE zcl_excel_reader_xlsm.
excel = reader-&gt;load_file( p_upfile ).
&quot;Use template for charts
excel-&gt;use_template = abap_true.
WHEN OTHERS.
MESSAGE &apos;Unsupported filetype&apos; TYPE &apos;I&apos;.
RETURN.
ENDCASE.
WHEN OTHERS.
CREATE OBJECT reader TYPE (lb_read).
&quot;Use template for charts
excel-&gt;use_template = abap_true.
ENDCASE.
ENDFORM. &quot; READ_TEMPLATE
*&amp;---------------------------------------------------------------------*
*&amp; Form WRITE_TEMPLATE
*&amp;---------------------------------------------------------------------*
FORM write_template RAISING zcx_excel.
CASE lb_write.
WHEN &apos;Autodetect&apos;(001).
FIND REGEX &apos;(\.xlsx|\.xlsm)\s*$&apos; IN p_upfile SUBMATCHES lv_extension.
TRANSLATE lv_extension TO UPPER CASE.
CASE lv_extension.
WHEN &apos;.XLSX&apos;.
lcl_output=&gt;output( excel ).
WHEN &apos;.XLSM&apos;.
lcl_output=&gt;output( cl_excel = excel
iv_writerclass_name = &apos;ZCL_EXCEL_WRITER_XLSM&apos; ).
WHEN OTHERS.
MESSAGE &apos;Unsupported filetype&apos; TYPE &apos;I&apos;.
RETURN.
ENDCASE.
WHEN OTHERS.
lcl_output=&gt;output( cl_excel = excel
iv_writerclass_name = lb_write ).
ENDCASE.
ENDFORM. &quot; WRITE_TEMPLATE</source>
</PROG>

View File

@ -39,7 +39,7 @@ PARAMETERS: rb_show RADIOBUTTON GROUP rb1 DEFAULT &apos;X&apos; .
PARAMETERS: rb_send RADIOBUTTON GROUP rb1.
PARAMETERS: p_path TYPE string LOWER CASE MODIF ID pat.
PARAMETERS: p_email TYPE string LOWER CASE MODIF ID ema.
PARAMETERS: p_email TYPE string LOWER CASE MODIF ID ema OBLIGATORY DEFAULT &apos;insert_your_emailadress@here&apos;.
PARAMETERS: p_backfn TYPE text40 NO-DISPLAY.
SELECTION-SCREEN END OF BLOCK bl1.