Merge branch 'master' into hvam/unit0511

This commit is contained in:
Lars Hvam 2021-11-07 07:57:08 +01:00 committed by GitHub
commit d8f6cf32f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 326 additions and 345 deletions

View File

@ -1,8 +1,3 @@
*----------------------------------------------------------------------*
* CLASS ZCL_EXCEL_WORKSHEET DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS zcl_excel_worksheet DEFINITION CLASS zcl_excel_worksheet DEFINITION
PUBLIC PUBLIC
CREATE PUBLIC . CREATE PUBLIC .
@ -465,15 +460,15 @@ CLASS zcl_excel_worksheet DEFINITION
zcx_excel . zcx_excel .
METHODS set_cell METHODS set_cell
IMPORTING IMPORTING
!ip_column TYPE simple !ip_column TYPE simple
!ip_row TYPE zexcel_cell_row !ip_row TYPE zexcel_cell_row
!ip_value TYPE simple OPTIONAL !ip_value TYPE simple OPTIONAL
!ip_formula TYPE zexcel_cell_formula OPTIONAL !ip_formula TYPE zexcel_cell_formula OPTIONAL
!ip_style TYPE zexcel_cell_style OPTIONAL !ip_style TYPE zexcel_cell_style OPTIONAL
!ip_hyperlink TYPE REF TO zcl_excel_hyperlink OPTIONAL !ip_hyperlink TYPE REF TO zcl_excel_hyperlink OPTIONAL
!ip_data_type TYPE zexcel_cell_data_type OPTIONAL !ip_data_type TYPE zexcel_cell_data_type OPTIONAL
!ip_abap_type TYPE abap_typekind OPTIONAL !ip_abap_type TYPE abap_typekind OPTIONAL
!it_rtf TYPE zexcel_t_rtf OPTIONAL !it_rtf TYPE zexcel_t_rtf OPTIONAL
!ip_column_formula_id TYPE mty_s_column_formula-id OPTIONAL !ip_column_formula_id TYPE mty_s_column_formula-id OPTIONAL
RAISING RAISING
zcx_excel . zcx_excel .
@ -701,10 +696,10 @@ CLASS zcl_excel_worksheet DEFINITION
zcx_excel. zcx_excel.
METHODS check_rtf METHODS check_rtf
IMPORTING IMPORTING
!ip_value TYPE simple !ip_value TYPE simple
VALUE(ip_style) TYPE zexcel_cell_style OPTIONAL VALUE(ip_style) TYPE zexcel_cell_style OPTIONAL
CHANGING CHANGING
!ct_rtf TYPE zexcel_t_rtf !ct_rtf TYPE zexcel_t_rtf
RAISING RAISING
zcx_excel . zcx_excel .
METHODS clear_initial_colorxfields METHODS clear_initial_colorxfields
@ -723,13 +718,13 @@ CLASS zcl_excel_worksheet DEFINITION
!ep_value_type TYPE abap_typekind . !ep_value_type TYPE abap_typekind .
METHODS move_supplied_borders METHODS move_supplied_borders
IMPORTING IMPORTING
iv_border_supplied TYPE abap_bool iv_border_supplied TYPE abap_bool
is_border TYPE zexcel_s_cstyle_border is_border TYPE zexcel_s_cstyle_border
iv_xborder_supplied TYPE abap_bool iv_xborder_supplied TYPE abap_bool
is_xborder TYPE zexcel_s_cstylex_border is_xborder TYPE zexcel_s_cstylex_border
CHANGING CHANGING
cs_complete_style_border TYPE zexcel_s_cstyle_border cs_complete_style_border TYPE zexcel_s_cstyle_border
cs_complete_stylex_border TYPE zexcel_s_cstylex_border. cs_complete_stylex_border TYPE zexcel_s_cstylex_border.
METHODS print_title_set_range . METHODS print_title_set_range .
METHODS update_dimension_range METHODS update_dimension_range
RAISING RAISING
@ -738,7 +733,7 @@ ENDCLASS.
CLASS zcl_excel_worksheet IMPLEMENTATION. CLASS ZCL_EXCEL_WORKSHEET IMPLEMENTATION.
METHOD add_comment. METHOD add_comment.
@ -845,7 +840,7 @@ CLASS zcl_excel_worksheet IMPLEMENTATION.
dim_mismatch_vkey = 5 dim_mismatch_vkey = 5
dim_mismatch_sema = 6 dim_mismatch_sema = 6
error_in_sema = 7 error_in_sema = 7
others = 8. OTHERS = 8.
IF sy-subrc <> 0. IF sy-subrc <> 0.
CASE sy-subrc. CASE sy-subrc.
WHEN 1. RAISE miss_guide. WHEN 1. RAISE miss_guide.
@ -3360,42 +3355,6 @@ CLASS zcl_excel_worksheet IMPLEMENTATION.
ENDMETHOD. "set_area_formula ENDMETHOD. "set_area_formula
METHOD set_area_style.
DATA: ld_row_start TYPE zexcel_cell_row,
ld_row_end TYPE zexcel_cell_row,
ld_column_start_int TYPE zexcel_cell_column,
ld_column_end_int TYPE zexcel_cell_column,
ld_current_column TYPE zexcel_cell_column_alpha,
ld_current_row TYPE zexcel_cell_row.
MOVE: ip_row_to TO ld_row_end,
ip_row TO ld_row_start.
IF ld_row_end IS INITIAL OR ip_row_to IS NOT SUPPLIED.
ld_row_end = ld_row_start.
ENDIF.
ld_column_start_int = zcl_excel_common=>convert_column2int( ip_column_start ).
ld_column_end_int = zcl_excel_common=>convert_column2int( ip_column_end ).
IF ld_column_end_int IS INITIAL OR ip_column_end IS NOT SUPPLIED.
ld_column_end_int = ld_column_start_int.
ENDIF.
WHILE ld_column_start_int <= ld_column_end_int.
ld_current_column = zcl_excel_common=>convert_column2alpha( ld_column_start_int ).
ld_current_row = ld_row_start.
WHILE ld_current_row <= ld_row_end.
me->set_cell_style( ip_row = ld_current_row ip_column = ld_current_column
ip_style = ip_style ).
ADD 1 TO ld_current_row.
ENDWHILE.
ADD 1 TO ld_column_start_int.
ENDWHILE.
IF ip_merge IS SUPPLIED AND ip_merge = abap_true.
me->set_merge( ip_column_start = ip_column_start ip_row = ld_row_start
ip_column_end = ld_current_column ip_row_to = ld_row_end ).
ENDIF.
ENDMETHOD. "SET_AREA_STYLE
METHOD set_area_hyperlink. METHOD set_area_hyperlink.
DATA: ld_row_start TYPE zexcel_cell_row, DATA: ld_row_start TYPE zexcel_cell_row,
ld_row_end TYPE zexcel_cell_row, ld_row_end TYPE zexcel_cell_row,
@ -3442,6 +3401,42 @@ CLASS zcl_excel_worksheet IMPLEMENTATION.
ENDMETHOD. "SET_AREA_HYPERLINK ENDMETHOD. "SET_AREA_HYPERLINK
METHOD set_area_style.
DATA: ld_row_start TYPE zexcel_cell_row,
ld_row_end TYPE zexcel_cell_row,
ld_column_start_int TYPE zexcel_cell_column,
ld_column_end_int TYPE zexcel_cell_column,
ld_current_column TYPE zexcel_cell_column_alpha,
ld_current_row TYPE zexcel_cell_row.
MOVE: ip_row_to TO ld_row_end,
ip_row TO ld_row_start.
IF ld_row_end IS INITIAL OR ip_row_to IS NOT SUPPLIED.
ld_row_end = ld_row_start.
ENDIF.
ld_column_start_int = zcl_excel_common=>convert_column2int( ip_column_start ).
ld_column_end_int = zcl_excel_common=>convert_column2int( ip_column_end ).
IF ld_column_end_int IS INITIAL OR ip_column_end IS NOT SUPPLIED.
ld_column_end_int = ld_column_start_int.
ENDIF.
WHILE ld_column_start_int <= ld_column_end_int.
ld_current_column = zcl_excel_common=>convert_column2alpha( ld_column_start_int ).
ld_current_row = ld_row_start.
WHILE ld_current_row <= ld_row_end.
me->set_cell_style( ip_row = ld_current_row ip_column = ld_current_column
ip_style = ip_style ).
ADD 1 TO ld_current_row.
ENDWHILE.
ADD 1 TO ld_column_start_int.
ENDWHILE.
IF ip_merge IS SUPPLIED AND ip_merge = abap_true.
me->set_merge( ip_column_start = ip_column_start ip_row = ld_row_start
ip_column_end = ld_current_column ip_row_to = ld_row_end ).
ENDIF.
ENDMETHOD. "SET_AREA_STYLE
METHOD set_cell. METHOD set_cell.
DATA: lv_column TYPE zexcel_cell_column, DATA: lv_column TYPE zexcel_cell_column,
@ -3539,7 +3534,7 @@ CLASS zcl_excel_worksheet IMPLEMENTATION.
lv_value = zcl_excel_common=>number_to_excel_string( ip_value = <fs_numeric> ). lv_value = zcl_excel_common=>number_to_excel_string( ip_value = <fs_numeric> ).
ENDIF. ENDIF.
WHEN cl_abap_typedescr=>typekind_float OR cl_abap_typedescr=>typekind_packed or WHEN cl_abap_typedescr=>typekind_float OR cl_abap_typedescr=>typekind_packed OR
cl_abap_typedescr=>typekind_decfloat OR cl_abap_typedescr=>typekind_decfloat OR
cl_abap_typedescr=>typekind_decfloat16 OR cl_abap_typedescr=>typekind_decfloat16 OR
cl_abap_typedescr=>typekind_decfloat34. cl_abap_typedescr=>typekind_decfloat34.
@ -3987,7 +3982,6 @@ CLASS zcl_excel_worksheet IMPLEMENTATION.
DATA: lo_tabdescr TYPE REF TO cl_abap_structdescr, DATA: lo_tabdescr TYPE REF TO cl_abap_structdescr,
lr_data TYPE REF TO data, lr_data TYPE REF TO data,
ls_header TYPE x030l,
lt_dfies TYPE ddfields, lt_dfies TYPE ddfields,
lv_row_int TYPE zexcel_cell_row, lv_row_int TYPE zexcel_cell_row,
lv_column_int TYPE zexcel_cell_column, lv_column_int TYPE zexcel_cell_column,
@ -4006,8 +4000,6 @@ CLASS zcl_excel_worksheet IMPLEMENTATION.
lo_tabdescr ?= cl_abap_structdescr=>describe_by_data_ref( lr_data ). lo_tabdescr ?= cl_abap_structdescr=>describe_by_data_ref( lr_data ).
ls_header = lo_tabdescr->get_ddic_header( ).
lt_dfies = lo_tabdescr->get_ddic_field_list( ). lt_dfies = lo_tabdescr->get_ddic_field_list( ).
* It is better to loop column by column * It is better to loop column by column

View File

@ -4,41 +4,20 @@ CLASS zcl_excel_worksheet DEFINITION LOCAL FRIENDS
CLASS lcl_excel_worksheet_test DEFINITION FOR TESTING CLASS lcl_excel_worksheet_test DEFINITION FOR TESTING
RISK LEVEL HARMLESS RISK LEVEL HARMLESS
DURATION SHORT DURATION SHORT.
.
*?<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
*?<asx:values>
*?<TESTCLASS_OPTIONS>
*?<TEST_CLASS>lcl_Excel_Worksheet_Test
*?</TEST_CLASS>
*?<TEST_MEMBER>f_Cut
*?</TEST_MEMBER>
*?<OBJECT_UNDER_TEST>ZCL_EXCEL_WORKSHEET
*?</OBJECT_UNDER_TEST>
*?<OBJECT_IS_LOCAL/>
*?<GENERATE_FIXTURE>X
*?</GENERATE_FIXTURE>
*?<GENERATE_CLASS_FIXTURE>X
*?</GENERATE_CLASS_FIXTURE>
*?<GENERATE_INVOCATION>X
*?</GENERATE_INVOCATION>
*?<GENERATE_ASSERT_EQUAL>X
*?</GENERATE_ASSERT_EQUAL>
*?</TESTCLASS_OPTIONS>
*?</asx:values>
*?</asx:abap>
PRIVATE SECTION. PRIVATE SECTION.
* ================ * ================
DATA: DATA:
F_CUT TYPE REF TO ZCL_EXCEL_WORKSHEET. "class under test f_cut TYPE REF TO zcl_excel_worksheet. "class under test
CLASS-METHODS: CLASS_SETUP. CLASS-METHODS: class_setup.
CLASS-METHODS: CLASS_TEARDOWN. CLASS-METHODS: class_teardown.
METHODS: SETUP. METHODS: setup.
METHODS: TEARDOWN. METHODS: teardown.
METHODS: SET_MERGE FOR TESTING. METHODS: set_merge FOR TESTING.
METHODS: DELETE_MERGE FOR TESTING. METHODS: delete_merge FOR TESTING.
METHODS: GET_DIMENSION_RANGE FOR TESTING. METHODS: get_dimension_range FOR TESTING.
ENDCLASS. "lcl_Excel_Worksheet_Test ENDCLASS. "lcl_Excel_Worksheet_Test
@ -71,390 +50,391 @@ CLASS ltc_check_cell_column_formula DEFINITION FOR TESTING
zcx_excel. zcx_excel.
DATA: mt_column_formulas TYPE zcl_excel_worksheet=>mty_th_column_formula, DATA: mt_column_formulas TYPE zcl_excel_worksheet=>mty_th_column_formula,
c_messages LIKE zcl_excel_worksheet=>c_messages. c_messages LIKE zcl_excel_worksheet=>c_messages.
ENDCLASS. ENDCLASS.
CLASS LCL_EXCEL_WORKSHEET_TEST IMPLEMENTATION. CLASS lcl_excel_worksheet_test IMPLEMENTATION.
* ============================================== * ==============================================
METHOD CLASS_SETUP. METHOD class_setup.
* =================== * ===================
ENDMETHOD. "class_Setup ENDMETHOD. "class_Setup
METHOD CLASS_TEARDOWN. METHOD class_teardown.
* ====================== * ======================
ENDMETHOD. "class_Teardown ENDMETHOD. "class_Teardown
METHOD SETUP. METHOD setup.
* ============= * =============
DATA LO_EXCEL TYPE REF TO ZCL_EXCEL. DATA lo_excel TYPE REF TO zcl_excel.
CREATE OBJECT LO_EXCEL. CREATE OBJECT lo_excel.
CREATE OBJECT F_CUT CREATE OBJECT f_cut
EXPORTING IP_EXCEL = LO_EXCEL. EXPORTING
ip_excel = lo_excel.
ENDMETHOD. "setup ENDMETHOD. "setup
METHOD TEARDOWN. METHOD teardown.
* ================ * ================
ENDMETHOD. "teardown ENDMETHOD. "teardown
METHOD SET_MERGE. METHOD set_merge.
* ==================== * ====================
DATA LT_MERGE TYPE STRING_TABLE. DATA lt_merge TYPE string_table.
DATA LV_MERGE TYPE STRING. DATA lv_merge TYPE string.
DATA LV_SIZE TYPE I. DATA lv_size TYPE i.
DATA LV_SIZE_NEXT TYPE I. DATA lv_size_next TYPE i.
* Test 1. Simple test for initial value * Test 1. Simple test for initial value
LT_MERGE = F_CUT->GET_MERGE( ). lt_merge = f_cut->get_merge( ).
LV_SIZE = LINES( LT_MERGE ). lv_size = lines( lt_merge ).
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = LV_SIZE act = lv_size
EXP = 0 exp = 0
MSG = 'Initial state of merge table is not empty' msg = 'Initial state of merge table is not empty'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
* Test 2. Add merge * Test 2. Add merge
F_CUT->SET_MERGE( f_cut->set_merge(
IP_COLUMN_START = 2 ip_column_start = 2
IP_COLUMN_END = 3 ip_column_end = 3
IP_ROW = 2 ip_row = 2
IP_ROW_TO = 3 ip_row_to = 3
). ).
LT_MERGE = F_CUT->GET_MERGE( ). lt_merge = f_cut->get_merge( ).
LV_SIZE_NEXT = LINES( LT_MERGE ). lv_size_next = lines( lt_merge ).
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = LV_SIZE_NEXT - LV_SIZE act = lv_size_next - lv_size
EXP = 1 exp = 1
MSG = 'Expect add 1 table line when 1 merge added' msg = 'Expect add 1 table line when 1 merge added'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
* Test 2. Add same merge * Test 2. Add same merge
LV_SIZE = LV_SIZE_NEXT. lv_size = lv_size_next.
TRY. TRY.
F_CUT->SET_MERGE( f_cut->set_merge(
IP_COLUMN_START = 2 ip_column_start = 2
IP_COLUMN_END = 3 ip_column_end = 3
IP_ROW = 2 ip_row = 2
IP_ROW_TO = 3 ip_row_to = 3
). ).
CATCH ZCX_EXCEL. CATCH zcx_excel.
ENDTRY. ENDTRY.
LT_MERGE = F_CUT->GET_MERGE( ). lt_merge = f_cut->get_merge( ).
LV_SIZE_NEXT = LINES( LT_MERGE ). lv_size_next = lines( lt_merge ).
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = LV_SIZE_NEXT - LV_SIZE act = lv_size_next - lv_size
EXP = 0 exp = 0
MSG = 'Expect no change when add same merge' msg = 'Expect no change when add same merge'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
* Test 3. Add one different merge * Test 3. Add one different merge
LV_SIZE = LV_SIZE_NEXT. lv_size = lv_size_next.
F_CUT->SET_MERGE( f_cut->set_merge(
IP_COLUMN_START = 4 ip_column_start = 4
IP_COLUMN_END = 5 ip_column_end = 5
IP_ROW = 2 ip_row = 2
IP_ROW_TO = 3 ip_row_to = 3
). ).
LT_MERGE = F_CUT->GET_MERGE( ). lt_merge = f_cut->get_merge( ).
LV_SIZE_NEXT = LINES( LT_MERGE ). lv_size_next = lines( lt_merge ).
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = LV_SIZE_NEXT - LV_SIZE act = lv_size_next - lv_size
EXP = 1 exp = 1
MSG = 'Expect 1 change when add different merge' msg = 'Expect 1 change when add different merge'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
* Test 4. Merge added with concrete value #1 * Test 4. Merge added with concrete value #1
F_CUT->DELETE_MERGE( ). f_cut->delete_merge( ).
F_CUT->SET_MERGE( f_cut->set_merge(
IP_COLUMN_START = 2 ip_column_start = 2
IP_COLUMN_END = 3 ip_column_end = 3
IP_ROW = 2 ip_row = 2
IP_ROW_TO = 3 ip_row_to = 3
). ).
LT_MERGE = F_CUT->GET_MERGE( ). lt_merge = f_cut->get_merge( ).
READ TABLE LT_MERGE INTO LV_MERGE INDEX 1. READ TABLE lt_merge INTO lv_merge INDEX 1.
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = LV_MERGE act = lv_merge
EXP = 'B2:C3' exp = 'B2:C3'
MSG = 'Expect B2:C3' msg = 'Expect B2:C3'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
* Test 5. Merge added with concrete value #2 * Test 5. Merge added with concrete value #2
F_CUT->DELETE_MERGE( ). f_cut->delete_merge( ).
F_CUT->SET_MERGE( f_cut->set_merge(
IP_COLUMN_START = 4 ip_column_start = 4
IP_COLUMN_END = 5 ip_column_end = 5
IP_ROW = 4 ip_row = 4
IP_ROW_TO = 5 ip_row_to = 5
). ).
LT_MERGE = F_CUT->GET_MERGE( ). lt_merge = f_cut->get_merge( ).
READ TABLE LT_MERGE INTO LV_MERGE INDEX 1. READ TABLE lt_merge INTO lv_merge INDEX 1.
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = LV_MERGE act = lv_merge
EXP = 'D4:E5' exp = 'D4:E5'
MSG = 'Expect D4:E5' msg = 'Expect D4:E5'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
ENDMETHOD. ENDMETHOD.
METHOD DELETE_MERGE. METHOD delete_merge.
* ==================== * ====================
DATA LT_MERGE TYPE STRING_TABLE. DATA lt_merge TYPE string_table.
DATA LV_MERGE TYPE STRING. DATA lv_merge TYPE string.
DATA LV_SIZE TYPE I. DATA lv_size TYPE i.
DATA LV_INDEX TYPE I. DATA lv_index TYPE i.
* Test 1. Simple test delete all merges * Test 1. Simple test delete all merges
F_CUT->SET_MERGE( f_cut->set_merge(
IP_COLUMN_START = 2 ip_column_start = 2
IP_COLUMN_END = 3 ip_column_end = 3
IP_ROW = 2 ip_row = 2
IP_ROW_TO = 3 ip_row_to = 3
). ).
F_CUT->DELETE_MERGE( ). f_cut->delete_merge( ).
LT_MERGE = F_CUT->GET_MERGE( ). lt_merge = f_cut->get_merge( ).
LV_SIZE = LINES( LT_MERGE ). lv_size = lines( lt_merge ).
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = LV_SIZE act = lv_size
EXP = 0 exp = 0
MSG = 'Expect merge table with 1 line fully cleared' msg = 'Expect merge table with 1 line fully cleared'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
* Test 2. Simple test delete all merges * Test 2. Simple test delete all merges
DO 10 TIMES. DO 10 TIMES.
F_CUT->SET_MERGE( f_cut->set_merge(
IP_COLUMN_START = 2 + SY-INDEX * 2 ip_column_start = 2 + sy-index * 2
IP_COLUMN_END = 3 + SY-INDEX * 2 ip_column_end = 3 + sy-index * 2
IP_ROW = 2 + SY-INDEX * 2 ip_row = 2 + sy-index * 2
IP_ROW_TO = 3 + SY-INDEX * 2 ip_row_to = 3 + sy-index * 2
). ).
ENDDO. ENDDO.
F_CUT->DELETE_MERGE( ). f_cut->delete_merge( ).
LT_MERGE = F_CUT->GET_MERGE( ). lt_merge = f_cut->get_merge( ).
LV_SIZE = LINES( LT_MERGE ). lv_size = lines( lt_merge ).
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = LV_SIZE act = lv_size
EXP = 0 exp = 0
MSG = 'Expect merge table with few lines fully cleared' msg = 'Expect merge table with few lines fully cleared'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
* Test 3. Delete concrete merge with success * Test 3. Delete concrete merge with success
DO 4 TIMES. DO 4 TIMES.
LV_INDEX = SY-INDEX. lv_index = sy-index.
F_CUT->DELETE_MERGE( ). f_cut->delete_merge( ).
F_CUT->SET_MERGE( f_cut->set_merge(
IP_COLUMN_START = 2 ip_column_start = 2
IP_COLUMN_END = 3 ip_column_end = 3
IP_ROW = 2 ip_row = 2
IP_ROW_TO = 3 ip_row_to = 3
). ).
CASE LV_INDEX. CASE lv_index.
WHEN 1. F_CUT->DELETE_MERGE( IP_CELL_COLUMN = 2 IP_CELL_ROW = 2 ). WHEN 1. f_cut->delete_merge( ip_cell_column = 2 ip_cell_row = 2 ).
WHEN 2. F_CUT->DELETE_MERGE( IP_CELL_COLUMN = 2 IP_CELL_ROW = 3 ). WHEN 2. f_cut->delete_merge( ip_cell_column = 2 ip_cell_row = 3 ).
WHEN 3. F_CUT->DELETE_MERGE( IP_CELL_COLUMN = 3 IP_CELL_ROW = 2 ). WHEN 3. f_cut->delete_merge( ip_cell_column = 3 ip_cell_row = 2 ).
WHEN 4. F_CUT->DELETE_MERGE( IP_CELL_COLUMN = 3 IP_CELL_ROW = 3 ). WHEN 4. f_cut->delete_merge( ip_cell_column = 3 ip_cell_row = 3 ).
ENDCASE. ENDCASE.
LT_MERGE = F_CUT->GET_MERGE( ). lt_merge = f_cut->get_merge( ).
LV_SIZE = LINES( LT_MERGE ). lv_size = lines( lt_merge ).
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = LV_SIZE act = lv_size
EXP = 0 exp = 0
MSG = 'Expect merge table with 1 line fully cleared' msg = 'Expect merge table with 1 line fully cleared'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
ENDDO. ENDDO.
* Test 4. Delete concrete merge with fail * Test 4. Delete concrete merge with fail
DO 4 TIMES. DO 4 TIMES.
LV_INDEX = SY-INDEX. lv_index = sy-index.
F_CUT->DELETE_MERGE( ). f_cut->delete_merge( ).
F_CUT->SET_MERGE( f_cut->set_merge(
IP_COLUMN_START = 2 ip_column_start = 2
IP_COLUMN_END = 3 ip_column_end = 3
IP_ROW = 2 ip_row = 2
IP_ROW_TO = 3 ip_row_to = 3
). ).
CASE LV_INDEX. CASE lv_index.
WHEN 1. F_CUT->DELETE_MERGE( IP_CELL_COLUMN = 1 IP_CELL_ROW = 2 ). WHEN 1. f_cut->delete_merge( ip_cell_column = 1 ip_cell_row = 2 ).
WHEN 2. F_CUT->DELETE_MERGE( IP_CELL_COLUMN = 2 IP_CELL_ROW = 1 ). WHEN 2. f_cut->delete_merge( ip_cell_column = 2 ip_cell_row = 1 ).
WHEN 3. F_CUT->DELETE_MERGE( IP_CELL_COLUMN = 4 IP_CELL_ROW = 2 ). WHEN 3. f_cut->delete_merge( ip_cell_column = 4 ip_cell_row = 2 ).
WHEN 4. F_CUT->DELETE_MERGE( IP_CELL_COLUMN = 2 IP_CELL_ROW = 4 ). WHEN 4. f_cut->delete_merge( ip_cell_column = 2 ip_cell_row = 4 ).
ENDCASE. ENDCASE.
LT_MERGE = F_CUT->GET_MERGE( ). lt_merge = f_cut->get_merge( ).
LV_SIZE = LINES( LT_MERGE ). lv_size = lines( lt_merge ).
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = LV_SIZE act = lv_size
EXP = 1 exp = 1
MSG = 'Expect no merge were deleted' msg = 'Expect no merge were deleted'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
ENDDO. ENDDO.
* Test 5. Delete concrete merge #1 * Test 5. Delete concrete merge #1
F_CUT->DELETE_MERGE( ). f_cut->delete_merge( ).
F_CUT->SET_MERGE( f_cut->set_merge(
IP_COLUMN_START = 2 ip_column_start = 2
IP_COLUMN_END = 3 ip_column_end = 3
IP_ROW = 2 ip_row = 2
IP_ROW_TO = 3 ip_row_to = 3
). ).
F_CUT->SET_MERGE( f_cut->set_merge(
IP_COLUMN_START = 4 ip_column_start = 4
IP_COLUMN_END = 5 ip_column_end = 5
IP_ROW = 4 ip_row = 4
IP_ROW_TO = 5 ip_row_to = 5
). ).
F_CUT->DELETE_MERGE( IP_CELL_COLUMN = 2 IP_CELL_ROW = 2 ). f_cut->delete_merge( ip_cell_column = 2 ip_cell_row = 2 ).
LT_MERGE = F_CUT->GET_MERGE( ). lt_merge = f_cut->get_merge( ).
LV_SIZE = LINES( LT_MERGE ). lv_size = lines( lt_merge ).
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = LV_SIZE act = lv_size
EXP = 1 exp = 1
MSG = 'Expect we have the one merge' msg = 'Expect we have the one merge'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
READ TABLE LT_MERGE INTO LV_MERGE INDEX 1. READ TABLE lt_merge INTO lv_merge INDEX 1.
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = LV_MERGE act = lv_merge
EXP = 'D4:E5' exp = 'D4:E5'
MSG = 'Expect delete B2:C3 merge' msg = 'Expect delete B2:C3 merge'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
* Test 6. Delete concrete merge #2 * Test 6. Delete concrete merge #2
F_CUT->DELETE_MERGE( ). f_cut->delete_merge( ).
F_CUT->SET_MERGE( f_cut->set_merge(
IP_COLUMN_START = 2 ip_column_start = 2
IP_COLUMN_END = 3 ip_column_end = 3
IP_ROW = 2 ip_row = 2
IP_ROW_TO = 3 ip_row_to = 3
). ).
F_CUT->SET_MERGE( f_cut->set_merge(
IP_COLUMN_START = 4 ip_column_start = 4
IP_COLUMN_END = 5 ip_column_end = 5
IP_ROW = 4 ip_row = 4
IP_ROW_TO = 5 ip_row_to = 5
). ).
F_CUT->DELETE_MERGE( IP_CELL_COLUMN = 4 IP_CELL_ROW = 4 ). f_cut->delete_merge( ip_cell_column = 4 ip_cell_row = 4 ).
LT_MERGE = F_CUT->GET_MERGE( ). lt_merge = f_cut->get_merge( ).
LV_SIZE = LINES( LT_MERGE ). lv_size = lines( lt_merge ).
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = LV_SIZE act = lv_size
EXP = 1 exp = 1
MSG = 'Expect we have the one merge' msg = 'Expect we have the one merge'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
READ TABLE LT_MERGE INTO LV_MERGE INDEX 1. READ TABLE lt_merge INTO lv_merge INDEX 1.
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = LV_MERGE act = lv_merge
EXP = 'B2:C3' exp = 'B2:C3'
MSG = 'Expect delete D4:E5 merge' msg = 'Expect delete D4:E5 merge'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
ENDMETHOD. "delete_Merge ENDMETHOD. "delete_Merge
METHOD GET_DIMENSION_RANGE. METHOD get_dimension_range.
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = F_CUT->GET_DIMENSION_RANGE( ) act = f_cut->get_dimension_range( )
EXP = 'A1' exp = 'A1'
MSG = 'get_dimension_range inital value' msg = 'get_dimension_range inital value'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
F_CUT->SET_CELL( f_cut->set_cell(
IP_ROW = 2 ip_row = 2
IP_COLUMN = 3 ip_column = 3
IP_VALUE = 'Dummy' ip_value = 'Dummy'
). ).
F_CUT->SET_CELL( f_cut->set_cell(
IP_ROW = 5 ip_row = 5
IP_COLUMN = 6 ip_column = 6
IP_VALUE = 'Dummy' ip_value = 'Dummy'
). ).
CL_ABAP_UNIT_ASSERT=>ASSERT_EQUALS( cl_abap_unit_assert=>assert_equals(
ACT = F_CUT->GET_DIMENSION_RANGE( ) act = f_cut->get_dimension_range( )
EXP = 'C2:F5' exp = 'C2:F5'
MSG = 'get_dimension_range' msg = 'get_dimension_range'
LEVEL = IF_AUNIT_CONSTANTS=>CRITICAL level = if_aunit_constants=>critical
). ).
ENDMETHOD. ENDMETHOD.

View File

@ -5,7 +5,6 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_ACTIVE_WORKSHEET</ROLLNAME> <ROLLNAME>ZEXCEL_ACTIVE_WORKSHEET</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>INT1</DOMNAME>
<HEADLEN>16</HEADLEN> <HEADLEN>16</HEADLEN>
<SCRLEN1>06</SCRLEN1> <SCRLEN1>06</SCRLEN1>
<SCRLEN2>16</SCRLEN2> <SCRLEN2>16</SCRLEN2>
@ -16,7 +15,9 @@
<SCRTEXT_M>Active Worksheet</SCRTEXT_M> <SCRTEXT_M>Active Worksheet</SCRTEXT_M>
<SCRTEXT_L>Active Worksheet</SCRTEXT_L> <SCRTEXT_L>Active Worksheet</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER> <DTELMASTER>E</DTELMASTER>
<REFKIND>D</REFKIND> <DATATYPE>INT1</DATATYPE>
<LENG>000003</LENG>
<OUTPUTLEN>000003</OUTPUTLEN>
</DD04V> </DD04V>
</asx:values> </asx:values>
</asx:abap> </asx:abap>

View File

@ -5,7 +5,6 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_BREAK</ROLLNAME> <ROLLNAME>ZEXCEL_BREAK</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>INT1</DOMNAME>
<HEADLEN>15</HEADLEN> <HEADLEN>15</HEADLEN>
<SCRLEN1>10</SCRLEN1> <SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2> <SCRLEN2>15</SCRLEN2>
@ -16,7 +15,9 @@
<SCRTEXT_M>Worksheet Break</SCRTEXT_M> <SCRTEXT_M>Worksheet Break</SCRTEXT_M>
<SCRTEXT_L>Worksheet Break</SCRTEXT_L> <SCRTEXT_L>Worksheet Break</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER> <DTELMASTER>E</DTELMASTER>
<REFKIND>D</REFKIND> <DATATYPE>INT1</DATATYPE>
<LENG>000003</LENG>
<OUTPUTLEN>000003</OUTPUTLEN>
</DD04V> </DD04V>
</asx:values> </asx:values>
</asx:abap> </asx:abap>

View File

@ -5,7 +5,6 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_DIAGONAL</ROLLNAME> <ROLLNAME>ZEXCEL_DIAGONAL</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>INT1</DOMNAME>
<HEADLEN>09</HEADLEN> <HEADLEN>09</HEADLEN>
<SCRLEN1>09</SCRLEN1> <SCRLEN1>09</SCRLEN1>
<SCRLEN2>09</SCRLEN2> <SCRLEN2>09</SCRLEN2>
@ -16,7 +15,9 @@
<SCRTEXT_M>Fill Type</SCRTEXT_M> <SCRTEXT_M>Fill Type</SCRTEXT_M>
<SCRTEXT_L>Fill Type</SCRTEXT_L> <SCRTEXT_L>Fill Type</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER> <DTELMASTER>E</DTELMASTER>
<REFKIND>D</REFKIND> <DATATYPE>INT1</DATATYPE>
<LENG>000003</LENG>
<OUTPUTLEN>000003</OUTPUTLEN>
</DD04V> </DD04V>
</asx:values> </asx:values>
</asx:abap> </asx:abap>

View File

@ -5,7 +5,6 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_GRAPH_TYPE</ROLLNAME> <ROLLNAME>ZEXCEL_GRAPH_TYPE</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>INT1</DOMNAME>
<HEADLEN>10</HEADLEN> <HEADLEN>10</HEADLEN>
<SCRLEN1>10</SCRLEN1> <SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2> <SCRLEN2>15</SCRLEN2>
@ -16,7 +15,9 @@
<SCRTEXT_M>Graph type</SCRTEXT_M> <SCRTEXT_M>Graph type</SCRTEXT_M>
<SCRTEXT_L>Graph type</SCRTEXT_L> <SCRTEXT_L>Graph type</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER> <DTELMASTER>E</DTELMASTER>
<REFKIND>D</REFKIND> <DATATYPE>INT1</DATATYPE>
<LENG>000003</LENG>
<OUTPUTLEN>000003</OUTPUTLEN>
</DD04V> </DD04V>
</asx:values> </asx:values>
</asx:abap> </asx:abap>

View File

@ -5,7 +5,6 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_INDENT</ROLLNAME> <ROLLNAME>ZEXCEL_INDENT</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>INT1</DOMNAME>
<HEADLEN>13</HEADLEN> <HEADLEN>13</HEADLEN>
<SCRLEN1>10</SCRLEN1> <SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2> <SCRLEN2>15</SCRLEN2>
@ -16,7 +15,9 @@
<SCRTEXT_M>Indent</SCRTEXT_M> <SCRTEXT_M>Indent</SCRTEXT_M>
<SCRTEXT_L>Indent</SCRTEXT_L> <SCRTEXT_L>Indent</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER> <DTELMASTER>E</DTELMASTER>
<REFKIND>D</REFKIND> <DATATYPE>INT1</DATATYPE>
<LENG>000003</LENG>
<OUTPUTLEN>000003</OUTPUTLEN>
</DD04V> </DD04V>
</asx:values> </asx:values>
</asx:abap> </asx:abap>

View File

@ -5,7 +5,7 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_PRINT_GRIDLINES</ROLLNAME> <ROLLNAME>ZEXCEL_PRINT_GRIDLINES</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>ABAP_BOOLEAN</DOMNAME> <DOMNAME>XSDBOOLEAN</DOMNAME>
<HEADLEN>55</HEADLEN> <HEADLEN>55</HEADLEN>
<SCRLEN1>10</SCRLEN1> <SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2> <SCRLEN2>15</SCRLEN2>

View File

@ -5,7 +5,7 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_SCALECROP</ROLLNAME> <ROLLNAME>ZEXCEL_SCALECROP</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>ABAP_BOOLEAN</DOMNAME> <DOMNAME>XSDBOOLEAN</DOMNAME>
<HEADLEN>55</HEADLEN> <HEADLEN>55</HEADLEN>
<SCRLEN1>10</SCRLEN1> <SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2> <SCRLEN2>15</SCRLEN2>

View File

@ -5,7 +5,7 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_SHEET_HIDDEN</ROLLNAME> <ROLLNAME>ZEXCEL_SHEET_HIDDEN</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>ABAP_BOOLEAN</DOMNAME> <DOMNAME>XSDBOOLEAN</DOMNAME>
<HEADLEN>15</HEADLEN> <HEADLEN>15</HEADLEN>
<SCRLEN1>10</SCRLEN1> <SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2> <SCRLEN2>15</SCRLEN2>

View File

@ -5,7 +5,6 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_SHEET_PAPER_SIZE</ROLLNAME> <ROLLNAME>ZEXCEL_SHEET_PAPER_SIZE</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>INT1</DOMNAME>
<HEADLEN>09</HEADLEN> <HEADLEN>09</HEADLEN>
<SCRLEN1>09</SCRLEN1> <SCRLEN1>09</SCRLEN1>
<SCRLEN2>09</SCRLEN2> <SCRLEN2>09</SCRLEN2>
@ -16,7 +15,9 @@
<SCRTEXT_M>Fill Type</SCRTEXT_M> <SCRTEXT_M>Fill Type</SCRTEXT_M>
<SCRTEXT_L>Fill Type</SCRTEXT_L> <SCRTEXT_L>Fill Type</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER> <DTELMASTER>E</DTELMASTER>
<REFKIND>D</REFKIND> <DATATYPE>INT1</DATATYPE>
<LENG>000003</LENG>
<OUTPUTLEN>000003</OUTPUTLEN>
</DD04V> </DD04V>
</asx:values> </asx:values>
</asx:abap> </asx:abap>

View File

@ -5,7 +5,7 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_SHEET_SELECTED</ROLLNAME> <ROLLNAME>ZEXCEL_SHEET_SELECTED</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>ABAP_BOOLEAN</DOMNAME> <DOMNAME>XSDBOOLEAN</DOMNAME>
<HEADLEN>18</HEADLEN> <HEADLEN>18</HEADLEN>
<SCRLEN1>10</SCRLEN1> <SCRLEN1>10</SCRLEN1>
<SCRLEN2>18</SCRLEN2> <SCRLEN2>18</SCRLEN2>

View File

@ -5,7 +5,7 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_SHOW_GRIDLINES</ROLLNAME> <ROLLNAME>ZEXCEL_SHOW_GRIDLINES</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>ABAP_BOOLEAN</DOMNAME> <DOMNAME>XSDBOOLEAN</DOMNAME>
<HEADLEN>55</HEADLEN> <HEADLEN>55</HEADLEN>
<SCRLEN1>10</SCRLEN1> <SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2> <SCRLEN2>15</SCRLEN2>

View File

@ -5,7 +5,7 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_SHOW_ROWCOLHEADER</ROLLNAME> <ROLLNAME>ZEXCEL_SHOW_ROWCOLHEADER</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>ABAP_BOOLEAN</DOMNAME> <DOMNAME>XSDBOOLEAN</DOMNAME>
<HEADLEN>22</HEADLEN> <HEADLEN>22</HEADLEN>
<SCRLEN1>10</SCRLEN1> <SCRLEN1>10</SCRLEN1>
<SCRLEN2>20</SCRLEN2> <SCRLEN2>20</SCRLEN2>

View File

@ -5,7 +5,6 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_STYLE_FONT_FAMILY</ROLLNAME> <ROLLNAME>ZEXCEL_STYLE_FONT_FAMILY</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>INT1</DOMNAME>
<HEADLEN>20</HEADLEN> <HEADLEN>20</HEADLEN>
<SCRLEN1>10</SCRLEN1> <SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2> <SCRLEN2>15</SCRLEN2>
@ -16,7 +15,9 @@
<SCRTEXT_M>Font family</SCRTEXT_M> <SCRTEXT_M>Font family</SCRTEXT_M>
<SCRTEXT_L>Font family</SCRTEXT_L> <SCRTEXT_L>Font family</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER> <DTELMASTER>E</DTELMASTER>
<REFKIND>D</REFKIND> <DATATYPE>INT1</DATATYPE>
<LENG>000003</LENG>
<OUTPUTLEN>000003</OUTPUTLEN>
</DD04V> </DD04V>
</asx:values> </asx:values>
</asx:abap> </asx:abap>

View File

@ -5,7 +5,6 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_STYLE_FONT_SIZE</ROLLNAME> <ROLLNAME>ZEXCEL_STYLE_FONT_SIZE</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>INT1</DOMNAME>
<HEADLEN>20</HEADLEN> <HEADLEN>20</HEADLEN>
<SCRLEN1>10</SCRLEN1> <SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2> <SCRLEN2>15</SCRLEN2>
@ -16,7 +15,9 @@
<SCRTEXT_M>Font size</SCRTEXT_M> <SCRTEXT_M>Font size</SCRTEXT_M>
<SCRTEXT_L>Font size</SCRTEXT_L> <SCRTEXT_L>Font size</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER> <DTELMASTER>E</DTELMASTER>
<REFKIND>D</REFKIND> <DATATYPE>INT1</DATATYPE>
<LENG>000003</LENG>
<OUTPUTLEN>000003</OUTPUTLEN>
</DD04V> </DD04V>
</asx:values> </asx:values>
</asx:abap> </asx:abap>

View File

@ -5,7 +5,6 @@
<DD04V> <DD04V>
<ROLLNAME>ZEXCEL_TEXT_ROTATION</ROLLNAME> <ROLLNAME>ZEXCEL_TEXT_ROTATION</ROLLNAME>
<DDLANGUAGE>E</DDLANGUAGE> <DDLANGUAGE>E</DDLANGUAGE>
<DOMNAME>INT1</DOMNAME>
<HEADLEN>13</HEADLEN> <HEADLEN>13</HEADLEN>
<SCRLEN1>10</SCRLEN1> <SCRLEN1>10</SCRLEN1>
<SCRLEN2>15</SCRLEN2> <SCRLEN2>15</SCRLEN2>
@ -16,7 +15,9 @@
<SCRTEXT_M>Text Rotation</SCRTEXT_M> <SCRTEXT_M>Text Rotation</SCRTEXT_M>
<SCRTEXT_L>Text Rotation</SCRTEXT_L> <SCRTEXT_L>Text Rotation</SCRTEXT_L>
<DTELMASTER>E</DTELMASTER> <DTELMASTER>E</DTELMASTER>
<REFKIND>D</REFKIND> <DATATYPE>INT1</DATATYPE>
<LENG>000003</LENG>
<OUTPUTLEN>000003</OUTPUTLEN>
</DD04V> </DD04V>
</asx:values> </asx:values>
</asx:abap> </asx:abap>