mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 16:36:12 +08:00
ready to test #166
corrected excel_string_to_date and extended the unit test git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@310 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
This commit is contained in:
parent
b95e579b19
commit
3bb877e17f
|
@ -532,6 +532,37 @@ CLASS lcl_excel_common_test IMPLEMENTATION.
|
||||||
level = if_aunit_constants=>critical " Error Severity
|
level = if_aunit_constants=>critical " Error Severity
|
||||||
).
|
).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
* Check around the "Excel Leap Year" 1900
|
||||||
|
TRY.
|
||||||
|
ep_value = zcl_excel_common=>excel_string_to_date( '59' ).
|
||||||
|
|
||||||
|
cl_abap_unit_assert=>assert_equals(
|
||||||
|
act = ep_value
|
||||||
|
exp = '19000228'
|
||||||
|
msg = 'Wrong date conversion'
|
||||||
|
level = if_aunit_constants=>critical
|
||||||
|
).
|
||||||
|
CATCH zcx_excel INTO lx_excel.
|
||||||
|
cl_abap_unit_assert=>fail(
|
||||||
|
msg = 'unexpected exception'
|
||||||
|
level = if_aunit_constants=>critical " Error Severity
|
||||||
|
).
|
||||||
|
ENDTRY.
|
||||||
|
TRY.
|
||||||
|
ep_value = zcl_excel_common=>excel_string_to_date( '61' ).
|
||||||
|
|
||||||
|
cl_abap_unit_assert=>assert_equals(
|
||||||
|
act = ep_value
|
||||||
|
exp = '19000301'
|
||||||
|
msg = 'Wrong date conversion'
|
||||||
|
level = if_aunit_constants=>critical
|
||||||
|
).
|
||||||
|
CATCH zcx_excel INTO lx_excel.
|
||||||
|
cl_abap_unit_assert=>fail(
|
||||||
|
msg = 'unexpected exception'
|
||||||
|
level = if_aunit_constants=>critical " Error Severity
|
||||||
|
).
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
* Test 2. Simple test
|
* Test 2. Simple test
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -1062,18 +1093,24 @@ endmethod.</source>
|
||||||
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_DATE" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="DEVELOPER" CREATEDON="20111008" CHANGEDBY="DEVELOPER" CHANGEDON="20120317" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
|
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_DATE" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="DEVELOPER" CREATEDON="20111008" CHANGEDBY="DEVELOPER" CHANGEDON="20120317" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
|
||||||
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_DATE" SCONAME="EP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Date" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="DEVELOPER" CREATEDON="20111008" CHANGEDBY="DEVELOPER" CHANGEDON="20120317" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="D"/>
|
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_DATE" SCONAME="EP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Date" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="DEVELOPER" CREATEDON="20111008" CHANGEDBY="DEVELOPER" CHANGEDON="20120317" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="D"/>
|
||||||
<exception CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_DATE" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 " AUTHOR="DEVELOPER" CREATEDON="20120317" CHANGEDBY="DEVELOPER" CHANGEDON="20120317"/>
|
<exception CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_DATE" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 " AUTHOR="DEVELOPER" CREATEDON="20120317" CHANGEDBY="DEVELOPER" CHANGEDON="20120317"/>
|
||||||
<source>method EXCEL_STRING_TO_DATE.
|
<source>METHOD excel_string_to_date.
|
||||||
DATA: lv_date_int TYPE i.
|
DATA: lv_date_int TYPE i.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
lv_date_int = ip_value.
|
lv_date_int = ip_value.
|
||||||
ep_value = lv_date_int + c_excel_baseline_date - 2.
|
ep_value = lv_date_int + c_excel_baseline_date - 2.
|
||||||
|
" Needed hack caused by the problem that:
|
||||||
|
" Excel 2000 incorrectly assumes that the year 1900 is a leap year
|
||||||
|
" http://support.microsoft.com/kb/214326/en-us
|
||||||
|
IF ep_value < c_excel_1900_leap_year.
|
||||||
|
ep_value = ep_value + 1.
|
||||||
|
ENDIF.
|
||||||
CATCH cx_sy_conversion_error.
|
CATCH cx_sy_conversion_error.
|
||||||
RAISE EXCEPTION TYPE zcx_excel
|
RAISE EXCEPTION TYPE zcx_excel
|
||||||
EXPORTING
|
EXPORTING
|
||||||
error = 'Index out of bounds'.
|
error = 'Index out of bounds'.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
endmethod.</source>
|
ENDMETHOD.</source>
|
||||||
</method>
|
</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="10 " DISPID="0 " AUTHOR="DEVELOPER" CREATEDON="20111008" CHANGEDBY="DEVELOPER" CHANGEDON="20120317" MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
<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="10 " DISPID="0 " AUTHOR="DEVELOPER" CREATEDON="20111008" CHANGEDBY="DEVELOPER" CHANGEDON="20120317" MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_TIME" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="DEVELOPER" CREATEDON="20111008" CHANGEDBY="DEVELOPER" CHANGEDON="20120317" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
|
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_TIME" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="DEVELOPER" CREATEDON="20111008" CHANGEDBY="DEVELOPER" CHANGEDON="20120317" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user