abap2xlsx/src/zcl_excel_columns.clas.abap
Stefan Rutzmoser 1c276c6027
Fix package errors (#708)
* Fix package check errors

* Bump version number to 7.2.0
2020-11-10 18:21:38 +01:00

109 lines
2.5 KiB
ABAP

class ZCL_EXCEL_COLUMNS definition
public
final
create public .
*"* public components of class ZCL_EXCEL_COLUMNS
*"* do not include other source files here!!!
public section.
types:
begin of MTY_S_HASHED_COLUMN,
COLUMN_INDEX type INT4,
COLUMN type ref to ZCL_EXCEL_COLUMN,
end of MTY_S_HASHED_COLUMN ,
MTY_TS_HASEHD_COLUMN type hashed table of MTY_S_HASHED_COLUMN with unique key COLUMN_INDEX.
methods ADD
importing
!IO_COLUMN type ref to ZCL_EXCEL_COLUMN .
methods CLEAR .
methods CONSTRUCTOR .
methods GET
importing
!IP_INDEX type I
returning
value(EO_COLUMN) type ref to ZCL_EXCEL_COLUMN .
methods GET_ITERATOR
returning
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
methods IS_EMPTY
returning
value(IS_EMPTY) type FLAG .
methods REMOVE
importing
!IO_COLUMN type ref to ZCL_EXCEL_COLUMN .
methods SIZE
returning
value(EP_SIZE) type I .
*"* protected components of class ZABAP_EXCEL_WORKSHEETS
*"* do not include other source files here!!!
protected section.
*"* private components of class ZABAP_EXCEL_RANGES
*"* do not include other source files here!!!
private section.
data COLUMNS type ref to CL_OBJECT_COLLECTION .
data COLUMNS_HASEHD type MTY_TS_HASEHD_COLUMN .
ENDCLASS.
CLASS ZCL_EXCEL_COLUMNS IMPLEMENTATION.
method ADD.
data: LS_HASHED_COLUMN type MTY_S_HASHED_COLUMN.
LS_HASHED_COLUMN-COLUMN_INDEX = IO_COLUMN->GET_COLUMN_INDEX( ).
LS_HASHED_COLUMN-COLUMN = IO_COLUMN.
insert LS_HASHED_COLUMN into table COLUMNS_HASEHD .
COLUMNS->ADD( IO_COLUMN ).
endmethod.
method CLEAR.
clear COLUMNS_HASEHD.
COLUMNS->CLEAR( ).
endmethod.
method CONSTRUCTOR.
create object COLUMNS.
endmethod.
method GET.
field-symbols: <LS_HASHED_COLUMN> type MTY_S_HASHED_COLUMN.
read table COLUMNS_HASEHD with key COLUMN_INDEX = IP_INDEX assigning <LS_HASHED_COLUMN>.
if SY-SUBRC = 0.
EO_COLUMN = <LS_HASHED_COLUMN>-COLUMN.
endif.
endmethod.
method GET_ITERATOR.
EO_ITERATOR ?= COLUMNS->GET_ITERATOR( ).
endmethod.
method IS_EMPTY.
IS_EMPTY = COLUMNS->IS_EMPTY( ).
endmethod.
method REMOVE.
delete table COLUMNS_HASEHD with table key COLUMN_INDEX = IO_COLUMN->GET_COLUMN_INDEX( ) .
COLUMNS->REMOVE( IO_COLUMN ).
endmethod.
method SIZE.
EP_SIZE = COLUMNS->SIZE( ).
endmethod.
ENDCLASS.