get INT8 typekind dynamic (#676)

This commit is contained in:
Domi Bigl 2020-07-02 06:39:20 +02:00 committed by GitHub
parent 1c7e527a3b
commit 3b7f7f7b04
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -54,21 +54,21 @@ CLASS zcl_excel_worksheet DEFINITION
IMPORTING
!ip_column TYPE simple
RETURNING
value(eo_column) TYPE REF TO zcl_excel_column .
VALUE(eo_column) TYPE REF TO zcl_excel_column .
METHODS add_new_style_cond
RETURNING
value(eo_style_cond) TYPE REF TO zcl_excel_style_cond .
VALUE(eo_style_cond) TYPE REF TO zcl_excel_style_cond .
METHODS add_new_data_validation
RETURNING
value(eo_data_validation) TYPE REF TO zcl_excel_data_validation .
VALUE(eo_data_validation) TYPE REF TO zcl_excel_data_validation .
METHODS add_new_range
RETURNING
value(eo_range) TYPE REF TO zcl_excel_range .
VALUE(eo_range) TYPE REF TO zcl_excel_range .
METHODS add_new_row
IMPORTING
!ip_row TYPE simple
RETURNING
value(eo_row) TYPE REF TO zcl_excel_row .
VALUE(eo_row) TYPE REF TO zcl_excel_row .
METHODS bind_alv
IMPORTING
!io_alv TYPE REF TO object
@ -106,8 +106,8 @@ CLASS zcl_excel_worksheet DEFINITION
!ip_table TYPE STANDARD TABLE
!it_field_catalog TYPE zexcel_t_fieldcatalog OPTIONAL
!is_table_settings TYPE zexcel_s_table_settings OPTIONAL
value(iv_default_descr) TYPE c OPTIONAL
!IV_NO_LINE_IF_EMPTY type ABAP_BOOL default ABAP_FALSE
VALUE(iv_default_descr) TYPE c OPTIONAL
!iv_no_line_if_empty TYPE abap_bool DEFAULT abap_false
EXPORTING
!es_table_settings TYPE zexcel_s_table_settings
RAISING
@ -225,7 +225,7 @@ CLASS zcl_excel_worksheet DEFINITION
!ip_borders_top_color_theme TYPE zexcel_style_color_theme OPTIONAL
!ip_borders_top_color_tint TYPE zexcel_style_color_tint OPTIONAL
RETURNING
value(ep_guid) TYPE zexcel_cell_style
VALUE(ep_guid) TYPE zexcel_cell_style
RAISING
zcx_excel .
METHODS constructor
@ -254,7 +254,7 @@ CLASS zcl_excel_worksheet DEFINITION
zcx_excel .
METHODS get_active_cell
RETURNING
value(ep_active_cell) TYPE string
VALUE(ep_active_cell) TYPE string
RAISING
zcx_excel .
METHODS get_cell
@ -273,130 +273,130 @@ CLASS zcl_excel_worksheet DEFINITION
IMPORTING
!ip_column TYPE simple
RETURNING
value(eo_column) TYPE REF TO zcl_excel_column .
VALUE(eo_column) TYPE REF TO zcl_excel_column .
METHODS get_columns
RETURNING
value(eo_columns) TYPE REF TO zcl_excel_columns .
VALUE(eo_columns) TYPE REF TO zcl_excel_columns .
METHODS get_columns_iterator
RETURNING
value(eo_iterator) TYPE REF TO cl_object_collection_iterator .
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
METHODS get_style_cond_iterator
RETURNING
value(eo_iterator) TYPE REF TO cl_object_collection_iterator .
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
METHODS get_data_validations_iterator
RETURNING
value(eo_iterator) TYPE REF TO cl_object_collection_iterator .
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
METHODS get_data_validations_size
RETURNING
value(ep_size) TYPE i .
VALUE(ep_size) TYPE i .
METHODS get_default_column
RETURNING
value(eo_column) TYPE REF TO zcl_excel_column .
VALUE(eo_column) TYPE REF TO zcl_excel_column .
METHODS get_default_excel_date_format
RETURNING
value(ep_default_excel_date_format) TYPE zexcel_number_format .
VALUE(ep_default_excel_date_format) TYPE zexcel_number_format .
METHODS get_default_excel_time_format
RETURNING
value(ep_default_excel_time_format) TYPE zexcel_number_format .
VALUE(ep_default_excel_time_format) TYPE zexcel_number_format .
METHODS get_default_row
RETURNING
value(eo_row) TYPE REF TO zcl_excel_row .
VALUE(eo_row) TYPE REF TO zcl_excel_row .
METHODS get_dimension_range
RETURNING
value(ep_dimension_range) TYPE string
VALUE(ep_dimension_range) TYPE string
RAISING
zcx_excel .
METHODS get_comments
RETURNING
value(r_comments) TYPE REF TO zcl_excel_comments .
VALUE(r_comments) TYPE REF TO zcl_excel_comments .
METHODS get_drawings
IMPORTING
!ip_type TYPE zexcel_drawing_type OPTIONAL
RETURNING
value(r_drawings) TYPE REF TO zcl_excel_drawings .
VALUE(r_drawings) TYPE REF TO zcl_excel_drawings .
METHODS get_comments_iterator
RETURNING
value(eo_iterator) TYPE REF TO cl_object_collection_iterator .
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
METHODS get_drawings_iterator
IMPORTING
!ip_type TYPE zexcel_drawing_type
RETURNING
value(eo_iterator) TYPE REF TO cl_object_collection_iterator .
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
METHODS get_freeze_cell
EXPORTING
!ep_row TYPE zexcel_cell_row
!ep_column TYPE zexcel_cell_column .
METHODS get_guid
RETURNING
value(ep_guid) TYPE uuid .
VALUE(ep_guid) TYPE uuid .
METHODS get_highest_column
RETURNING
value(r_highest_column) TYPE zexcel_cell_column
VALUE(r_highest_column) TYPE zexcel_cell_column
RAISING
zcx_excel .
METHODS get_highest_row
RETURNING
value(r_highest_row) TYPE int4
VALUE(r_highest_row) TYPE int4
RAISING
zcx_excel .
METHODS get_hyperlinks_iterator
RETURNING
value(eo_iterator) TYPE REF TO cl_object_collection_iterator .
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
METHODS get_hyperlinks_size
RETURNING
value(ep_size) TYPE i .
VALUE(ep_size) TYPE i .
METHODS get_merge
RETURNING
value(merge_range) TYPE string_table
VALUE(merge_range) TYPE string_table
RAISING
zcx_excel .
METHODS get_pagebreaks
RETURNING
value(ro_pagebreaks) TYPE REF TO zcl_excel_worksheet_pagebreaks
VALUE(ro_pagebreaks) TYPE REF TO zcl_excel_worksheet_pagebreaks
RAISING
zcx_excel .
METHODS get_ranges_iterator
RETURNING
value(eo_iterator) TYPE REF TO cl_object_collection_iterator .
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
METHODS get_row
IMPORTING
!ip_row TYPE int4
RETURNING
value(eo_row) TYPE REF TO zcl_excel_row .
VALUE(eo_row) TYPE REF TO zcl_excel_row .
METHODS get_rows
RETURNING
value(eo_rows) TYPE REF TO zcl_excel_rows .
VALUE(eo_rows) TYPE REF TO zcl_excel_rows .
METHODS get_rows_iterator
RETURNING
value(eo_iterator) TYPE REF TO cl_object_collection_iterator .
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
METHODS get_row_outlines
RETURNING
value(rt_row_outlines) TYPE mty_ts_outlines_row .
VALUE(rt_row_outlines) TYPE mty_ts_outlines_row .
METHODS get_style_cond
IMPORTING
!ip_guid TYPE zexcel_cell_style
RETURNING
value(eo_style_cond) TYPE REF TO zcl_excel_style_cond .
VALUE(eo_style_cond) TYPE REF TO zcl_excel_style_cond .
METHODS get_tabcolor
RETURNING
value(ev_tabcolor) TYPE zexcel_s_tabcolor .
VALUE(ev_tabcolor) TYPE zexcel_s_tabcolor .
METHODS get_tables_iterator
RETURNING
value(eo_iterator) TYPE REF TO cl_object_collection_iterator .
VALUE(eo_iterator) TYPE REF TO cl_object_collection_iterator .
METHODS get_tables_size
RETURNING
value(ep_size) TYPE i .
VALUE(ep_size) TYPE i .
METHODS get_title
IMPORTING
!ip_escaped TYPE flag DEFAULT ''
RETURNING
value(ep_title) TYPE zexcel_sheet_title .
VALUE(ep_title) TYPE zexcel_sheet_title .
METHODS is_cell_merged
IMPORTING
!ip_column TYPE simple
!ip_row TYPE zexcel_cell_row
RETURNING
value(rp_is_merged) TYPE abap_bool
VALUE(rp_is_merged) TYPE abap_bool
RAISING
zcx_excel .
METHODS set_cell
@ -542,7 +542,7 @@ CLASS zcl_excel_worksheet DEFINITION
zcx_excel .
METHODS get_header_footer_drawings
RETURNING
value(rt_drawings) TYPE zexcel_t_drawings .
VALUE(rt_drawings) TYPE zexcel_t_drawings .
PROTECTED SECTION.
PRIVATE SECTION.
@ -616,12 +616,12 @@ CLASS zcl_excel_worksheet DEFINITION
!ip_column TYPE simple
!ip_row TYPE zexcel_cell_row
RETURNING
value(ep_width) TYPE float
VALUE(ep_width) TYPE float
RAISING
zcx_excel .
METHODS generate_title
RETURNING
value(ep_title) TYPE zexcel_sheet_title .
VALUE(ep_title) TYPE zexcel_sheet_title .
METHODS get_value_type
IMPORTING
!ip_value TYPE simple
@ -636,7 +636,7 @@ ENDCLASS.
CLASS ZCL_EXCEL_WORKSHEET IMPLEMENTATION.
CLASS zcl_excel_worksheet IMPLEMENTATION.
METHOD add_comment.
@ -4835,7 +4835,9 @@ CLASS ZCL_EXCEL_WORKSHEET IMPLEMENTATION.
<fs_numeric> TYPE numeric,
<fs_date> TYPE d,
<fs_time> TYPE t,
<fs_value> TYPE simple.
<fs_value> TYPE simple,
<fs_typekind_int8> TYPE abap_typekind.
IF ip_value IS NOT SUPPLIED AND ip_formula IS NOT SUPPLIED.
zcx_excel=>raise_text( 'Please provide the value or formula' ).
@ -4882,9 +4884,15 @@ CLASS ZCL_EXCEL_WORKSHEET IMPLEMENTATION.
IMPORTING ep_value = <fs_value>
ep_value_type = lv_value_type ).
ENDIF.
ASSIGN ('CL_ABAP_TYPEDESCR=>TYPEKIND_INT8') TO <fs_typekind_int8>.
IF sy-subrc <> 0.
ASSIGN space TO <fs_typekind_int8>. "not used as typekind!
ENDIF.
CASE lv_value_type.
WHEN cl_abap_typedescr=>typekind_int OR cl_abap_typedescr=>typekind_int1 OR cl_abap_typedescr=>typekind_int2
OR cl_abap_typedescr=>typekind_int8. "Allow INT8 types columns
WHEN cl_abap_typedescr=>typekind_int1 OR cl_abap_typedescr=>typekind_int1 OR cl_abap_typedescr=>typekind_int2
OR <fs_typekind_int8>. "Allow INT8 types columns
lo_addit = cl_abap_elemdescr=>get_i( ).
CREATE DATA lo_value_new TYPE HANDLE lo_addit.
ASSIGN lo_value_new->* TO <fs_numeric>.