mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 05:04:11 +08:00
Fixed issue #91, great job by Rene Turnheim
git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@250 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
This commit is contained in:
parent
011b88692b
commit
6d0a0eb44f
834
ZA2X/CLAS/ZCL_EXCEL_CONVERTER.slnk
Normal file
834
ZA2X/CLAS/ZCL_EXCEL_CONVERTER.slnk
Normal file
|
@ -0,0 +1,834 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<CLAS CLSNAME="ZCL_EXCEL_CONVERTER" VERSION="1" LANGU="E" DESCRIPT="Salv converter" UUID="4F03DF55DA5D00BFE1008000C008015A" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="RTURNHEIM" CREATEDON="20120106" CHANGEDBY="FEMIA" CHANGEDON="20120120" CHGDANYON="00000000" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="702" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
|
||||
<types CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="T_RELATIONSHIP" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" TYPTYPE="4" SRCROW1="6 " SRCCOLUMN1="4 " SRCROW2="10 " SRCCOLUMN2="29 " R3RELEASE="702" TYPESRC_LENG="154 " TYPESRC="BEGIN OF t_relationship,
|
||||
id TYPE string,
|
||||
type TYPE string,
|
||||
target TYPE string,
|
||||
END OF t_relationship
|
||||
"/>
|
||||
<types CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="T_FILEVERSION" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" TYPTYPE="4" SRCROW1="12 " SRCCOLUMN1="4 " SRCROW2="18 " SRCCOLUMN2="26 " R3RELEASE="702" TYPESRC_LENG="254 " TYPESRC="BEGIN OF t_fileversion,
|
||||
appname TYPE string,
|
||||
lastedited TYPE string,
|
||||
lowestedited TYPE string,
|
||||
rupbuild TYPE string,
|
||||
codename TYPE string,
|
||||
END OF t_fileversion
|
||||
"/>
|
||||
<types CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="T_SHEET" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" TYPTYPE="4" SRCROW1="20 " SRCCOLUMN1="4 " SRCROW2="24 " SRCCOLUMN2="22 " R3RELEASE="702" TYPESRC_LENG="152 " TYPESRC="BEGIN OF t_sheet,
|
||||
name TYPE string,
|
||||
sheetid TYPE string,
|
||||
id TYPE string,
|
||||
END OF t_sheet
|
||||
"/>
|
||||
<types CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="T_WORKBOOKPR" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" TYPTYPE="4" SRCROW1="26 " SRCCOLUMN1="4 " SRCROW2="29 " SRCCOLUMN2="27 " R3RELEASE="702" TYPESRC_LENG="150 " TYPESRC="BEGIN OF t_workbookpr,
|
||||
codename TYPE string,
|
||||
defaultthemeversion TYPE string,
|
||||
END OF t_workbookpr
|
||||
"/>
|
||||
<types CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="T_SHEETPR" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" TYPTYPE="4" SRCROW1="31 " SRCCOLUMN1="4 " SRCROW2="33 " SRCCOLUMN2="24 " R3RELEASE="702" TYPESRC_LENG="96 " TYPESRC="BEGIN OF t_sheetpr,
|
||||
codename TYPE string,
|
||||
END OF t_sheetpr
|
||||
"/>
|
||||
<publicSection>class ZCL_EXCEL_CONVERTER definition
|
||||
public
|
||||
create public .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
type-pools ABAP .
|
||||
|
||||
class-methods CLASS_CONSTRUCTOR .
|
||||
methods CONVERT
|
||||
importing
|
||||
!IO_ALV type ref to OBJECT optional
|
||||
!IT_TABLE type STANDARD TABLE
|
||||
!I_ROW_INT type I default 1
|
||||
!I_COLUMN_INT type I default 1
|
||||
!I_TABLE type FLAG optional
|
||||
!I_STYLE_TABLE type ZEXCEL_TABLE_STYLE optional
|
||||
!IO_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET optional
|
||||
changing
|
||||
!CO_EXCEL type ref to ZCL_EXCEL optional
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
methods GET_FILE
|
||||
exporting
|
||||
!E_BYTECOUNT type I
|
||||
!ET_FILE type SOLIX_TAB
|
||||
!E_FILE type XSTRING .
|
||||
methods OPEN_FILE .
|
||||
methods WRITE_FILE
|
||||
importing
|
||||
!I_PATH type STRING optional .</publicSection>
|
||||
<protectedSection>*"* protected components of class ZCL_EXCEL_CONVERTER
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
|
||||
types:
|
||||
BEGIN OF t_relationship,
|
||||
id TYPE string,
|
||||
type TYPE string,
|
||||
target TYPE string,
|
||||
END OF t_relationship .
|
||||
types:
|
||||
BEGIN OF t_fileversion,
|
||||
appname TYPE string,
|
||||
lastedited TYPE string,
|
||||
lowestedited TYPE string,
|
||||
rupbuild TYPE string,
|
||||
codename TYPE string,
|
||||
END OF t_fileversion .
|
||||
types:
|
||||
BEGIN OF t_sheet,
|
||||
name TYPE string,
|
||||
sheetid TYPE string,
|
||||
id TYPE string,
|
||||
END OF t_sheet .
|
||||
types:
|
||||
BEGIN OF t_workbookpr,
|
||||
codename TYPE string,
|
||||
defaultthemeversion TYPE string,
|
||||
END OF t_workbookpr .
|
||||
types:
|
||||
BEGIN OF t_sheetpr,
|
||||
codename TYPE string,
|
||||
END OF t_sheetpr .
|
||||
|
||||
data W_ROW_INT type ZEXCEL_CELL_ROW value 1. "#EC NOTEXT .
|
||||
data W_COL_INT type ZEXCEL_CELL_COLUMN value 1. "#EC NOTEXT .</protectedSection>
|
||||
<privateSection>*"* private components of class ZCL_EXCEL_CONVERTER
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
|
||||
data wo_excel type ref to zcl_excel .
|
||||
data wo_worksheet type ref to zcl_excel_worksheet .
|
||||
data wo_data type ref to data .
|
||||
data wt_fieldcatalog type zexcel_t_converter_fcat .
|
||||
data ws_layout type zexcel_s_converter_layo .
|
||||
class-data wt_objects type tt_alv_types .
|
||||
data w_fcount type numc3 .
|
||||
|
||||
methods bind_table
|
||||
importing
|
||||
!i_style_table type zexcel_table_style .
|
||||
methods bind_cells
|
||||
raising
|
||||
zcx_excel .
|
||||
methods create_formular_total
|
||||
importing
|
||||
!i_row_int type zexcel_cell_row
|
||||
!i_column type zexcel_cell_column_alpha
|
||||
!i_totals_function type zexcel_table_totals_function
|
||||
returning
|
||||
value(r_formula) type string .
|
||||
methods create_style_hdr
|
||||
importing
|
||||
!i_alignment type zexcel_alignment optional
|
||||
returning
|
||||
value(r_style) type zexcel_cell_style .
|
||||
methods create_style_normal
|
||||
importing
|
||||
!i_alignment type zexcel_alignment optional
|
||||
!i_inttype type inttype optional
|
||||
returning
|
||||
value(r_style) type zexcel_cell_style .
|
||||
methods create_style_stripped
|
||||
importing
|
||||
!i_alignment type zexcel_alignment optional
|
||||
!i_inttype type inttype optional
|
||||
returning
|
||||
value(r_style) type zexcel_cell_style .
|
||||
methods create_style_total
|
||||
importing
|
||||
!i_alignment type zexcel_alignment optional
|
||||
!i_inttype type inttype optional
|
||||
returning
|
||||
value(r_style) type zexcel_cell_style .
|
||||
methods create_path
|
||||
returning
|
||||
value(r_path) type string .
|
||||
methods create_table
|
||||
importing
|
||||
!it_table type standard table .
|
||||
methods create_worksheet
|
||||
importing
|
||||
!i_table type flag default 'X'
|
||||
!i_style_table type zexcel_table_style .
|
||||
methods execute_converter
|
||||
importing
|
||||
!io_object type ref to object
|
||||
!it_table type standard table
|
||||
raising
|
||||
zcx_excel .
|
||||
methods set_fieldcatalog .</privateSection>
|
||||
<localImplementation>*"* local class implementation for public class
|
||||
*"* use this source file for the implementation part of
|
||||
*"* local helper classes</localImplementation>
|
||||
<localTypes>*"* use this source file for any type declarations (class
|
||||
*"* definitions, interfaces or data types) you need for method
|
||||
*"* implementation or private method's signature
|
||||
|
||||
types: begin of ts_alv_types,
|
||||
seoclass type SEOCLSNAME,
|
||||
clsname type seoclsname,
|
||||
end of ts_alv_types,
|
||||
tt_alv_types type hashed table of ts_alv_types with unique key seoclass.</localTypes>
|
||||
<localMacros>*"* use this source file for any macro definitions you need
|
||||
*"* in the implementation part of the class</localMacros>
|
||||
<typeUsage CLSNAME="ZCL_EXCEL_CONVERTER" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
|
||||
<typeUsage CLSNAME="ZCL_EXCEL_CONVERTER" TYPEGROUP="SLIS" VERSION="1" TPUTYPE="0" IMPLICIT="X"/>
|
||||
<typeUsage CLSNAME="ZCL_EXCEL_CONVERTER" TYPEGROUP="SOI" VERSION="1" TPUTYPE="0" IMPLICIT="X"/>
|
||||
<forwardDeclaration>ABAP</forwardDeclaration>
|
||||
<forwardDeclaration>SLIS</forwardDeclaration>
|
||||
<forwardDeclaration>SOI</forwardDeclaration>
|
||||
<attribute CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="WO_DATA" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="WO_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="WO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="WS_LAYOUT" VERSION="1" LANGU="E" DESCRIPT="Converter settings for table" EXPOSURE="0" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CONVERTER_LAYO" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="WT_FIELDCATALOG" VERSION="1" LANGU="E" DESCRIPT="Conter table for tabel fields" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_T_CONVERTER_FCAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="WT_OBJECTS" VERSION="1" LANGU="E" DESCRIPT="ALV object list" EXPOSURE="0" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" ATTDECLTYP="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="TT_ALV_TYPES" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="W_COL_INT" VERSION="1" LANGU="E" DESCRIPT="Cell Column" EXPOSURE="1" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" ATTDECLTYP="0" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="W_FCOUNT" VERSION="1" LANGU="E" DESCRIPT="Two digit number" EXPOSURE="0" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="NUMC3" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="W_ROW_INT" VERSION="1" LANGU="E" DESCRIPT="Cell Row" EXPOSURE="1" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" ATTDECLTYP="0" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="702" TYPESRC_LENG="0 "/>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="BIND_CELLS" VERSION="1" LANGU="E" DESCRIPT="Create table with set cell method" EXPOSURE="0" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<exception CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="BIND_CELLS" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120"/>
|
||||
<source>method BIND_CELLS.
|
||||
|
||||
data: lo_tabdescr type ref to cl_abap_structdescr,
|
||||
lo_data type ref to data,
|
||||
l_row_header type zexcel_cell_row value '2',
|
||||
l_col_header type zexcel_cell_column_alpha value 'B',
|
||||
l_row_int type zexcel_cell_row,
|
||||
l_col_int type zexcel_cell_column,
|
||||
l_col_alpha type zexcel_cell_column_alpha,
|
||||
l_cell_value type zexcel_cell_value,
|
||||
l_hdr type zexcel_cell_style,
|
||||
l_stripped type zexcel_cell_style,
|
||||
l_normal type zexcel_cell_style,
|
||||
l_total type zexcel_cell_style,
|
||||
l_s_color type abap_bool,
|
||||
i_num_columns type i,
|
||||
lo_col_dim type ref to zcl_excel_worksheet_columndime,
|
||||
l_formula type zexcel_cell_formula.
|
||||
|
||||
|
||||
field-symbols: <fs_stab> type any,
|
||||
<fs_tab> type any table,
|
||||
<fs_sfcat> type zexcel_s_converter_fcat,
|
||||
<fs_fldval> type any,
|
||||
<fs_cell_value> type zexcel_cell_value.
|
||||
|
||||
assign wo_data->* to <fs_tab> .
|
||||
|
||||
l_col_int = w_col_int.
|
||||
l_row_int = w_row_int.
|
||||
* First lets check if we fiedl catalog ready or we need conversion from table.
|
||||
if wt_fieldcatalog is initial.
|
||||
set_fieldcatalog( ).
|
||||
endif.
|
||||
clear ws_layout.
|
||||
* It is better to loop column by column
|
||||
loop at wt_fieldcatalog assigning <fs_sfcat>.
|
||||
* Default stype with alignment and format
|
||||
l_hdr = create_style_hdr( i_alignment = <fs_sfcat>-alignment ).
|
||||
if ws_layout-is_stripped = abap_true.
|
||||
l_stripped = create_style_stripped( i_alignment = <fs_sfcat>-alignment
|
||||
i_inttype = <fs_sfcat>-inttype ).
|
||||
endif.
|
||||
l_normal = create_style_normal( i_alignment = <fs_sfcat>-alignment
|
||||
i_inttype = <fs_sfcat>-inttype ).
|
||||
l_total = create_style_total( i_alignment = <fs_sfcat>-alignment
|
||||
i_inttype = <fs_sfcat>-inttype ).
|
||||
* Freeze panes
|
||||
if <fs_sfcat>-fix_column = abap_true.
|
||||
add 1 to i_num_columns.
|
||||
endif.
|
||||
l_s_color = abap_true.
|
||||
l_col_alpha = zcl_excel_common=>convert_column2alpha( l_col_int ).
|
||||
" First of all write column header
|
||||
l_cell_value = <fs_sfcat>-scrtext_m.
|
||||
wo_worksheet->set_cell( ip_column = l_col_alpha
|
||||
ip_row = l_row_int
|
||||
ip_value = l_cell_value
|
||||
ip_abap_type = cl_abap_typedescr=>typekind_string
|
||||
ip_style = l_hdr ).
|
||||
add 1 to l_row_int.
|
||||
loop at <fs_tab> assigning <fs_stab>.
|
||||
* Now the cell values
|
||||
assign component <fs_sfcat>-columnname of structure <fs_stab> to <fs_fldval>.
|
||||
if ws_layout-is_stripped = abap_true and l_s_color = abap_true.
|
||||
wo_worksheet->set_cell( ip_column = l_col_alpha
|
||||
ip_row = l_row_int
|
||||
ip_value = <fs_fldval>
|
||||
ip_abap_type = <fs_sfcat>-inttype
|
||||
ip_style = l_stripped ).
|
||||
clear l_s_color.
|
||||
else.
|
||||
wo_worksheet->set_cell( ip_column = l_col_alpha
|
||||
ip_row = l_row_int
|
||||
ip_value = <fs_fldval>
|
||||
ip_abap_type = <fs_sfcat>-inttype
|
||||
ip_style = l_normal ).
|
||||
l_s_color = abap_true.
|
||||
endif.
|
||||
add 1 to l_row_int.
|
||||
endloop.
|
||||
* Now let's check for optimized
|
||||
if <fs_sfcat>-is_optimized = abap_true.
|
||||
lo_col_dim = wo_worksheet->get_column_dimension( ip_column = l_col_alpha ).
|
||||
lo_col_dim->set_auto_size( ip_auto_size = abap_true ) .
|
||||
endif.
|
||||
* Now let's check for visible
|
||||
if <fs_sfcat>-is_visible = abap_false.
|
||||
lo_col_dim = wo_worksheet->get_column_dimension( ip_column = l_col_alpha ).
|
||||
lo_col_dim->set_visible( ip_visible = abap_false ) .
|
||||
endif.
|
||||
* Now let's check for total
|
||||
if <fs_sfcat>-totals_function is not initial.
|
||||
l_row_int = l_row_int - 1.
|
||||
|
||||
l_formula = create_formular_total( i_row_int = l_row_int
|
||||
i_column = l_col_alpha
|
||||
i_totals_function = <fs_sfcat>-totals_function ).
|
||||
add 1 to l_row_int.
|
||||
wo_worksheet->set_cell( ip_column = l_col_alpha
|
||||
ip_row = l_row_int
|
||||
ip_formula = l_formula
|
||||
ip_style = l_total ).
|
||||
endif.
|
||||
l_row_int = w_row_int.
|
||||
add 1 to l_col_int.
|
||||
endloop.
|
||||
* Check for freeze panes
|
||||
if ws_layout-is_fixed = abap_true.
|
||||
if i_num_columns = 0.
|
||||
i_num_columns = w_col_int.
|
||||
endif.
|
||||
wo_worksheet->freeze_panes( exporting ip_num_columns = i_num_columns
|
||||
ip_num_rows = w_row_int ) .
|
||||
endif.
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="BIND_TABLE" VERSION="1" LANGU="E" DESCRIPT="Create table with bind table method" EXPOSURE="0" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="BIND_TABLE" SCONAME="I_STYLE_TABLE" VERSION="1" LANGU="E" DESCRIPT="Name of the table style" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_TABLE_STYLE"/>
|
||||
<source>method BIND_TABLE.
|
||||
data: lt_field_catalog type zexcel_t_fieldcatalog,
|
||||
ls_field_catalog type zexcel_s_fieldcatalog,
|
||||
ls_fcat type zexcel_s_converter_fcat,
|
||||
ls_settings type zexcel_s_table_settings,
|
||||
l_line type i.
|
||||
|
||||
field-symbols: <fs_tab> type any table.
|
||||
|
||||
assign wo_data->* to <fs_tab> .
|
||||
|
||||
if wt_fieldcatalog is initial.
|
||||
set_fieldcatalog( ) .
|
||||
endif.
|
||||
ls_settings-table_style = i_style_table.
|
||||
ls_settings-top_left_column = zcl_excel_common=>convert_column2alpha( ip_column = w_col_int ).
|
||||
ls_settings-top_left_row = w_row_int.
|
||||
ls_settings-show_row_stripes = ws_layout-is_stripped.
|
||||
|
||||
describe table wt_fieldcatalog lines l_line.
|
||||
l_line = l_line + 1 + w_col_int.
|
||||
ls_settings-bottom_right_column = zcl_excel_common=>convert_column2alpha( ip_column = l_line ).
|
||||
|
||||
describe table <fs_tab> lines l_line.
|
||||
ls_settings-bottom_right_row = l_line + 1 + w_row_int.
|
||||
sort wt_fieldcatalog by position.
|
||||
loop at wt_fieldcatalog into ls_fcat.
|
||||
move-corresponding ls_fcat to ls_field_catalog.
|
||||
ls_field_catalog-dynpfld = abap_true.
|
||||
insert ls_field_catalog into table lt_field_catalog.
|
||||
endloop.
|
||||
|
||||
wo_worksheet->bind_table(
|
||||
exporting
|
||||
ip_table = <fs_tab>
|
||||
it_field_catalog = lt_field_catalog
|
||||
is_table_settings = ls_settings
|
||||
importing
|
||||
es_table_settings = ls_settings
|
||||
).
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CLASS_CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CLASS_CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="2" MTDDECLTYP="1" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<source>method CLASS_CONSTRUCTOR.
|
||||
data: ls_objects type ts_alv_types.
|
||||
|
||||
* Object CL_GUI_ALV_GRID
|
||||
ls_objects-seoclass = 'CL_GUI_ALV_GRID'.
|
||||
ls_objects-clsname = 'ZCL_EXCEL_CONVERTER_ALV_GRID'.
|
||||
insert ls_objects into table wt_objects.
|
||||
|
||||
* Object CL_SALV_TABLE
|
||||
ls_objects-seoclass = 'CL_SALV_TABLE'.
|
||||
ls_objects-clsname = 'ZCL_EXCEL_CONVERTER_SALV_TABLE'.
|
||||
insert ls_objects into table wt_objects.
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CONVERT" VERSION="1" LANGU="E" DESCRIPT="Convert" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CONVERT" SCONAME="IO_ALV" VERSION="1" LANGU="E" DESCRIPT="ALV List Viewer" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="OBJECT" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CONVERT" SCONAME="IT_TABLE" VERSION="1" LANGU="E" DESCRIPT="Data table" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STANDARD TABLE"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CONVERT" SCONAME="I_ROW_INT" VERSION="1" LANGU="E" DESCRIPT="Top edge of data block" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="I" PARVALUE="1" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CONVERT" SCONAME="I_COLUMN_INT" VERSION="1" LANGU="E" DESCRIPT="Left-hand edge of data block" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="I" PARVALUE="1" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CONVERT" SCONAME="I_TABLE" VERSION="1" LANGU="E" DESCRIPT="Create as TABLE in workbook" CMPTYPE="1" MTDTYPE="0" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="FLAG" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CONVERT" SCONAME="I_STYLE_TABLE" VERSION="1" LANGU="E" DESCRIPT="Name of the table style" CMPTYPE="1" MTDTYPE="0" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_TABLE_STYLE" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CONVERT" SCONAME="IO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CONVERT" SCONAME="CO_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" CMPTYPE="1" MTDTYPE="0" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="2" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL" PAROPTIONL="X"/>
|
||||
<exception CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CONVERT" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120"/>
|
||||
<source>method CONVERT.
|
||||
|
||||
try.
|
||||
execute_converter( io_object = io_alv
|
||||
it_table = it_table ) .
|
||||
endtry.
|
||||
|
||||
if io_worksheet is supplied and io_worksheet is bound.
|
||||
wo_worksheet = io_worksheet.
|
||||
endif.
|
||||
if co_excel is supplied.
|
||||
if co_excel is not bound.
|
||||
create object co_excel.
|
||||
co_excel->zif_excel_book_properties~creator = sy-uname.
|
||||
endif.
|
||||
wo_excel = co_excel.
|
||||
endif.
|
||||
|
||||
* Move table to data object and clean it up
|
||||
if wt_fieldcatalog is not initial.
|
||||
create_table( it_table = it_table ).
|
||||
else.
|
||||
get reference of it_table into wo_data.
|
||||
endif.
|
||||
|
||||
if wo_excel is not bound.
|
||||
create object wo_excel.
|
||||
wo_excel->zif_excel_book_properties~creator = sy-uname.
|
||||
endif.
|
||||
if wo_worksheet is not bound.
|
||||
" Get active sheet
|
||||
wo_worksheet = wo_excel->get_active_worksheet( ).
|
||||
wo_worksheet->set_title( ip_title = 'Sheet1'(001) ).
|
||||
endif.
|
||||
|
||||
w_row_int = i_row_int.
|
||||
w_col_int = i_column_int.
|
||||
|
||||
create_worksheet( i_table = i_table
|
||||
i_style_table = i_style_table ) .
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_FORMULAR_TOTAL" VERSION="1" LANGU="E" DESCRIPT="Create formular for column total" EXPOSURE="0" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_FORMULAR_TOTAL" SCONAME="I_ROW_INT" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_FORMULAR_TOTAL" SCONAME="I_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_FORMULAR_TOTAL" SCONAME="I_TOTALS_FUNCTION" VERSION="1" LANGU="E" DESCRIPT="Totals function for table column (xml ST_TotalsRowFunction)" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_TABLE_TOTALS_FUNCTION"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_FORMULAR_TOTAL" SCONAME="R_FORMULA" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
|
||||
<source>method CREATE_FORMULAR_TOTAL.
|
||||
data: l_row_alpha type string,
|
||||
l_row_e_alpha type string.
|
||||
|
||||
l_row_alpha = w_row_int.
|
||||
l_row_e_alpha = i_row_int.
|
||||
|
||||
concatenate i_totals_function '(' i_column l_row_alpha ':' i_column l_row_e_alpha ')' into r_formula.
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_PATH" VERSION="1" LANGU="E" DESCRIPT="Create file path for download" EXPOSURE="0" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_PATH" SCONAME="R_PATH" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
|
||||
<source>method CREATE_PATH.
|
||||
data: l_sep type c .
|
||||
|
||||
clear r_path.
|
||||
|
||||
" Save the file
|
||||
cl_gui_frontend_services=>get_sapgui_workdir(
|
||||
changing
|
||||
sapworkdir = r_path
|
||||
* exceptions
|
||||
* get_sapworkdir_failed = 1
|
||||
* cntl_error = 2
|
||||
* error_no_gui = 3
|
||||
* not_supported_by_gui = 4
|
||||
).
|
||||
if sy-subrc <> 0.
|
||||
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
|
||||
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
|
||||
endif.
|
||||
|
||||
add 1 to w_fcount.
|
||||
*-obtain file separator character---------------------------------------
|
||||
call method cl_gui_frontend_services=>get_file_separator
|
||||
changing
|
||||
file_separator = l_sep
|
||||
exceptions
|
||||
cntl_error = 1
|
||||
error_no_gui = 2
|
||||
not_supported_by_gui = 3
|
||||
others = 4.
|
||||
|
||||
if sy-subrc <> 0.
|
||||
l_sep = ''.
|
||||
endif.
|
||||
|
||||
concatenate r_path l_sep 'Excel_' w_fcount '.xlsx' into r_path.
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_HDR" VERSION="1" LANGU="E" DESCRIPT="Create header style" EXPOSURE="0" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_HDR" SCONAME="I_ALIGNMENT" VERSION="1" LANGU="E" DESCRIPT="Alignment" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_HDR" SCONAME="R_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style identifier" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE"/>
|
||||
<source>method CREATE_STYLE_HDR.
|
||||
data: lo_style type ref to zcl_excel_style.
|
||||
|
||||
lo_style = wo_excel->add_new_style( ).
|
||||
lo_style->font->bold = abap_true.
|
||||
lo_style->font->color-rgb = zcl_excel_style_color=>c_white.
|
||||
lo_style->fill->filltype = zcl_excel_style_fill=>c_fill_solid.
|
||||
lo_style->fill->fgcolor-rgb = 'FF4F81BD'.
|
||||
if i_alignment is supplied and i_alignment is not initial.
|
||||
lo_style->alignment->horizontal = i_alignment.
|
||||
endif.
|
||||
r_style = lo_style->get_guid( ) .
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_NORMAL" VERSION="1" LANGU="E" DESCRIPT="Create line style for stripped" EXPOSURE="0" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_NORMAL" SCONAME="I_ALIGNMENT" VERSION="1" LANGU="E" DESCRIPT="Alignment" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_NORMAL" SCONAME="I_INTTYPE" VERSION="1" LANGU="E" DESCRIPT="ABAP data type (C,D,N,...)" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INTTYPE" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_NORMAL" SCONAME="R_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style identifier" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE"/>
|
||||
<source>method CREATE_STYLE_NORMAL.
|
||||
data: lo_style type ref to zcl_excel_style.
|
||||
|
||||
lo_style = wo_excel->add_new_style( ).
|
||||
if i_alignment is supplied and i_alignment is not initial.
|
||||
lo_style->alignment->horizontal = i_alignment.
|
||||
endif.
|
||||
if i_inttype is supplied and i_inttype is not initial.
|
||||
case i_inttype.
|
||||
when cl_abap_typedescr=>typekind_date.
|
||||
lo_style->number_format->format_code = wo_worksheet->get_default_excel_date_format( ).
|
||||
when cl_abap_typedescr=>typekind_time.
|
||||
lo_style->number_format->format_code = zcl_excel_style_number_format=>c_format_date_time6.
|
||||
endcase.
|
||||
endif.
|
||||
r_style = lo_style->get_guid( ) .
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_STRIPPED" VERSION="1" LANGU="E" DESCRIPT="Create line style for stripped" EXPOSURE="0" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_STRIPPED" SCONAME="I_ALIGNMENT" VERSION="1" LANGU="E" DESCRIPT="Alignment" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_STRIPPED" SCONAME="I_INTTYPE" VERSION="1" LANGU="E" DESCRIPT="ABAP data type (C,D,N,...)" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INTTYPE" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_STRIPPED" SCONAME="R_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style identifier" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE"/>
|
||||
<source>method CREATE_STYLE_STRIPPED.
|
||||
data: lo_style type ref to zcl_excel_style.
|
||||
|
||||
lo_style = wo_excel->add_new_style( ).
|
||||
lo_style->fill->filltype = zcl_excel_style_fill=>c_fill_solid.
|
||||
lo_style->fill->fgcolor-rgb = 'FFDBE5F1'.
|
||||
if i_alignment is supplied and i_alignment is not initial.
|
||||
lo_style->alignment->horizontal = i_alignment.
|
||||
endif.
|
||||
if i_inttype is supplied and i_inttype is not initial.
|
||||
case i_inttype.
|
||||
when cl_abap_typedescr=>typekind_date.
|
||||
lo_style->number_format->format_code = wo_worksheet->get_default_excel_date_format( ).
|
||||
when cl_abap_typedescr=>typekind_time.
|
||||
lo_style->number_format->format_code = zcl_excel_style_number_format=>c_format_date_time6.
|
||||
endcase.
|
||||
endif.
|
||||
r_style = lo_style->get_guid( ) .
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_TOTAL" VERSION="1" LANGU="E" DESCRIPT="Create totals style" EXPOSURE="0" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_TOTAL" SCONAME="I_ALIGNMENT" VERSION="1" LANGU="E" DESCRIPT="Alignment" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_TOTAL" SCONAME="I_INTTYPE" VERSION="1" LANGU="E" DESCRIPT="ABAP data type (C,D,N,...)" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INTTYPE" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_STYLE_TOTAL" SCONAME="R_STYLE" VERSION="1" LANGU="E" DESCRIPT="Globally Unique Identifier" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE"/>
|
||||
<source>method CREATE_STYLE_TOTAL.
|
||||
data: lo_style type ref to zcl_excel_style.
|
||||
|
||||
lo_style = wo_excel->add_new_style( ).
|
||||
|
||||
create object lo_style->borders->top.
|
||||
lo_style->borders->top->border_style = zcl_excel_style_border=>c_border_thin.
|
||||
lo_style->borders->top->border_color-rgb = zcl_excel_style_color=>c_black.
|
||||
|
||||
create object lo_style->borders->right.
|
||||
lo_style->borders->right->border_style = zcl_excel_style_border=>c_border_none.
|
||||
lo_style->borders->right->border_color-rgb = zcl_excel_style_color=>c_black.
|
||||
|
||||
create object lo_style->borders->down.
|
||||
lo_style->borders->down->border_style = zcl_excel_style_border=>c_border_double.
|
||||
lo_style->borders->down->border_color-rgb = zcl_excel_style_color=>c_black.
|
||||
|
||||
create object lo_style->borders->left.
|
||||
lo_style->borders->left->border_style = zcl_excel_style_border=>c_border_none.
|
||||
lo_style->borders->left->border_color-rgb = zcl_excel_style_color=>c_black.
|
||||
|
||||
if i_alignment is supplied and i_alignment is not initial.
|
||||
lo_style->alignment->horizontal = i_alignment.
|
||||
endif.
|
||||
if i_inttype is supplied and i_inttype is not initial.
|
||||
case i_inttype.
|
||||
when cl_abap_typedescr=>typekind_date.
|
||||
lo_style->number_format->format_code = wo_worksheet->get_default_excel_date_format( ).
|
||||
when cl_abap_typedescr=>typekind_time.
|
||||
lo_style->number_format->format_code = zcl_excel_style_number_format=>c_format_date_time6.
|
||||
endcase.
|
||||
endif.
|
||||
|
||||
r_style = lo_style->get_guid( ) .
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_TABLE" VERSION="1" LANGU="E" DESCRIPT="Create table based on fieldcatalog" EXPOSURE="0" STATE="1" EDITORDER="9 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_TABLE" SCONAME="IT_TABLE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STANDARD TABLE"/>
|
||||
<source>method CREATE_TABLE.
|
||||
data: lo_data type ref to data.
|
||||
data: lo_addit type ref to cl_abap_elemdescr,
|
||||
lt_components_tab type cl_abap_structdescr=>component_table,
|
||||
ls_components type abap_componentdescr,
|
||||
lo_table type ref to cl_abap_tabledescr,
|
||||
lo_struc type ref to cl_abap_structdescr.
|
||||
|
||||
field-symbols: <fs_scat> type zexcel_s_converter_fcat,
|
||||
<fs_stab> type any,
|
||||
<fs_ttab> type standard table,
|
||||
<fs> type any.
|
||||
|
||||
sort wt_fieldcatalog by position.
|
||||
read table it_table assigning <fs_stab> index 1.
|
||||
if sy-subrc eq 0 .
|
||||
loop at wt_fieldcatalog assigning <fs_scat>.
|
||||
assign component <fs_scat>-columnname of structure <fs_stab> to <fs>.
|
||||
if sy-subrc = 0.
|
||||
ls_components-name = <fs_scat>-columnname.
|
||||
lo_addit ?= cl_abap_typedescr=>describe_by_data( <fs> ).
|
||||
ls_components-type = lo_addit .
|
||||
insert ls_components into table lt_components_tab.
|
||||
endif.
|
||||
endloop.
|
||||
"create new line type
|
||||
lo_struc = cl_abap_structdescr=>create( lt_components_tab ).
|
||||
|
||||
lo_table = cl_abap_tabledescr=>create( lo_struc ).
|
||||
|
||||
create data wo_data type handle lo_table.
|
||||
create data lo_data type handle lo_struc.
|
||||
|
||||
assign wo_data->* to <fs_ttab>.
|
||||
assign lo_data->* to <fs_stab>.
|
||||
loop at it_table assigning <fs>.
|
||||
clear <fs_stab>.
|
||||
move-corresponding <fs> to <fs_stab>.
|
||||
append <fs_stab> to <fs_ttab>.
|
||||
endloop.
|
||||
endif.
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Create table in worksheet" EXPOSURE="0" STATE="1" EDITORDER="10 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120108" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_WORKSHEET" SCONAME="I_TABLE" VERSION="1" LANGU="E" DESCRIPT="Create as TABLE in workbook" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="FLAG" PARVALUE="'X'" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="CREATE_WORKSHEET" SCONAME="I_STYLE_TABLE" VERSION="1" LANGU="E" DESCRIPT="Name of the table style" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_TABLE_STYLE"/>
|
||||
<source>method CREATE_WORKSHEET.
|
||||
|
||||
if wo_data is bound and wo_worksheet is bound.
|
||||
if i_table = abap_true.
|
||||
bind_table( i_style_table = i_style_table ) .
|
||||
else.
|
||||
bind_cells( ) .
|
||||
endif.
|
||||
endif.
|
||||
wo_worksheet->zif_excel_sheet_properties~zoomscale = 100.
|
||||
wo_worksheet->zif_excel_sheet_properties~zoomscale_normal = 100.
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="EXECUTE_CONVERTER" VERSION="1" LANGU="E" DESCRIPT="Execute the converter based on object provided" EXPOSURE="0" STATE="1" EDITORDER="11 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="EXECUTE_CONVERTER" SCONAME="IO_OBJECT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="OBJECT"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="EXECUTE_CONVERTER" SCONAME="IT_TABLE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STANDARD TABLE"/>
|
||||
<exception CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="EXECUTE_CONVERTER" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120"/>
|
||||
<source>method EXECUTE_CONVERTER.
|
||||
data: lt_fieldcatalog type zexcel_t_fieldcatalog,
|
||||
ls_fieldcatalog type zexcel_s_converter_fcat,
|
||||
lo_if type ref to zif_excel_converter,
|
||||
ls_types type ts_alv_types,
|
||||
lo_addit type ref to cl_abap_classdescr.
|
||||
|
||||
if io_object is bound.
|
||||
try.
|
||||
lo_addit ?= cl_abap_typedescr=>describe_by_object_ref( io_object ).
|
||||
catch cx_sy_move_cast_error.
|
||||
raise exception type zcx_excel.
|
||||
endtry.
|
||||
ls_types-seoclass = lo_addit->get_relative_name( ).
|
||||
read table wt_objects into ls_types with table key seoclass = ls_types-seoclass.
|
||||
if sy-subrc = 0.
|
||||
create object lo_if type (ls_types-clsname).
|
||||
|
||||
try.
|
||||
lo_if->create_fieldcatalog(
|
||||
exporting
|
||||
io_object = io_object
|
||||
it_table = it_table
|
||||
importing
|
||||
es_layout = ws_layout
|
||||
et_fieldcatalog = wt_fieldcatalog
|
||||
).
|
||||
endtry.
|
||||
else.
|
||||
raise exception type zcx_excel.
|
||||
endif.
|
||||
else.
|
||||
refresh wt_fieldcatalog.
|
||||
endif.
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="GET_FILE" VERSION="1" LANGU="E" DESCRIPT="Create excel file" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="GET_FILE" SCONAME="E_BYTECOUNT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="I"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="GET_FILE" SCONAME="ET_FILE" VERSION="1" LANGU="E" DESCRIPT="GBT: SOLIX as Table Type" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="SOLIX_TAB"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="GET_FILE" SCONAME="E_FILE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="XSTRING"/>
|
||||
<source>method GET_FILE.
|
||||
data: lo_excel_writer type ref to zif_excel_writer,
|
||||
lo_excel type ref to zcl_excel.
|
||||
|
||||
data: ls_seoclass type seoclass.
|
||||
|
||||
|
||||
if wo_excel is bound.
|
||||
create object lo_excel_writer type zcl_excel_writer_2007.
|
||||
e_file = lo_excel_writer->write_file( wo_excel ).
|
||||
|
||||
select single * into ls_seoclass
|
||||
from seoclass
|
||||
where clsname = 'CL_BCS_CONVERT'.
|
||||
|
||||
if sy-subrc = 0.
|
||||
call method (ls_seoclass-clsname)=>xstring_to_solix
|
||||
exporting
|
||||
iv_xstring = e_file
|
||||
receiving
|
||||
et_solix = et_file.
|
||||
e_bytecount = xstrlen( e_file ).
|
||||
else.
|
||||
" Convert to binary
|
||||
call function 'SCMS_XSTRING_TO_BINARY'
|
||||
exporting
|
||||
buffer = e_file
|
||||
importing
|
||||
output_length = e_bytecount
|
||||
tables
|
||||
binary_tab = et_file.
|
||||
endif.
|
||||
endif.
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="OPEN_FILE" VERSION="1" LANGU="E" DESCRIPT="Open excel file" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<source>method OPEN_FILE.
|
||||
data: l_bytecount type i,
|
||||
lt_file type solix_tab,
|
||||
l_dir type string,
|
||||
l_sep type c.
|
||||
|
||||
field-symbols: <fs_data> type any table.
|
||||
|
||||
assign wo_data->* to <fs_data>.
|
||||
|
||||
* catch zcx_excel .
|
||||
*endtry.
|
||||
if wo_excel is bound.
|
||||
get_file( importing e_bytecount = l_bytecount
|
||||
et_file = lt_file ) .
|
||||
|
||||
l_dir = create_path( ) .
|
||||
|
||||
cl_gui_frontend_services=>gui_download( exporting bin_filesize = l_bytecount
|
||||
filename = l_dir
|
||||
filetype = 'BIN'
|
||||
changing data_tab = lt_file ).
|
||||
cl_gui_frontend_services=>execute(
|
||||
exporting
|
||||
document = l_dir
|
||||
* application =
|
||||
* parameter =
|
||||
* default_directory =
|
||||
* maximized =
|
||||
* minimized =
|
||||
* synchronous =
|
||||
* operation = 'OPEN'
|
||||
exceptions
|
||||
cntl_error = 1
|
||||
error_no_gui = 2
|
||||
bad_parameter = 3
|
||||
file_not_found = 4
|
||||
path_not_found = 5
|
||||
file_extension_unknown = 6
|
||||
error_execute_failed = 7
|
||||
synchronous_failed = 8
|
||||
not_supported_by_gui = 9
|
||||
).
|
||||
if sy-subrc <> 0.
|
||||
message id sy-msgid type sy-msgty number sy-msgno
|
||||
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
|
||||
endif.
|
||||
|
||||
endif.
|
||||
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="SET_FIELDCATALOG" VERSION="1" LANGU="E" DESCRIPT="Set fieldcatalog from table" EXPOSURE="0" STATE="1" EDITORDER="12 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<source>method SET_FIELDCATALOG.
|
||||
data: lt_fieldcat type zexcel_t_fieldcatalog,
|
||||
ls_fieldcat type zexcel_s_fieldcatalog,
|
||||
ls_fcat type zexcel_s_converter_fcat.
|
||||
|
||||
|
||||
field-symbols: <fs_tab> type any table.
|
||||
|
||||
assign wo_data->* to <fs_tab> .
|
||||
|
||||
lt_fieldcat = zcl_excel_common=>get_fieldcatalog( ip_table = <fs_tab> ).
|
||||
|
||||
loop at lt_fieldcat into ls_fieldcat.
|
||||
move-corresponding ls_fieldcat to ls_fcat.
|
||||
insert ls_fcat into table wt_fieldcatalog.
|
||||
endloop.
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="WRITE_FILE" VERSION="1" LANGU="E" DESCRIPT="Write excel file" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_CONVERTER" CMPNAME="WRITE_FILE" SCONAME="I_PATH" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
|
||||
<source>method WRITE_FILE.
|
||||
data: l_bytecount type i,
|
||||
lt_file type solix_tab,
|
||||
l_dir type string.
|
||||
|
||||
field-symbols: <fs_data> type any table.
|
||||
|
||||
assign wo_data->* to <fs_data>.
|
||||
|
||||
* catch zcx_excel .
|
||||
*endtry.
|
||||
if wo_excel is bound.
|
||||
get_file( importing e_bytecount = l_bytecount
|
||||
et_file = lt_file ) .
|
||||
if i_path is initial.
|
||||
l_dir = create_path( ) .
|
||||
else.
|
||||
l_dir = i_path.
|
||||
endif.
|
||||
cl_gui_frontend_services=>gui_download( exporting bin_filesize = l_bytecount
|
||||
filename = l_dir
|
||||
filetype = 'BIN'
|
||||
changing data_tab = lt_file ).
|
||||
endif.
|
||||
endmethod.</source>
|
||||
</method>
|
||||
</CLAS>
|
208
ZA2X/CLAS/ZCL_EXCEL_CONVERTER_ALV_GRID.slnk
Normal file
208
ZA2X/CLAS/ZCL_EXCEL_CONVERTER_ALV_GRID.slnk
Normal file
|
@ -0,0 +1,208 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<CLAS CLSNAME="ZCL_EXCEL_CONVERTER_ALV_GRID" VERSION="1" LANGU="E" DESCRIPT="SALV converter" UUID="4F037FA9DF490087E1008000C008015A" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="RTURNHEIM" CREATEDON="20120106" CHANGEDBY="FEMIA" CHANGEDON="20120120" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="702" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
|
||||
<implementing CLSNAME="ZCL_EXCEL_CONVERTER_ALV_GRID" REFCLSNAME="ZIF_EXCEL_CONVERTER" VERSION="1" EXPOSURE="2" STATE="1" AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" RELTYPE="1" EDITORDER="0 "/>
|
||||
<publicSection>class ZCL_EXCEL_CONVERTER_ALV_GRID definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER_ALV_GRID
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
|
||||
interfaces ZIF_EXCEL_CONVERTER .
|
||||
|
||||
aliases CAN_CONVERT_OBJECT
|
||||
for ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT .
|
||||
aliases CREATE_FIELDCATALOG
|
||||
for ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG .</publicSection>
|
||||
<protectedSection>*"* protected components of class ZCL_EXCEL_CONVERTER_ALV_GRID
|
||||
*"* do not include other source files here!!!
|
||||
protected section.</protectedSection>
|
||||
<privateSection>*"* private components of class ZCL_EXCEL_CONVERTER_ALV_GRID
|
||||
*"* do not include other source files here!!!
|
||||
private section.</privateSection>
|
||||
<localImplementation>*"* local class implementation for public class
|
||||
*"* use this source file for the implementation part of
|
||||
*"* local helper classes</localImplementation>
|
||||
<localTypes>*"* use this source file for any type declarations (class
|
||||
*"* definitions, interfaces or data types) you need for method
|
||||
*"* implementation or private method's signature</localTypes>
|
||||
<localMacros>*"* use this source file for any macro definitions you need
|
||||
*"* in the implementation part of the class</localMacros>
|
||||
<interfaceMethod CLSNAME="ZCL_EXCEL_CONVERTER_ALV_GRID" CPDNAME="ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT">
|
||||
<source>method ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT.
|
||||
data: lo_alv type REF TO cl_gui_alv_grid.
|
||||
|
||||
try.
|
||||
lo_alv ?= io_object.
|
||||
catch cx_sy_move_cast_error .
|
||||
raise exception type zcx_excel.
|
||||
endtry.
|
||||
|
||||
endmethod.</source>
|
||||
</interfaceMethod>
|
||||
<interfaceMethod CLSNAME="ZCL_EXCEL_CONVERTER_ALV_GRID" CPDNAME="ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG">
|
||||
<source>method ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG.
|
||||
data: lo_alv type ref to cl_gui_alv_grid.
|
||||
data: ls_converter_fcat type zexcel_s_converter_fcat,
|
||||
lt_fcat type lvc_t_fcat,
|
||||
ls_fcat type lvc_s_fcat,
|
||||
ls_layout type lvc_s_layo.
|
||||
|
||||
field-symbols: <fs_stable> type any.
|
||||
try.
|
||||
can_convert_object( io_object = io_object ).
|
||||
endtry.
|
||||
|
||||
lo_alv ?= io_object.
|
||||
|
||||
clear: es_layout,
|
||||
et_fieldcatalog.
|
||||
|
||||
if lo_alv is bound.
|
||||
lo_alv->get_frontend_fieldcatalog( importing et_fieldcatalog = lt_fcat ).
|
||||
lo_alv->get_frontend_layout( importing es_layout = ls_layout ).
|
||||
if ls_layout-zebra is not initial.
|
||||
es_layout-is_stripped = abap_true.
|
||||
endif.
|
||||
if ls_layout-no_keyfix is initial or
|
||||
ls_layout-no_keyfix = '0'.
|
||||
es_layout-is_fixed = abap_true.
|
||||
endif.
|
||||
loop at lt_fcat into ls_fcat.
|
||||
clear ls_converter_fcat.
|
||||
if ls_fcat-tech = abap_false.
|
||||
ls_converter_fcat-tabname = ls_fcat-tabname.
|
||||
ls_converter_fcat-fieldname = ls_fcat-fieldname .
|
||||
ls_converter_fcat-columnname = ls_fcat-fieldname .
|
||||
ls_converter_fcat-position = ls_fcat-col_pos.
|
||||
ls_converter_fcat-inttype = ls_fcat-inttype.
|
||||
ls_converter_fcat-scrtext_s = ls_fcat-scrtext_s .
|
||||
ls_converter_fcat-scrtext_m = ls_fcat-scrtext_m .
|
||||
ls_converter_fcat-scrtext_l = ls_fcat-scrtext_l.
|
||||
if ls_fcat-do_sum is not initial.
|
||||
ls_converter_fcat-totals_function = zcl_excel_table=>totals_function_sum.
|
||||
endif.
|
||||
ls_converter_fcat-fix_column = ls_fcat-fix_column.
|
||||
if ls_layout-cwidth_opt is initial.
|
||||
if ls_fcat-col_opt is not initial.
|
||||
ls_converter_fcat-is_optimized = abap_true.
|
||||
endif.
|
||||
else.
|
||||
ls_converter_fcat-is_optimized = abap_true.
|
||||
endif.
|
||||
if ls_fcat-no_out is not initial.
|
||||
clear ls_converter_fcat-is_visible.
|
||||
else.
|
||||
ls_converter_fcat-is_visible = abap_true.
|
||||
endif.
|
||||
case ls_fcat-just.
|
||||
when 'R'.
|
||||
ls_converter_fcat-alignment = zcl_excel_style_alignment=>c_horizontal_right.
|
||||
when 'L'.
|
||||
ls_converter_fcat-alignment = zcl_excel_style_alignment=>c_horizontal_left.
|
||||
when 'C'.
|
||||
ls_converter_fcat-alignment = zcl_excel_style_alignment=>c_horizontal_center.
|
||||
when others.
|
||||
clear ls_converter_fcat-alignment.
|
||||
endcase.
|
||||
append ls_converter_fcat to et_fieldcatalog.
|
||||
endif.
|
||||
endloop.
|
||||
endif.
|
||||
|
||||
endmethod.</source>
|
||||
</interfaceMethod>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER_ALV_GRID" CMPNAME="CAN_CONVERT_OBJECT" VERSION="1" LANGU="E" ALIAS="X" EXPOSURE="2" STATE="1" EDITORDER="0 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" REFCLSNAME="ZIF_EXCEL_CONVERTER" REFCMPNAME="CAN_CONVERT_OBJECT" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter VERSION="0" CMPTYPE="0" MTDTYPE="0" EDITORDER="0 " DISPID="0 " CREATEDON="00000000" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="0"/>
|
||||
<exception CLSNAME="ZIF_EXCEL_CONVERTER" CMPNAME="CAN_CONVERT_OBJECT" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDON="00000000"/>
|
||||
<source>method ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT.
|
||||
data: lo_alv type REF TO cl_gui_alv_grid.
|
||||
|
||||
try.
|
||||
lo_alv ?= io_object.
|
||||
catch cx_sy_move_cast_error .
|
||||
raise exception type zcx_excel.
|
||||
endtry.
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER_ALV_GRID" CMPNAME="CREATE_FIELDCATALOG" VERSION="1" LANGU="E" ALIAS="X" EXPOSURE="2" STATE="1" EDITORDER="0 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" REFCLSNAME="ZIF_EXCEL_CONVERTER" REFCMPNAME="CREATE_FIELDCATALOG" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter VERSION="0" CMPTYPE="0" MTDTYPE="0" EDITORDER="0 " DISPID="0 " CREATEDON="00000000" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="0"/>
|
||||
<parameter VERSION="0" CMPTYPE="0" MTDTYPE="0" EDITORDER="0 " DISPID="0 " CREATEDON="00000000" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="0"/>
|
||||
<parameter VERSION="0" CMPTYPE="0" MTDTYPE="0" EDITORDER="0 " DISPID="0 " CREATEDON="00000000" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="0"/>
|
||||
<parameter VERSION="0" CMPTYPE="0" MTDTYPE="0" EDITORDER="0 " DISPID="0 " CREATEDON="00000000" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="0"/>
|
||||
<exception CLSNAME="ZIF_EXCEL_CONVERTER" CMPNAME="CREATE_FIELDCATALOG" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDON="00000000"/>
|
||||
<source>method ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG.
|
||||
data: lo_alv type ref to cl_gui_alv_grid.
|
||||
data: ls_converter_fcat type zexcel_s_converter_fcat,
|
||||
lt_fcat type lvc_t_fcat,
|
||||
ls_fcat type lvc_s_fcat,
|
||||
ls_layout type lvc_s_layo.
|
||||
|
||||
field-symbols: <fs_stable> type any.
|
||||
try.
|
||||
can_convert_object( io_object = io_object ).
|
||||
endtry.
|
||||
|
||||
lo_alv ?= io_object.
|
||||
|
||||
clear: es_layout,
|
||||
et_fieldcatalog.
|
||||
|
||||
if lo_alv is bound.
|
||||
lo_alv->get_frontend_fieldcatalog( importing et_fieldcatalog = lt_fcat ).
|
||||
lo_alv->get_frontend_layout( importing es_layout = ls_layout ).
|
||||
if ls_layout-zebra is not initial.
|
||||
es_layout-is_stripped = abap_true.
|
||||
endif.
|
||||
if ls_layout-no_keyfix is initial or
|
||||
ls_layout-no_keyfix = '0'.
|
||||
es_layout-is_fixed = abap_true.
|
||||
endif.
|
||||
loop at lt_fcat into ls_fcat.
|
||||
clear ls_converter_fcat.
|
||||
if ls_fcat-tech = abap_false.
|
||||
ls_converter_fcat-tabname = ls_fcat-tabname.
|
||||
ls_converter_fcat-fieldname = ls_fcat-fieldname .
|
||||
ls_converter_fcat-columnname = ls_fcat-fieldname .
|
||||
ls_converter_fcat-position = ls_fcat-col_pos.
|
||||
ls_converter_fcat-inttype = ls_fcat-inttype.
|
||||
ls_converter_fcat-scrtext_s = ls_fcat-scrtext_s .
|
||||
ls_converter_fcat-scrtext_m = ls_fcat-scrtext_m .
|
||||
ls_converter_fcat-scrtext_l = ls_fcat-scrtext_l.
|
||||
if ls_fcat-do_sum is not initial.
|
||||
ls_converter_fcat-totals_function = zcl_excel_table=>totals_function_sum.
|
||||
endif.
|
||||
ls_converter_fcat-fix_column = ls_fcat-fix_column.
|
||||
if ls_layout-cwidth_opt is initial.
|
||||
if ls_fcat-col_opt is not initial.
|
||||
ls_converter_fcat-is_optimized = abap_true.
|
||||
endif.
|
||||
else.
|
||||
ls_converter_fcat-is_optimized = abap_true.
|
||||
endif.
|
||||
if ls_fcat-no_out is not initial.
|
||||
clear ls_converter_fcat-is_visible.
|
||||
else.
|
||||
ls_converter_fcat-is_visible = abap_true.
|
||||
endif.
|
||||
case ls_fcat-just.
|
||||
when 'R'.
|
||||
ls_converter_fcat-alignment = zcl_excel_style_alignment=>c_horizontal_right.
|
||||
when 'L'.
|
||||
ls_converter_fcat-alignment = zcl_excel_style_alignment=>c_horizontal_left.
|
||||
when 'C'.
|
||||
ls_converter_fcat-alignment = zcl_excel_style_alignment=>c_horizontal_center.
|
||||
when others.
|
||||
clear ls_converter_fcat-alignment.
|
||||
endcase.
|
||||
append ls_converter_fcat to et_fieldcatalog.
|
||||
endif.
|
||||
endloop.
|
||||
endif.
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
</CLAS>
|
286
ZA2X/CLAS/ZCL_EXCEL_CONVERTER_SALV_TABLE.slnk
Normal file
286
ZA2X/CLAS/ZCL_EXCEL_CONVERTER_SALV_TABLE.slnk
Normal file
|
@ -0,0 +1,286 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<CLAS CLSNAME="ZCL_EXCEL_CONVERTER_SALV_TABLE" VERSION="1" LANGU="E" DESCRIPT="SALV converter" UUID="4F03DFB5DA5D00BFE1008000C008015A" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="RTURNHEIM" CREATEDON="20120106" CHANGEDBY="FEMIA" CHANGEDON="20120120" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="702" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
|
||||
<implementing CLSNAME="ZCL_EXCEL_CONVERTER_SALV_TABLE" REFCLSNAME="ZIF_EXCEL_CONVERTER" VERSION="1" EXPOSURE="2" STATE="1" AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" RELTYPE="1" EDITORDER="0 "/>
|
||||
<publicSection>class ZCL_EXCEL_CONVERTER_SALV_TABLE definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
|
||||
interfaces ZIF_EXCEL_CONVERTER .
|
||||
|
||||
aliases CAN_CONVERT_OBJECT
|
||||
for ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT .
|
||||
aliases CREATE_FIELDCATALOG
|
||||
for ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG .</publicSection>
|
||||
<protectedSection>*"* protected components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
|
||||
*"* do not include other source files here!!!
|
||||
protected section.</protectedSection>
|
||||
<privateSection>*"* private components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
|
||||
*"* do not include other source files here!!!
|
||||
private section.</privateSection>
|
||||
<localImplementation>*"* local class implementation for public class
|
||||
*"* use this source file for the implementation part of
|
||||
*"* local helper classes</localImplementation>
|
||||
<localTypes>*"* use this source file for any type declarations (class
|
||||
*"* definitions, interfaces or data types) you need for method
|
||||
*"* implementation or private method's signature</localTypes>
|
||||
<localMacros>*"* use this source file for any macro definitions you need
|
||||
*"* in the implementation part of the class</localMacros>
|
||||
<interfaceMethod CLSNAME="ZCL_EXCEL_CONVERTER_SALV_TABLE" CPDNAME="ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT">
|
||||
<source>method ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT.
|
||||
data: lo_salv type ref to cl_salv_table.
|
||||
|
||||
try.
|
||||
lo_salv ?= io_object.
|
||||
catch cx_sy_move_cast_error .
|
||||
raise exception type zcx_excel.
|
||||
endtry.
|
||||
|
||||
endmethod.</source>
|
||||
</interfaceMethod>
|
||||
<interfaceMethod CLSNAME="ZCL_EXCEL_CONVERTER_SALV_TABLE" CPDNAME="ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG">
|
||||
<source>method ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG.
|
||||
data: lo_salv type ref to cl_salv_table.
|
||||
|
||||
data: lo_columns type ref to cl_salv_columns_table,
|
||||
lo_column type ref to cl_salv_column_table,
|
||||
lo_aggregations type ref to cl_salv_aggregations,
|
||||
lo_aggregation type ref to cl_salv_aggregation,
|
||||
lo_sorts type ref to cl_salv_sorts,
|
||||
lo_sort type ref to cl_salv_sort,
|
||||
lo_display type ref to cl_salv_display_settings,
|
||||
l_agre type salv_de_aggregation,
|
||||
lt_column type salv_t_column_ref,
|
||||
ls_column type salv_s_column_ref,
|
||||
ls_fieldcatalog type zexcel_s_converter_fcat,
|
||||
ls_ref type salv_s_ddic_reference,
|
||||
l_alignment type salv_de_alignment,
|
||||
l_fix type sap_bool,
|
||||
l_optimized type sap_bool.
|
||||
|
||||
field-symbols: <fs_stable> type any.
|
||||
try.
|
||||
can_convert_object( io_object = io_object ).
|
||||
endtry.
|
||||
|
||||
lo_salv ?= io_object.
|
||||
|
||||
clear: es_layout,
|
||||
et_fieldcatalog.
|
||||
|
||||
if lo_salv is bound.
|
||||
lo_columns = lo_salv->get_columns( ).
|
||||
lt_column = lo_columns->get( ) .
|
||||
lo_aggregations = lo_salv->get_aggregations( ) .
|
||||
lo_display = lo_salv->get_display_settings( ) .
|
||||
es_layout-is_stripped = lo_display->is_striped_pattern( ) .
|
||||
l_optimized = lo_columns->is_optimized( ).
|
||||
loop at lt_column into ls_column.
|
||||
clear ls_fieldcatalog.
|
||||
if ls_column-r_column->is_technical( ) = abap_false.
|
||||
try.
|
||||
lo_column ?= lo_columns->get_column( columnname = ls_column-columnname ).
|
||||
catch cx_salv_not_found.
|
||||
raise exception type zcx_excel.
|
||||
endtry.
|
||||
ls_ref = ls_column-r_column->get_ddic_reference( ).
|
||||
ls_fieldcatalog-tabname = ls_ref-table.
|
||||
ls_fieldcatalog-fieldname = ls_ref-field.
|
||||
ls_fieldcatalog-columnname = ls_column-columnname.
|
||||
try.
|
||||
ls_fieldcatalog-position = lo_columns->get_column_position( columnname = ls_column-columnname ).
|
||||
catch cx_salv_not_found.
|
||||
raise exception type zcx_excel.
|
||||
endtry.
|
||||
ls_fieldcatalog-inttype = ls_column-r_column->get_ddic_inttype( ).
|
||||
ls_fieldcatalog-scrtext_s = ls_column-r_column->get_short_text( ) .
|
||||
ls_fieldcatalog-scrtext_m = ls_column-r_column->get_medium_text( ) .
|
||||
ls_fieldcatalog-scrtext_l = ls_column-r_column->get_long_text( ).
|
||||
try.
|
||||
lo_aggregation = lo_aggregations->get_aggregation( columnname = ls_column-columnname ) .
|
||||
catch cx_salv_not_found.
|
||||
clear lo_aggregation.
|
||||
endtry.
|
||||
if lo_aggregation is bound.
|
||||
l_agre = lo_aggregation->get( ).
|
||||
case l_agre.
|
||||
when if_salv_c_aggregation=>total. " Total
|
||||
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_sum.
|
||||
when if_salv_c_aggregation=>minimum. " Minimum
|
||||
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_min.
|
||||
when if_salv_c_aggregation=>maximum. " Maximum
|
||||
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_max.
|
||||
when if_salv_c_aggregation=>average. " Mean Value
|
||||
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_average.
|
||||
when others.
|
||||
clear ls_fieldcatalog-totals_function.
|
||||
endcase.
|
||||
endif.
|
||||
ls_fieldcatalog-is_visible = ls_column-r_column->is_visible( ).
|
||||
ls_fieldcatalog-fix_column = lo_column->is_key( ).
|
||||
l_fix = lo_column->is_key_presence_required( ).
|
||||
|
||||
if l_optimized = '1' or l_optimized = abap_true.
|
||||
ls_fieldcatalog-is_optimized = abap_true.
|
||||
else.
|
||||
l_optimized = ls_column-r_column->is_optimized( ).
|
||||
if l_optimized = '1' or l_optimized = abap_true.
|
||||
ls_fieldcatalog-is_optimized = abap_true.
|
||||
endif.
|
||||
endif.
|
||||
l_alignment = ls_column-r_column->get_alignment( ) .
|
||||
case l_alignment.
|
||||
when if_salv_c_alignment=>left. " Align left
|
||||
ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_left.
|
||||
when if_salv_c_alignment=>right. " Align right
|
||||
ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_right.
|
||||
when if_salv_c_alignment=>centered. " Centered
|
||||
ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_center.
|
||||
when others.
|
||||
clear ls_fieldcatalog-alignment.
|
||||
endcase.
|
||||
append ls_fieldcatalog to et_fieldcatalog.
|
||||
endif.
|
||||
endloop.
|
||||
if l_fix is not initial.
|
||||
es_layout-is_fixed = abap_true.
|
||||
endif.
|
||||
endif.
|
||||
|
||||
endmethod.</source>
|
||||
</interfaceMethod>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER_SALV_TABLE" CMPNAME="CAN_CONVERT_OBJECT" VERSION="1" LANGU="E" ALIAS="X" EXPOSURE="2" STATE="1" EDITORDER="0 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" REFCLSNAME="ZIF_EXCEL_CONVERTER" REFCMPNAME="CAN_CONVERT_OBJECT" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter VERSION="0" CMPTYPE="0" MTDTYPE="0" EDITORDER="0 " DISPID="0 " CREATEDON="00000000" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="0"/>
|
||||
<exception CLSNAME="ZIF_EXCEL_CONVERTER" CMPNAME="CAN_CONVERT_OBJECT" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDON="00000000"/>
|
||||
<source>method ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT.
|
||||
data: lo_salv type ref to cl_salv_table.
|
||||
|
||||
try.
|
||||
lo_salv ?= io_object.
|
||||
catch cx_sy_move_cast_error .
|
||||
raise exception type zcx_excel.
|
||||
endtry.
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_CONVERTER_SALV_TABLE" CMPNAME="CREATE_FIELDCATALOG" VERSION="1" LANGU="E" ALIAS="X" EXPOSURE="2" STATE="1" EDITORDER="0 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDBY="FEMIA" CHANGEDON="20120120" MTDTYPE="0" MTDDECLTYP="0" REFCLSNAME="ZIF_EXCEL_CONVERTER" REFCMPNAME="CREATE_FIELDCATALOG" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter VERSION="0" CMPTYPE="0" MTDTYPE="0" EDITORDER="0 " DISPID="0 " CREATEDON="00000000" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="0"/>
|
||||
<parameter VERSION="0" CMPTYPE="0" MTDTYPE="0" EDITORDER="0 " DISPID="0 " CREATEDON="00000000" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="0"/>
|
||||
<parameter VERSION="0" CMPTYPE="0" MTDTYPE="0" EDITORDER="0 " DISPID="0 " CREATEDON="00000000" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="0"/>
|
||||
<parameter VERSION="0" CMPTYPE="0" MTDTYPE="0" EDITORDER="0 " DISPID="0 " CREATEDON="00000000" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="0"/>
|
||||
<exception CLSNAME="ZIF_EXCEL_CONVERTER" CMPNAME="CREATE_FIELDCATALOG" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDON="00000000"/>
|
||||
<source>method ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG.
|
||||
data: lo_salv type ref to cl_salv_table.
|
||||
|
||||
data: lo_columns type ref to cl_salv_columns_table,
|
||||
lo_column type ref to cl_salv_column_table,
|
||||
lo_aggregations type ref to cl_salv_aggregations,
|
||||
lo_aggregation type ref to cl_salv_aggregation,
|
||||
lo_sorts type ref to cl_salv_sorts,
|
||||
lo_sort type ref to cl_salv_sort,
|
||||
lo_display type ref to cl_salv_display_settings,
|
||||
l_agre type salv_de_aggregation,
|
||||
lt_column type salv_t_column_ref,
|
||||
ls_column type salv_s_column_ref,
|
||||
ls_fieldcatalog type zexcel_s_converter_fcat,
|
||||
ls_ref type salv_s_ddic_reference,
|
||||
l_alignment type salv_de_alignment,
|
||||
l_fix type sap_bool,
|
||||
l_optimized type sap_bool.
|
||||
|
||||
field-symbols: <fs_stable> type any.
|
||||
try.
|
||||
can_convert_object( io_object = io_object ).
|
||||
endtry.
|
||||
|
||||
lo_salv ?= io_object.
|
||||
|
||||
clear: es_layout,
|
||||
et_fieldcatalog.
|
||||
|
||||
if lo_salv is bound.
|
||||
lo_columns = lo_salv->get_columns( ).
|
||||
lt_column = lo_columns->get( ) .
|
||||
lo_aggregations = lo_salv->get_aggregations( ) .
|
||||
lo_display = lo_salv->get_display_settings( ) .
|
||||
es_layout-is_stripped = lo_display->is_striped_pattern( ) .
|
||||
l_optimized = lo_columns->is_optimized( ).
|
||||
loop at lt_column into ls_column.
|
||||
clear ls_fieldcatalog.
|
||||
if ls_column-r_column->is_technical( ) = abap_false.
|
||||
try.
|
||||
lo_column ?= lo_columns->get_column( columnname = ls_column-columnname ).
|
||||
catch cx_salv_not_found.
|
||||
raise exception type zcx_excel.
|
||||
endtry.
|
||||
ls_ref = ls_column-r_column->get_ddic_reference( ).
|
||||
ls_fieldcatalog-tabname = ls_ref-table.
|
||||
ls_fieldcatalog-fieldname = ls_ref-field.
|
||||
ls_fieldcatalog-columnname = ls_column-columnname.
|
||||
try.
|
||||
ls_fieldcatalog-position = lo_columns->get_column_position( columnname = ls_column-columnname ).
|
||||
catch cx_salv_not_found.
|
||||
raise exception type zcx_excel.
|
||||
endtry.
|
||||
ls_fieldcatalog-inttype = ls_column-r_column->get_ddic_inttype( ).
|
||||
ls_fieldcatalog-scrtext_s = ls_column-r_column->get_short_text( ) .
|
||||
ls_fieldcatalog-scrtext_m = ls_column-r_column->get_medium_text( ) .
|
||||
ls_fieldcatalog-scrtext_l = ls_column-r_column->get_long_text( ).
|
||||
try.
|
||||
lo_aggregation = lo_aggregations->get_aggregation( columnname = ls_column-columnname ) .
|
||||
catch cx_salv_not_found.
|
||||
clear lo_aggregation.
|
||||
endtry.
|
||||
if lo_aggregation is bound.
|
||||
l_agre = lo_aggregation->get( ).
|
||||
case l_agre.
|
||||
when if_salv_c_aggregation=>total. " Total
|
||||
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_sum.
|
||||
when if_salv_c_aggregation=>minimum. " Minimum
|
||||
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_min.
|
||||
when if_salv_c_aggregation=>maximum. " Maximum
|
||||
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_max.
|
||||
when if_salv_c_aggregation=>average. " Mean Value
|
||||
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_average.
|
||||
when others.
|
||||
clear ls_fieldcatalog-totals_function.
|
||||
endcase.
|
||||
endif.
|
||||
ls_fieldcatalog-is_visible = ls_column-r_column->is_visible( ).
|
||||
ls_fieldcatalog-fix_column = lo_column->is_key( ).
|
||||
l_fix = lo_column->is_key_presence_required( ).
|
||||
|
||||
if l_optimized = '1' or l_optimized = abap_true.
|
||||
ls_fieldcatalog-is_optimized = abap_true.
|
||||
else.
|
||||
l_optimized = ls_column-r_column->is_optimized( ).
|
||||
if l_optimized = '1' or l_optimized = abap_true.
|
||||
ls_fieldcatalog-is_optimized = abap_true.
|
||||
endif.
|
||||
endif.
|
||||
l_alignment = ls_column-r_column->get_alignment( ) .
|
||||
case l_alignment.
|
||||
when if_salv_c_alignment=>left. " Align left
|
||||
ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_left.
|
||||
when if_salv_c_alignment=>right. " Align right
|
||||
ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_right.
|
||||
when if_salv_c_alignment=>centered. " Centered
|
||||
ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_center.
|
||||
when others.
|
||||
clear ls_fieldcatalog-alignment.
|
||||
endcase.
|
||||
append ls_fieldcatalog to et_fieldcatalog.
|
||||
endif.
|
||||
endloop.
|
||||
if l_fix is not initial.
|
||||
es_layout-is_fixed = abap_true.
|
||||
endif.
|
||||
endif.
|
||||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
</CLAS>
|
File diff suppressed because it is too large
Load Diff
14
ZA2X/INTF/ZIF_EXCEL_CONVERTER.slnk
Normal file
14
ZA2X/INTF/ZIF_EXCEL_CONVERTER.slnk
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<INTF CLSNAME="ZIF_EXCEL_CONVERTER" VERSION="1" LANGU="E" DESCRIPT="Converter Interface" UUID="0202322174CD1EE190F48086DDFC58B2" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="RTURNHEIM" CREATEDON="20120102" CHANGEDON="00000000" CHGDANYON="00000000" UNICODE="X" R3RELEASE="702">
|
||||
<method CLSNAME="ZIF_EXCEL_CONVERTER" CMPNAME="CAN_CONVERT_OBJECT" VERSION="1" LANGU="E" DESCRIPT="Can the object be handled?" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZIF_EXCEL_CONVERTER" CMPNAME="CAN_CONVERT_OBJECT" SCONAME="IO_OBJECT" VERSION="1" LANGU="E" DESCRIPT="ALV object" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="OBJECT"/>
|
||||
<exception CLSNAME="ZIF_EXCEL_CONVERTER" CMPNAME="CAN_CONVERT_OBJECT" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDON="00000000"/>
|
||||
</method>
|
||||
<method CLSNAME="ZIF_EXCEL_CONVERTER" CMPNAME="CREATE_FIELDCATALOG" VERSION="1" LANGU="E" DESCRIPT="Create FIELDCATALOG for table" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZIF_EXCEL_CONVERTER" CMPNAME="CREATE_FIELDCATALOG" SCONAME="IO_OBJECT" VERSION="1" LANGU="E" DESCRIPT="ALV object" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="OBJECT"/>
|
||||
<parameter CLSNAME="ZIF_EXCEL_CONVERTER" CMPNAME="CREATE_FIELDCATALOG" SCONAME="IT_TABLE" VERSION="1" LANGU="E" DESCRIPT="ALV data table" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STANDARD TABLE"/>
|
||||
<parameter CLSNAME="ZIF_EXCEL_CONVERTER" CMPNAME="CREATE_FIELDCATALOG" SCONAME="ES_LAYOUT" VERSION="1" LANGU="E" DESCRIPT="Converter settings for table" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDON="00000000" PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_S_CONVERTER_LAYO"/>
|
||||
<parameter CLSNAME="ZIF_EXCEL_CONVERTER" CMPNAME="CREATE_FIELDCATALOG" SCONAME="ET_FIELDCATALOG" VERSION="1" LANGU="E" DESCRIPT="Conter table for tabel fields" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDON="00000000" PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_T_CONVERTER_FCAT"/>
|
||||
<exception CLSNAME="ZIF_EXCEL_CONVERTER" CMPNAME="CREATE_FIELDCATALOG" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20120120" CHANGEDON="00000000"/>
|
||||
</method>
|
||||
</INTF>
|
|
@ -1,75 +1,75 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<PROG NAME="ZDEMO_EXCEL" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100817" UNAM="DEVELOPER" UDAT="20120103" VERN="000054" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20120103" STIME="183556" IDATE="20120103" ITIME="183556" UCCHECK="X">
|
||||
<textPool>
|
||||
<language SPRAS="E">
|
||||
<textElement ID="R" ENTRY="Run all ABAP2XLSX Demo Programs" LENGTH="31 "/>
|
||||
<textElement ID="S" KEY="P_PATH" ENTRY=" Select output path" LENGTH="26 "/>
|
||||
</language>
|
||||
</textPool>
|
||||
<source>*&---------------------------------------------------------------------*
|
||||
*& Report ZDEMO_EXCEL
|
||||
*&
|
||||
*&---------------------------------------------------------------------*
|
||||
*&
|
||||
*&
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
REPORT zdemo_excel.
|
||||
|
||||
DATA: lv_workdir TYPE string.
|
||||
|
||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||
|
||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||
lv_workdir = p_path.
|
||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||
CHANGING selected_folder = lv_workdir ).
|
||||
p_path = lv_workdir.
|
||||
INITIALIZATION.
|
||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||
cl_gui_cfw=>flush( ).
|
||||
p_path = lv_workdir.
|
||||
|
||||
START-OF-SELECTION.
|
||||
|
||||
IF p_path IS INITIAL.
|
||||
p_path = lv_workdir.
|
||||
ENDIF.
|
||||
|
||||
SUBMIT zdemo_excel1 WITH p_path = p_path AND RETURN. " Hello world
|
||||
SUBMIT zdemo_excel2 WITH p_path = p_path AND RETURN. " Styles
|
||||
SUBMIT zdemo_excel3 WITH p_path = p_path AND RETURN. " iTab binding
|
||||
SUBMIT zdemo_excel4 WITH p_path = p_path AND RETURN. " Multi sheets, page setup and sheet properties
|
||||
SUBMIT zdemo_excel5 WITH p_path = p_path AND RETURN. " Conditional formatting
|
||||
SUBMIT zdemo_excel6 WITH p_path = p_path AND RETURN. " Formulas
|
||||
SUBMIT zdemo_excel7 WITH p_path = p_path AND RETURN. " Conditional formatting
|
||||
SUBMIT zdemo_excel8 WITH p_path = p_path AND RETURN. " Ranges
|
||||
SUBMIT zdemo_excel9 WITH p_path = p_path AND RETURN. " Data validation
|
||||
SUBMIT zdemo_excel10 WITH p_path = p_path AND RETURN. " Bind table with field catalog
|
||||
" zdemo_excel11 is not added because it has a selection screen and
|
||||
" you also need to have business partners maintained in transaction BP
|
||||
SUBMIT zdemo_excel12 WITH p_path = p_path AND RETURN. " Column size
|
||||
SUBMIT zdemo_excel13 WITH p_path = p_path AND RETURN. " Merge cell
|
||||
SUBMIT zdemo_excel14 WITH p_path = p_path AND RETURN. " Alignment
|
||||
SUBMIT zdemo_excel16 WITH p_path = p_path AND RETURN. " Drawing
|
||||
SUBMIT zdemo_excel17 WITH p_path = p_path AND RETURN. " Lock sheet
|
||||
SUBMIT zdemo_excel18 WITH p_path = p_path AND RETURN. " Lock workbook
|
||||
SUBMIT zdemo_excel19 WITH p_path = p_path AND RETURN. " Set active sheet
|
||||
" zdemo_excel20 is not added because it uses ALV and cannot be processed
|
||||
SUBMIT zdemo_excel21 WITH p_path = p_path AND RETURN. " Color Picker
|
||||
SUBMIT zdemo_excel22 WITH p_path = p_path AND RETURN. " Bind table with field catalog & sheet style
|
||||
SUBMIT zdemo_excel23 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: Multiple sheets with and w/o grid lines, print options
|
||||
SUBMIT zdemo_excel24 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: Multiple sheets with different default date formats
|
||||
SUBMIT zdemo_excel25 AND RETURN. " abap2xlsx Demo: Create and xlsx on Application Server (could be executed in batch mode)
|
||||
SUBMIT zdemo_excel26 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: Reader demo
|
||||
SUBMIT zdemo_excel27 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: Conditional Formatting
|
||||
SUBMIT zdemo_excel28 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: CSV writer
|
||||
" SUBMIT zdemo_excel29 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: Macro enabled workbook
|
||||
SUBMIT zdemo_excel30 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: ABAP Cell data types
|
||||
SUBMIT zdemo_excel31 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: Autosize Column with different Font sizes
|
||||
"
|
||||
" Reader/Writer Demo must always run at the end
|
||||
" to make sure all documents where created
|
||||
"
|
||||
SUBMIT zdemo_excel15 WITH p_path = p_path AND RETURN. " Read Excel and write it back</source>
|
||||
</PROG>
|
||||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<PROG NAME="ZDEMO_EXCEL" VARCL="X" SUBC="1" CNAM="BCUSER" CDAT="20100817" UNAM="FEMIA" UDAT="20120120" VERN="000057" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20120120" STIME="210140" IDATE="20120120" ITIME="210140" UCCHECK="X">
|
||||
<textPool>
|
||||
<language SPRAS="E">
|
||||
<textElement ID="R" ENTRY="Run all ABAP2XLSX Demo Programs" LENGTH="31 "/>
|
||||
<textElement ID="S" KEY="P_PATH" ENTRY=" Select output path" LENGTH="26 "/>
|
||||
</language>
|
||||
</textPool>
|
||||
<source>*&---------------------------------------------------------------------*
|
||||
*& Report ZDEMO_EXCEL
|
||||
*&
|
||||
*&---------------------------------------------------------------------*
|
||||
*&
|
||||
*&
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
REPORT zdemo_excel.
|
||||
|
||||
DATA: lv_workdir TYPE string.
|
||||
|
||||
PARAMETERS: p_path TYPE zexcel_export_dir.
|
||||
|
||||
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
|
||||
lv_workdir = p_path.
|
||||
cl_gui_frontend_services=>directory_browse( EXPORTING initial_folder = lv_workdir
|
||||
CHANGING selected_folder = lv_workdir ).
|
||||
p_path = lv_workdir.
|
||||
INITIALIZATION.
|
||||
cl_gui_frontend_services=>get_sapgui_workdir( CHANGING sapworkdir = lv_workdir ).
|
||||
cl_gui_cfw=>flush( ).
|
||||
p_path = lv_workdir.
|
||||
|
||||
START-OF-SELECTION.
|
||||
|
||||
IF p_path IS INITIAL.
|
||||
p_path = lv_workdir.
|
||||
ENDIF.
|
||||
|
||||
SUBMIT zdemo_excel1 WITH p_path = p_path AND RETURN. " Hello world
|
||||
SUBMIT zdemo_excel2 WITH p_path = p_path AND RETURN. " Styles
|
||||
SUBMIT zdemo_excel3 WITH p_path = p_path AND RETURN. " iTab binding
|
||||
SUBMIT zdemo_excel4 WITH p_path = p_path AND RETURN. " Multi sheets, page setup and sheet properties
|
||||
SUBMIT zdemo_excel5 WITH p_path = p_path AND RETURN. " Conditional formatting
|
||||
SUBMIT zdemo_excel6 WITH p_path = p_path AND RETURN. " Formulas
|
||||
SUBMIT zdemo_excel7 WITH p_path = p_path AND RETURN. " Conditional formatting
|
||||
SUBMIT zdemo_excel8 WITH p_path = p_path AND RETURN. " Ranges
|
||||
SUBMIT zdemo_excel9 WITH p_path = p_path AND RETURN. " Data validation
|
||||
SUBMIT zdemo_excel10 WITH p_path = p_path AND RETURN. " Bind table with field catalog
|
||||
" zdemo_excel11 is not added because it has a selection screen and
|
||||
" you also need to have business partners maintained in transaction BP
|
||||
SUBMIT zdemo_excel12 WITH p_path = p_path AND RETURN. " Column size
|
||||
SUBMIT zdemo_excel13 WITH p_path = p_path AND RETURN. " Merge cell
|
||||
SUBMIT zdemo_excel14 WITH p_path = p_path AND RETURN. " Alignment
|
||||
SUBMIT zdemo_excel16 WITH p_path = p_path AND RETURN. " Drawing
|
||||
SUBMIT zdemo_excel17 WITH p_path = p_path AND RETURN. " Lock sheet
|
||||
SUBMIT zdemo_excel18 WITH p_path = p_path AND RETURN. " Lock workbook
|
||||
SUBMIT zdemo_excel19 WITH p_path = p_path AND RETURN. " Set active sheet
|
||||
" zdemo_excel20 is not added because it uses ALV and cannot be processed (OLE2)
|
||||
SUBMIT zdemo_excel21 WITH p_path = p_path AND RETURN. " Color Picker
|
||||
SUBMIT zdemo_excel22 WITH p_path = p_path AND RETURN. " Bind table with field catalog & sheet style
|
||||
SUBMIT zdemo_excel23 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: Multiple sheets with and w/o grid lines, print options
|
||||
SUBMIT zdemo_excel24 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: Multiple sheets with different default date formats
|
||||
SUBMIT zdemo_excel25 AND RETURN. " abap2xlsx Demo: Create and xlsx on Application Server (could be executed in batch mode)
|
||||
" zdemo_excel26 is not added because it uses ALV and cannot be processed (Native)
|
||||
SUBMIT zdemo_excel27 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: Conditional Formatting
|
||||
SUBMIT zdemo_excel28 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: CSV writer
|
||||
" SUBMIT zdemo_excel29 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: Macro enabled workbook
|
||||
SUBMIT zdemo_excel30 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: ABAP Cell data types
|
||||
SUBMIT zdemo_excel31 WITH p_path = p_path AND RETURN. " abap2xlsx Demo: Autosize Column with different Font sizes
|
||||
"
|
||||
" Reader/Writer Demo must always run at the end
|
||||
" to make sure all documents where created
|
||||
"
|
||||
SUBMIT zdemo_excel15 WITH p_path = p_path AND RETURN. " Read Excel and write it back</source>
|
||||
</PROG>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<PROG NAME="ZDEMO_EXCEL20" VARCL="X" SUBC="1" CNAM="HUNGHM" CDAT="20101117" UNAM="FEMIA" UDAT="20110528" VERN="000043" RMAND="800" RLOAD="E" FIXPT="X" SDATE="20110528" STIME="181955" IDATE="20110528" ITIME="181955" UCCHECK="X">
|
||||
<PROG NAME="ZDEMO_EXCEL20" VARCL="X" SUBC="1" CNAM="HUNGHM" CDAT="20101117" UNAM="FEMIA" UDAT="20120120" VERN="000045" RMAND="800" RLOAD="E" FIXPT="X" SDATE="20120120" STIME="212455" IDATE="20120120" ITIME="212455" UCCHECK="X">
|
||||
<textPool>
|
||||
<language SPRAS="E">
|
||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Bind ALV" LENGTH="24 "/>
|
||||
|
@ -818,7 +818,7 @@ DATA: l_path TYPE string, " local dir
|
|||
lv_file_separator TYPE c.
|
||||
|
||||
CONSTANTS:
|
||||
lv_default_file_name TYPE string VALUE '20_BindAlv.xlsx'.
|
||||
lv_default_file_name TYPE string VALUE '20_Bind_Alv_Ole2.xlsx'.
|
||||
*--------------------------------------------------------------------*
|
||||
*START-OF-SELECTION
|
||||
*--------------------------------------------------------------------*
|
||||
|
@ -932,7 +932,7 @@ FORM export_to_excel.
|
|||
|
||||
* write to excel using method Bin_ALV
|
||||
|
||||
lo_worksheet->bind_alv(
|
||||
lo_worksheet->bind_alv_ole2(
|
||||
EXPORTING
|
||||
* I_DOCUMENT_URL = SPACE " excel template
|
||||
* I_XLS = 'X' " create in xls format?
|
||||
|
|
|
@ -1,22 +1,375 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<PROG NAME="ZDEMO_EXCEL26" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="DEVELOPER" UDAT="20111223" VERN="000070" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20111223" STIME="123104" IDATE="20111223" ITIME="123104" UCCHECK="X">
|
||||
<textPool>
|
||||
<language SPRAS="E">
|
||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Test Excel Reader (Now in ZDEMO_EXCEL15)" LENGTH="56 "/>
|
||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="24 "/>
|
||||
<textElement ID="S" KEY="P_READER" ENTRY=" Write back after using Reader" LENGTH="37 "/>
|
||||
</language>
|
||||
</textPool>
|
||||
<source>*&---------------------------------------------------------------------*
|
||||
*& Report ZDEMO_EXCEL26
|
||||
*&
|
||||
*&---------------------------------------------------------------------*
|
||||
*&
|
||||
*&
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
REPORT zdemo_excel26.
|
||||
|
||||
* Gregor Wolf, 23.12.2011:
|
||||
* Moved functionality to ZDEMO_EXCEL15</source>
|
||||
</PROG>
|
||||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<PROG NAME="ZDEMO_EXCEL26" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20120120" VERN="000072" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20120120" STIME="205941" IDATE="20120120" ITIME="205941" UCCHECK="X">
|
||||
<textPool>
|
||||
<language SPRAS="E">
|
||||
<textElement ID="R" ENTRY="abap2xlsx Demo: Test Excel Reader (Now in ZDEMO_EXCEL15)" LENGTH="56 "/>
|
||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="24 "/>
|
||||
<textElement ID="S" KEY="P_READER" ENTRY=" Write back after using Reader" LENGTH="37 "/>
|
||||
</language>
|
||||
</textPool>
|
||||
<pfstatus>
|
||||
<pfstatus_sta CODE="ALV_STATUS" MODAL="D" ACTCODE="000001" PFKCODE="000001" BUTCODE="0001" INT_NOTE="Standard for General List Output"/>
|
||||
<pfstatus_fun CODE="%PC" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_EXPORT" ICON_ID="@49@" FUN_TEXT="Local file..."/>
|
||||
<pfstatus_fun CODE="%SC" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_SEARCH" ICON_ID="@13@" FUN_TEXT="Find"/>
|
||||
<pfstatus_fun CODE="%SC+" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_SEARCH_NEXT" ICON_ID="@4E@" FUN_TEXT="Find next"/>
|
||||
<pfstatus_fun CODE="%SL" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Mail recipient"/>
|
||||
<pfstatus_fun CODE="&ABC" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="ABC Analysis"/>
|
||||
<pfstatus_fun CODE="&ALL" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_SELECT_ALL" ICON_ID="@4B@" FUN_TEXT="Select all"/>
|
||||
<pfstatus_fun CODE="&AQW" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Word processing..."/>
|
||||
<pfstatus_fun CODE="&AVE" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_ALV_VARIANT_SAVE" ICON_ID="@DN@" FUN_TEXT="Save layout..."/>
|
||||
<pfstatus_fun CODE="&CRB" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_TOTAL_LEFT" ICON_ID="@0B@" FUN_TEXT="First Column"/>
|
||||
<pfstatus_fun CODE="&CRE" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_TOTAL_RIGHT" ICON_ID="@0C@" FUN_TEXT="Last column"/>
|
||||
<pfstatus_fun CODE="&CRL" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_COLUMN_LEFT" ICON_ID="@0D@" FUN_TEXT="Column left"/>
|
||||
<pfstatus_fun CODE="&CRR" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_COLUMN_RIGHT" ICON_ID="@0E@" FUN_TEXT="Column right"/>
|
||||
<pfstatus_fun CODE="&EB9" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_TABLE_SETTINGS" ICON_ID="@36@" FUN_TEXT="Call Up Report"/>
|
||||
<pfstatus_fun CODE="&ETA" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_SELECT_DETAIL" ICON_ID="@16@" FUN_TEXT="Details"/>
|
||||
<pfstatus_fun CODE="&F03" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Back"/>
|
||||
<pfstatus_fun CODE="&F12" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_CANCEL" ICON_ID="@0W@" FUN_TEXT="Cancel"/>
|
||||
<pfstatus_fun CODE="&F15" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Exit"/>
|
||||
<pfstatus_fun CODE="&IC1" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_SELECT_DETAIL" ICON_ID="@16@" FUN_TEXT="Choose" PATH="S"/>
|
||||
<pfstatus_fun CODE="&ILD" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_FILTER_UNDO" ICON_ID="@GD@" FUN_TEXT="Delete Filter"/>
|
||||
<pfstatus_fun CODE="&ILT" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME=" ICON_FILTER" ICON_ID="@4G@" FUN_TEXT="Set filter"/>
|
||||
<pfstatus_fun CODE="&LFO" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_INFORMATION" ICON_ID="@0S@" FUN_TEXT="List status..."/>
|
||||
<pfstatus_fun CODE="&NFO" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_INFORMATION" ICON_ID="@0S@" FUN_TEXT="Selections..." INFO_TEXT="Selections"/>
|
||||
<pfstatus_fun CODE="&NTE" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Refresh"/>
|
||||
<pfstatus_fun CODE="&OAD" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_ALV_VARIANT_CHOOSE" ICON_ID="@DM@" FUN_TEXT="Select layout..."/>
|
||||
<pfstatus_fun CODE="&ODN" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_SORT_DOWN" ICON_ID="@3F@" FUN_TEXT="Sort in descendin."/>
|
||||
<pfstatus_fun CODE="&OL0" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_ALV_VARIANTS" ICON_ID="@LZ@" FUN_TEXT="Change layout..."/>
|
||||
<pfstatus_fun CODE="&OMP" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Collapse"/>
|
||||
<pfstatus_fun CODE="&OUP" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_SORT_UP" ICON_ID="@3E@" FUN_TEXT="Sort in Ascending..."/>
|
||||
<pfstatus_fun CODE="&RNT" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_PRINT" ICON_ID="@0X@" FUN_TEXT="Print"/>
|
||||
<pfstatus_fun CODE="&RNT_PREV" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Print preview"/>
|
||||
<pfstatus_fun CODE="&SAL" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_DESELECT_ALL" ICON_ID="@4D@" FUN_TEXT="Deselect all"/>
|
||||
<pfstatus_fun CODE="&SUM" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_INTERMEDIATE_SUM" ICON_ID="@5V@" FUN_TEXT="Subtotals..."/>
|
||||
<pfstatus_fun CODE="&UMC" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_SUM" ICON_ID="@3Z@" FUN_TEXT="Total"/>
|
||||
<pfstatus_fun CODE="&XML" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="XML Export..."/>
|
||||
<pfstatus_fun CODE="&XPA" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Expand"/>
|
||||
<pfstatus_fun CODE="&XXL" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Spreadsheet..."/>
|
||||
<pfstatus_fun CODE="EXCEL" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_XLV" ICON_ID="@J3@" FUN_TEXT="Excel" ICON_TEXT="Export to Excel" INFO_TEXT="Export to Excel"/>
|
||||
<pfstatus_fun CODE="P" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="First Page"/>
|
||||
<pfstatus_fun CODE="P+" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_NEXT_PAGE" ICON_ID="@30@" FUN_TEXT="Next page"/>
|
||||
<pfstatus_fun CODE="P++" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_LAST_PAGE" ICON_ID="@31@" FUN_TEXT="Last Page"/>
|
||||
<pfstatus_fun CODE="P-" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_PREVIOUS_PAGE" ICON_ID="@2Z@" FUN_TEXT="Previous Page"/>
|
||||
<pfstatus_fun CODE="P--" TEXTNO="001" TEXT_TYPE="S" TEXT_NAME="ICON_FIRST_PAGE" ICON_ID="@2Y@" FUN_TEXT="First Page"/>
|
||||
<pfstatus_mtx CODE="000001" TEXT_TYPE="S" TEXT="List"/>
|
||||
<pfstatus_mtx CODE="000002" TEXT_TYPE="S" TEXT="Edit"/>
|
||||
<pfstatus_mtx CODE="000003" TEXT_TYPE="S" TEXT="Goto"/>
|
||||
<pfstatus_mtx CODE="000004" TEXT_TYPE="S" TEXT="Settings"/>
|
||||
<pfstatus_act CODE="000001" NO="01" MENUCODE="000001"/>
|
||||
<pfstatus_act CODE="000001" NO="02" MENUCODE="000002"/>
|
||||
<pfstatus_act CODE="000001" NO="03" MENUCODE="000003"/>
|
||||
<pfstatus_act CODE="000001" NO="04" MENUCODE="000004"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="01" PFNO="39"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="02" PFNO="37"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="04" PFNO="05"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="05" PFNO="06"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="07" PFNO="28"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="08" PFNO="40"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="09" PFNO="29"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="10" PFNO="38"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="12" PFNO="30"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="13" PFNO="42"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="15" PFNO="45"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="17" PFNO="32"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="18" PFNO="33"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="19" PFNO="34"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="20" PFNO="09"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="22" PFNO="41"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="23" PFNO="07"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="25" PFNO="18"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="26" PFNO="26"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="27" PFNO="27"/>
|
||||
<pfstatus_but PFK_CODE="000001" CODE="0001" NO="28" PFNO="19"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="02" FUNCODE="&IC1" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="03" FUNCODE="&F03" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="05" FUNCODE="&ALL" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="06" FUNCODE="&SAL" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="07" FUNCODE="&NFO" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="08" FUNCODE="&NTE" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="09" FUNCODE="EXCEL" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="12" FUNCODE="&F12" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="15" FUNCODE="&F15" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="18" FUNCODE="&CRB" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="19" FUNCODE="&CRE" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="21" FUNCODE="P" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="22" FUNCODE="P-" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="23" FUNCODE="P+" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="24" FUNCODE="P++" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="25" FUNCODE="&ABC" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="26" FUNCODE="&CRL" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="27" FUNCODE="&CRR" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="28" FUNCODE="&OUP" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="29" FUNCODE="&ILT" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="30" FUNCODE="&UMC" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="31" FUNCODE="%SL" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="32" FUNCODE="&OL0" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="33" FUNCODE="&OAD" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="34" FUNCODE="&AVE" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="35" FUNCODE="&XPA" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="37" FUNCODE="&EB9" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="38" FUNCODE="&ILD" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="39" FUNCODE="&ETA" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="40" FUNCODE="&ODN" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="41" FUNCODE="&LFO" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="42" FUNCODE="&SUM" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="43" FUNCODE="&XXL" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="44" FUNCODE="&AQW" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="45" FUNCODE="%PC" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="46" FUNCODE="&RNT_PREV" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="47" FUNCODE="&OMP" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="48" FUNCODE="&XML" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="71" FUNCODE="%SC" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="80" FUNCODE="P--" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="81" FUNCODE="P-" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="82" FUNCODE="P+" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="83" FUNCODE="P++" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="84" FUNCODE="%SC+" FUNNO="001"/>
|
||||
<pfstatus_pfk CODE="000001" PFNO="86" FUNCODE="&RNT" FUNNO="001"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="%PC"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="%SC"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="%SC+"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="%SL"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&ABC"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&ALL"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&AQW"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&AVE"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&CRB"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&CRE"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&CRL"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&CRR"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&EB9"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&ETA"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&F03"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&F12"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&F15"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&IC1"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&ILD"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&ILT"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&LFO"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&NFO"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&NTE"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&OAD"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&ODN"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&OL0"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&OMP"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&OUP"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&RNT"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&RNT_PREV"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&SAL"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&SUM"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&UMC"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&XML"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&XPA"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="&XXL"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="EXCEL"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="P"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="P+"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="P++"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="P-"/>
|
||||
<pfstatus_set STATUS="ALV_STATUS" FUNCTION="P--"/>
|
||||
<pfstatus_doc OBJ_TYPE="A" OBJ_CODE="000001" MODAL="D" INT_NOTE="Standard for General List Output"/>
|
||||
<pfstatus_doc OBJ_TYPE="P" OBJ_CODE="000001" MODAL="D" INT_NOTE="Standard for General List Output"/>
|
||||
<pfstatus_doc OBJ_TYPE="B" OBJ_CODE="000001" SUB_CODE="0001" MODAL="D" INT_NOTE="Standard for General List Output"/>
|
||||
</pfstatus>
|
||||
<source>*--------------------------------------------------------------------*
|
||||
* REPORT ZDEMO_EXCEL26
|
||||
* Demo for method zcl_excel_worksheet-bind_object:
|
||||
* export data from ALV (CL_GUI_ALV_GRID) object or cl_salv_table object
|
||||
* to Excel.
|
||||
*--------------------------------------------------------------------*
|
||||
report zdemo_excel26.
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
* CLASS lcl_handle_events DEFINITION
|
||||
*----------------------------------------------------------------------*
|
||||
*
|
||||
*----------------------------------------------------------------------*
|
||||
class lcl_handle_events definition.
|
||||
public section.
|
||||
methods:
|
||||
on_user_command for event added_function of cl_salv_events
|
||||
importing e_salv_function.
|
||||
endclass. "lcl_handle_events DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
* CLASS lcl_handle_events IMPLEMENTATION
|
||||
*----------------------------------------------------------------------*
|
||||
*
|
||||
*----------------------------------------------------------------------*
|
||||
class lcl_handle_events implementation.
|
||||
method on_user_command.
|
||||
perform user_command." using e_salv_function text-i08.
|
||||
endmethod. "on_user_command
|
||||
endclass. "lcl_handle_events IMPLEMENTATION
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
* DATA DECLARATION
|
||||
*--------------------------------------------------------------------*
|
||||
|
||||
data: lo_excel type ref to zcl_excel,
|
||||
lo_worksheet type ref to zcl_excel_worksheet,
|
||||
lo_salv type ref to cl_salv_table,
|
||||
gr_events type ref to lcl_handle_events,
|
||||
lr_events type ref to cl_salv_events_table,
|
||||
gt_sbook type table of sbook.
|
||||
|
||||
data: l_path type string, " local dir
|
||||
lv_workdir type string,
|
||||
lv_file_separator type c.
|
||||
|
||||
constants:
|
||||
lv_default_file_name type string value '26_Bind_ALV.xlsx'.
|
||||
*--------------------------------------------------------------------*
|
||||
*START-OF-SELECTION
|
||||
*--------------------------------------------------------------------*
|
||||
|
||||
start-of-selection.
|
||||
|
||||
* get data
|
||||
* ------------------------------------------
|
||||
|
||||
select *
|
||||
into table gt_sbook[]
|
||||
from sbook "#EC CI_NOWHERE
|
||||
up to 10 rows.
|
||||
|
||||
* Display ALV
|
||||
* ------------------------------------------
|
||||
|
||||
try.
|
||||
cl_salv_table=>factory(
|
||||
exporting
|
||||
list_display = abap_false
|
||||
importing
|
||||
r_salv_table = lo_salv
|
||||
changing
|
||||
t_table = gt_sbook[] ).
|
||||
catch cx_salv_msg .
|
||||
endtry.
|
||||
|
||||
try.
|
||||
lo_salv->set_screen_status(
|
||||
exporting
|
||||
report = sy-repid
|
||||
pfstatus = 'ALV_STATUS'
|
||||
set_functions = lo_salv->c_functions_all ).
|
||||
catch cx_salv_msg .
|
||||
endtry.
|
||||
|
||||
lr_events = lo_salv->get_event( ).
|
||||
create object gr_events.
|
||||
set handler gr_events->on_user_command for lr_events.
|
||||
|
||||
lo_salv->display( ).
|
||||
|
||||
|
||||
*&---------------------------------------------------------------------*
|
||||
*& Form USER_COMMAND
|
||||
*&---------------------------------------------------------------------*
|
||||
* ALV user command
|
||||
*--------------------------------------------------------------------*
|
||||
form user_command .
|
||||
if sy-ucomm = 'EXCEL'.
|
||||
|
||||
* get save file path
|
||||
cl_gui_frontend_services=>get_sapgui_workdir( changing sapworkdir = l_path ).
|
||||
cl_gui_cfw=>flush( ).
|
||||
cl_gui_frontend_services=>directory_browse(
|
||||
exporting initial_folder = l_path
|
||||
changing selected_folder = l_path ).
|
||||
|
||||
if l_path is initial.
|
||||
cl_gui_frontend_services=>get_sapgui_workdir(
|
||||
changing sapworkdir = lv_workdir ).
|
||||
l_path = lv_workdir.
|
||||
endif.
|
||||
|
||||
cl_gui_frontend_services=>get_file_separator(
|
||||
changing file_separator = lv_file_separator ).
|
||||
|
||||
concatenate l_path lv_file_separator lv_default_file_name
|
||||
into l_path.
|
||||
|
||||
* export file to save file path
|
||||
perform export_to_excel.
|
||||
|
||||
endif.
|
||||
endform. " USER_COMMAND
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
* FORM EXPORT_TO_EXCEL
|
||||
*--------------------------------------------------------------------*
|
||||
* This subroutine is principal demo session
|
||||
*--------------------------------------------------------------------*
|
||||
form export_to_excel.
|
||||
data: lo_converter type ref to zcl_excel_converter.
|
||||
* create zcl_excel_worksheet object
|
||||
|
||||
create object lo_excel.
|
||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||
lo_worksheet->set_title( ip_title = 'Sheet1' ).
|
||||
|
||||
* write to excel using method Bin_object
|
||||
try.
|
||||
lo_worksheet->bind_alv(
|
||||
io_alv = lo_salv
|
||||
it_table = gt_sbook
|
||||
i_top = 2
|
||||
i_left = 1
|
||||
).
|
||||
catch zcx_excel .
|
||||
endtry.
|
||||
|
||||
perform write_file.
|
||||
|
||||
endform. "EXPORT_TO_EXCEL
|
||||
*&---------------------------------------------------------------------*
|
||||
*& Form WRITE_FILE
|
||||
*&---------------------------------------------------------------------*
|
||||
* text
|
||||
*----------------------------------------------------------------------*
|
||||
* --> p1 text
|
||||
* <-- p2 text
|
||||
*----------------------------------------------------------------------*
|
||||
form write_file .
|
||||
data: lt_file type solix_tab,
|
||||
l_bytecount type i,
|
||||
l_file type xstring.
|
||||
|
||||
data: lo_excel_writer type ref to zif_excel_writer.
|
||||
|
||||
data: ls_seoclass type seoclass.
|
||||
|
||||
create object lo_excel_writer type zcl_excel_writer_2007.
|
||||
l_file = lo_excel_writer->write_file( lo_excel ).
|
||||
|
||||
select single * into ls_seoclass
|
||||
from seoclass
|
||||
where clsname = 'CL_BCS_CONVERT'.
|
||||
|
||||
if sy-subrc = 0.
|
||||
call method (ls_seoclass-clsname)=>xstring_to_solix
|
||||
exporting
|
||||
iv_xstring = l_file
|
||||
receiving
|
||||
et_solix = lt_file.
|
||||
|
||||
l_bytecount = xstrlen( l_file ).
|
||||
else.
|
||||
" Convert to binary
|
||||
call function 'SCMS_XSTRING_TO_BINARY'
|
||||
exporting
|
||||
buffer = l_file
|
||||
importing
|
||||
output_length = l_bytecount
|
||||
tables
|
||||
binary_tab = lt_file.
|
||||
endif.
|
||||
|
||||
cl_gui_frontend_services=>gui_download( exporting bin_filesize = l_bytecount
|
||||
filename = l_path
|
||||
filetype = 'BIN'
|
||||
changing data_tab = lt_file ).
|
||||
|
||||
endform. " WRITE_FILE</source>
|
||||
</PROG>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
27
ZA2X/TABL/ZEXCEL_S_CONVERTER_FCAT.slnk
Normal file
27
ZA2X/TABL/ZEXCEL_S_CONVERTER_FCAT.slnk
Normal file
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<TABL TABNAME="ZEXCEL_S_CONVERTER_FCAT" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Field catalog for converter" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20120120" AS4TIME="205544" PROZPUFF="000" EXCLASS="4">
|
||||
<dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="TABNAME" DDLANGUAGE="E" POSITION="0001" ROLLNAME="TABNAME" CHECKTABLE="DD02L" ADMINFIELD="0" INTTYPE="C" INTLEN="000060" DOMNAME="AS4TAB" ROUTPUTLEN="000000" MEMORYID="DTB" HEADLEN="30" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000030" OUTPUTLEN="000030" DECIMALS="000000" ENTITYTAB="DD02L" MASK=" CHARE" MASKLEN="0000" DDTEXT="Table Name" REPTEXT="Table Name" SCRTEXT_S="Table" SCRTEXT_M="Table Name" SCRTEXT_L="Table Name" DOMNAME3L="AS4TAB" SHLPORIGIN="P" DEPTH="00" COMPTYPE="E" DEFFDNAME="TABNAME" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="FIELDNAME" DDLANGUAGE="E" POSITION="0002" ROLLNAME="FIELDNAME" CHECKTABLE="DD03L" ADMINFIELD="0" INTTYPE="C" INTLEN="000060" DOMNAME="FDNAME" ROUTPUTLEN="000000" MEMORYID="DFD" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="18" DTELMASTER="D" DATATYPE="CHAR" LENG="000030" OUTPUTLEN="000030" DECIMALS="000000" ENTITYTAB="DD03L" MASK=" CHARE" MASKLEN="0000" DDTEXT="Field Name" REPTEXT="Field Name" SCRTEXT_S="Field" SCRTEXT_M="Field Name" SCRTEXT_L="Field Name" DOMNAME3L="FDNAME" SHLPORIGIN="P" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="COLUMNNAME" DDLANGUAGE="E" POSITION="0003" ROLLNAME="FIELDNAME" ADMINFIELD="0" INTTYPE="C" INTLEN="000060" DOMNAME="FDNAME" ROUTPUTLEN="000000" MEMORYID="DFD" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="18" DTELMASTER="D" DATATYPE="CHAR" LENG="000030" OUTPUTLEN="000030" DECIMALS="000000" ENTITYTAB="DD03L" MASK=" CHARE" MASKLEN="0000" DDTEXT="Field Name" REPTEXT="Field Name" SCRTEXT_S="Field" SCRTEXT_M="Field Name" SCRTEXT_L="Field Name" DOMNAME3L="FDNAME" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="POSITION" DDLANGUAGE="E" POSITION="0004" ROLLNAME="TABFDPOS" ADMINFIELD="0" INTTYPE="N" INTLEN="000008" DOMNAME="AS4POS" ROUTPUTLEN="000000" HEADLEN="06" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="NUMC" LENG="000004" OUTPUTLEN="000004" DECIMALS="000000" MASK=" NUMCE" MASKLEN="0000" DDTEXT="Position of the field in the table" REPTEXT="TabPos" SCRTEXT_S="Table pos." SCRTEXT_M="Table position" SCRTEXT_L="Table position" DOMNAME3L="AS4POS" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="INTTYPE" DDLANGUAGE="E" POSITION="0005" ROLLNAME="INTTYPE" ADMINFIELD="0" INTTYPE="C" INTLEN="000002" DOMNAME="INTTYPE" ROUTPUTLEN="000000" HEADLEN="30" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" LOWERCASE="X" VALEXI="X" MASK=" CHARE" MASKLEN="0000" DDTEXT="ABAP data type (C,D,N,...)" REPTEXT="Ty." SCRTEXT_S="ABAP type" SCRTEXT_M="ABAP type" SCRTEXT_L="ABAP type" DOMNAME3L="INTTYPE" SHLPORIGIN="F" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="SCRTEXT_S" DDLANGUAGE="E" POSITION="0006" ROLLNAME="SCRTEXT_S" ADMINFIELD="0" INTTYPE="C" INTLEN="000020" DOMNAME="SCRTEXT_S" ROUTPUTLEN="000000" HEADLEN="30" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000010" OUTPUTLEN="000010" DECIMALS="000000" LOWERCASE="X" MASK=" CHARE" MASKLEN="0000" DDTEXT="Short Field Label" REPTEXT="Short field label" SCRTEXT_S="Short" SCRTEXT_M="ShortFieldLabel" SCRTEXT_L="Short field label" DOMNAME3L="SCRTEXT_S" DEPTH="00" COMPTYPE="E" DEFFDNAME="SCRTEXT_S" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="SCRTEXT_M" DDLANGUAGE="E" POSITION="0007" ROLLNAME="SCRTEXT_M" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="SCRTEXT_M" ROUTPUTLEN="000000" HEADLEN="30" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" LOWERCASE="X" MASK=" CHARE" MASKLEN="0000" DDTEXT="Medium Field Label" REPTEXT="Medium Field Label" SCRTEXT_S="Medium" SCRTEXT_M="Medium Fld Labl" SCRTEXT_L="Medium Field Label" DOMNAME3L="SCRTEXT_M" DEPTH="00" COMPTYPE="E" DEFFDNAME="SCRTEXT_M" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="SCRTEXT_L" DDLANGUAGE="E" POSITION="0008" ROLLNAME="SCRTEXT_L" ADMINFIELD="0" INTTYPE="C" INTLEN="000080" DOMNAME="SCRTEXT_L" ROUTPUTLEN="000000" HEADLEN="30" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000040" OUTPUTLEN="000040" DECIMALS="000000" LOWERCASE="X" MASK=" CHARE" MASKLEN="0000" DDTEXT="Long Field Label" REPTEXT="Long Field Label" SCRTEXT_S="Long" SCRTEXT_M="Long Fld Label" SCRTEXT_L="Long field label" DOMNAME3L="SCRTEXT_L" DEPTH="00" COMPTYPE="E" DEFFDNAME="SCRTEXT_L" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="TOTALS_FUNCTION" DDLANGUAGE="E" POSITION="0009" ROLLNAME="ZEXCEL_TABLE_TOTALS_FUNCTION" ADMINFIELD="0" INTTYPE="g" INTLEN="000008" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="10" SCRLEN2="00" SCRLEN3="00" DTELMASTER="E" DATATYPE="STRG" LENG="000000" OUTPUTLEN="000000" DECIMALS="000000" MASK=" STRGE" MASKLEN="0000" DDTEXT="Totals function for table column (xml ST_TotalsRowFunction)" SCRTEXT_S="Function" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="FIX_COLUMN" DDLANGUAGE="E" POSITION="0010" ROLLNAME="FLAG" ADMINFIELD="0" INTTYPE="C" INTLEN="000002" DOMNAME="FLAG" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" VALEXI="X" MASK=" CHARE" MASKLEN="0000" DDTEXT="General Flag" REPTEXT="Flag" SCRTEXT_S="Indicator" SCRTEXT_M="Indicator" SCRTEXT_L="Indicator" DOMNAME3L="FLAG" SHLPORIGIN="F" DEPTH="00" COMPTYPE="E" DEFFDNAME="FLAG" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="IS_OPTIMIZED" DDLANGUAGE="E" POSITION="0011" ROLLNAME="FLAG" ADMINFIELD="0" INTTYPE="C" INTLEN="000002" DOMNAME="FLAG" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" VALEXI="X" MASK=" CHARE" MASKLEN="0000" DDTEXT="General Flag" REPTEXT="Flag" SCRTEXT_S="Indicator" SCRTEXT_M="Indicator" SCRTEXT_L="Indicator" DOMNAME3L="FLAG" SHLPORIGIN="F" DEPTH="00" COMPTYPE="E" DEFFDNAME="FLAG" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="IS_VISIBLE" DDLANGUAGE="E" POSITION="0012" ROLLNAME="FLAG" ADMINFIELD="0" INTTYPE="C" INTLEN="000002" DOMNAME="FLAG" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" VALEXI="X" MASK=" CHARE" MASKLEN="0000" DDTEXT="General Flag" REPTEXT="Flag" SCRTEXT_S="Indicator" SCRTEXT_M="Indicator" SCRTEXT_L="Indicator" DOMNAME3L="FLAG" SHLPORIGIN="F" DEPTH="00" COMPTYPE="E" DEFFDNAME="FLAG" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="ALIGNMENT" DDLANGUAGE="E" POSITION="0013" ROLLNAME="ZEXCEL_ALIGNMENT" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="09" SCRLEN1="09" SCRLEN2="09" SCRLEN3="09" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK=" CHARE" MASKLEN="0000" DDTEXT="Alignment" REPTEXT="Alignment" SCRTEXT_S="Alignment" SCRTEXT_M="Alignment" SCRTEXT_L="Alignment" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
<dd05m TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="FIELDNAME" FORTABLE="ZEXCEL_S_CONVERTER_FCAT" FORKEY="TABNAME" CHECKTABLE="DD03L" CHECKFIELD="TABNAME" PRIMPOS="0001" DOMNAME="AS4TAB" DATATYPE="CHAR" LENG="000030"/>
|
||||
<dd05m TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="FIELDNAME" FORTABLE="ZEXCEL_S_CONVERTER_FCAT" FORKEY="FIELDNAME" CHECKTABLE="DD03L" CHECKFIELD="FIELDNAME" PRIMPOS="0002" DOMNAME="FDNAME" DATATYPE="CHAR" LENG="000030"/>
|
||||
<dd05m TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="FIELDNAME" FORTABLE="'A'" CHECKTABLE="DD03L" CHECKFIELD="AS4LOCAL" PRIMPOS="0003" DOMNAME="AS4LOCAL" DATATYPE="CHAR" LENG="000001"/>
|
||||
<dd05m TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="FIELDNAME" FORTABLE="'0000'" CHECKTABLE="DD03L" CHECKFIELD="AS4VERS" PRIMPOS="0004" DOMNAME="AS4VERS" DATATYPE="NUMC" LENG="000004"/>
|
||||
<dd05m TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="FIELDNAME" FORTABLE="ZEXCEL_S_CONVERTER_FCAT" FORKEY="POSITION" CHECKTABLE="DD03L" CHECKFIELD="POSITION" PRIMPOS="0005" DOMNAME="AS4POS" DATATYPE="NUMC" LENG="000004"/>
|
||||
<dd05m TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="TABNAME" FORTABLE="ZEXCEL_S_CONVERTER_FCAT" FORKEY="TABNAME" CHECKTABLE="DD02L" CHECKFIELD="TABNAME" PRIMPOS="0001" DOMNAME="AS4TAB" DATATYPE="CHAR" LENG="000030"/>
|
||||
<dd05m TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="TABNAME" FORTABLE="'A'" CHECKTABLE="DD02L" CHECKFIELD="AS4LOCAL" PRIMPOS="0002" DOMNAME="AS4LOCAL" DATATYPE="CHAR" LENG="000001"/>
|
||||
<dd05m TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="TABNAME" FORTABLE="'0000'" CHECKTABLE="DD02L" CHECKFIELD="AS4VERS" PRIMPOS="0003" DOMNAME="AS4VERS" DATATYPE="NUMC" LENG="000004"/>
|
||||
<dd08v TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="FIELDNAME" DDLANGUAGE="E" CHECKTABLE="DD03L"/>
|
||||
<dd08v TABNAME="ZEXCEL_S_CONVERTER_FCAT" FIELDNAME="TABNAME" DDLANGUAGE="E" CHECKTABLE="DD02L"/>
|
||||
</TABL>
|
6
ZA2X/TABL/ZEXCEL_S_CONVERTER_LAYO.slnk
Normal file
6
ZA2X/TABL/ZEXCEL_S_CONVERTER_LAYO.slnk
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<TABL TABNAME="ZEXCEL_S_CONVERTER_LAYO" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Converter settings for table" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20120120" AS4TIME="205547" PROZPUFF="000" EXCLASS="2">
|
||||
<dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_LAYO" FIELDNAME="IS_STRIPPED" DDLANGUAGE="E" POSITION="0001" ROLLNAME="FLAG" ADMINFIELD="0" INTTYPE="C" INTLEN="000002" DOMNAME="FLAG" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" VALEXI="X" MASK=" CHARE" MASKLEN="0000" DDTEXT="General Flag" REPTEXT="Flag" SCRTEXT_S="Indicator" SCRTEXT_M="Indicator" SCRTEXT_L="Indicator" DOMNAME3L="FLAG" SHLPORIGIN="F" DEPTH="00" COMPTYPE="E" DEFFDNAME="FLAG" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
<dd03p TABNAME="ZEXCEL_S_CONVERTER_LAYO" FIELDNAME="IS_FIXED" DDLANGUAGE="E" POSITION="0002" ROLLNAME="FLAG" ADMINFIELD="0" INTTYPE="C" INTLEN="000002" DOMNAME="FLAG" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" VALEXI="X" MASK=" CHARE" MASKLEN="0000" DDTEXT="General Flag" REPTEXT="Flag" SCRTEXT_S="Indicator" SCRTEXT_M="Indicator" SCRTEXT_L="Indicator" DOMNAME3L="FLAG" SHLPORIGIN="F" DEPTH="00" COMPTYPE="E" DEFFDNAME="FLAG" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
|
||||
</TABL>
|
2
ZA2X/TTYP/ZEXCEL_T_CONVERTER_LAYO.slnk
Normal file
2
ZA2X/TTYP/ZEXCEL_T_CONVERTER_LAYO.slnk
Normal file
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<TTYP TYPENAME="ZEXCEL_T_CONVERTER_LAYO" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_CONVERTER_LAYO" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="D" KEYKIND="N" KEYFDCOUNT="0000" AS4USER="FEMIA" AS4DATE="20120120" AS4TIME="205547" DDTEXT="Table type for zexcel_s_converter_layo" TYPELEN="000004" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000"/>
|
Loading…
Reference in New Issue
Block a user