mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 03:11:54 +08:00

Basically only the size was miscalulated. Added new method to Drawing class to convert from emu to pixel and use this on reading a drawing. Probable still not working when using different dpi then standard - but I have to see this before I can tackle it.
1063 lines
74 KiB
XML
1063 lines
74 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<CLAS CLSNAME="ZCL_EXCEL_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Drawing" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --> This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -> core -> ZSAPLINK -> CLAS -> ZSAPLINK_CLASS.slnk">
|
|
<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>
|
|
<typeUsage CLSNAME="ZCL_EXCEL_DRAWING" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
|
|
<forwardDeclaration>ABAP</forwardDeclaration>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="ANCHOR" VERSION="1" LANGU="E" DESCRIPT="Excel Drawing anchor" EXPOSURE="0" STATE="1" EDITORDER="16 " ATTDECLTYP="0" ATTVALUE="ANCHOR_ONE_CELL" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_ANCHOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="ANCHOR_ABSOLUTE" VERSION="1" LANGU="E" DESCRIPT="Excel Drawing anchor" EXPOSURE="2" STATE="1" EDITORDER="10 " ATTDECLTYP="2" ATTVALUE="'ABS'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_ANCHOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="ANCHOR_ONE_CELL" VERSION="1" LANGU="E" DESCRIPT="Excel Drawing anchor" EXPOSURE="2" STATE="1" EDITORDER="11 " ATTDECLTYP="2" ATTVALUE="'ONE'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_ANCHOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="ANCHOR_TWO_CELL" VERSION="1" LANGU="E" DESCRIPT="Excel Drawing anchor" EXPOSURE="2" STATE="1" EDITORDER="12 " ATTDECLTYP="2" ATTVALUE="'TWO'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_ANCHOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="C_GRAPH_BARS" VERSION="1" LANGU="E" DESCRIPT="Graph type" EXPOSURE="2" STATE="1" EDITORDER="3 " ATTDECLTYP="2" ATTVALUE="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_GRAPH_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="C_GRAPH_LINE" VERSION="1" LANGU="E" DESCRIPT="Graph type" EXPOSURE="2" STATE="1" EDITORDER="2 " ATTDECLTYP="2" ATTVALUE="2" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_GRAPH_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="C_GRAPH_PIE" VERSION="1" LANGU="E" DESCRIPT="Graph type" EXPOSURE="2" STATE="1" EDITORDER="1 " ATTDECLTYP="2" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_GRAPH_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="C_MEDIA_SOURCE_MIME" VERSION="1" LANGU="E" DESCRIPT="miem repository" EXPOSURE="0" STATE="1" EDITORDER="19 " ATTDECLTYP="2" ATTVALUE="2" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="C_MEDIA_SOURCE_WWW" VERSION="1" LANGU="E" DESCRIPT="www repository SMW0" EXPOSURE="0" STATE="1" EDITORDER="17 " ATTDECLTYP="2" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="C_MEDIA_SOURCE_XSTRING" VERSION="1" LANGU="E" DESCRIPT="Binary data as XSTRING" EXPOSURE="0" STATE="1" EDITORDER="18 " ATTDECLTYP="2" ATTVALUE="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="C_MEDIA_TYPE_BMP" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="14 " ATTDECLTYP="2" ATTVALUE="'bmp'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="C_MEDIA_TYPE_JPG" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="16 " ATTDECLTYP="2" ATTVALUE="'jpg'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="C_MEDIA_TYPE_XML" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="15 " ATTDECLTYP="2" ATTVALUE="'xml'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="FROM_LOC" VERSION="1" LANGU="E" DESCRIPT="Drawing location for Excel" EXPOSURE="0" STATE="1" EDITORDER="27 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_LOCATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GRAPH" VERSION="1" LANGU="E" DESCRIPT="Graphic" EXPOSURE="2" STATE="1" EDITORDER="13 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_GRAPH" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GRAPH_TYPE" VERSION="1" LANGU="E" DESCRIPT="Graph type" EXPOSURE="2" STATE="1" EDITORDER="4 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_GRAPH_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GUID" VERSION="1" LANGU="E" DESCRIPT="GUID in 'RAW' format" EXPOSURE="0" STATE="1" EDITORDER="20 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="GUID_16" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="INDEX" VERSION="1" LANGU="E" DESCRIPT="Index in collection" EXPOSURE="0" STATE="1" EDITORDER="15 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="IO" VERSION="1" LANGU="E" DESCRIPT="KW Framework: Object Key" EXPOSURE="0" STATE="1" EDITORDER="26 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="SKWF_IO" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="MEDIA" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="21 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="XSTRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="MEDIA_KEY_WWW" VERSION="1" LANGU="E" DESCRIPT="Contents of table WWWDATA" EXPOSURE="0" STATE="1" EDITORDER="22 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="WWWDATATAB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="MEDIA_NAME" VERSION="1" LANGU="E" DESCRIPT="Generated file name" EXPOSURE="0" STATE="1" EDITORDER="23 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="MEDIA_SOURCE" VERSION="1" LANGU="E" DESCRIPT="0=XSTRING, 1=WWW" EXPOSURE="0" STATE="1" EDITORDER="24 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="MEDIA_TYPE" VERSION="1" LANGU="E" DESCRIPT="Type of media, file extension" EXPOSURE="0" STATE="1" EDITORDER="25 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Drawing size for Excel" EXPOSURE="0" STATE="1" EDITORDER="29 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" EXPOSURE="2" STATE="1" EDITORDER="5 " ATTDECLTYP="0" ATTVALUE="'image1.jpg'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="TO_LOC" VERSION="1" LANGU="E" DESCRIPT="Drawing location for Excel" EXPOSURE="0" STATE="1" EDITORDER="28 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_LOCATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="TYPE" VERSION="1" LANGU="E" DESCRIPT="Drawing type: image|chart" EXPOSURE="0" STATE="1" EDITORDER="14 " ATTDECLTYP="0" ATTVALUE="TYPE_IMAGE" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="TYPE_CHART" VERSION="1" LANGU="E" DESCRIPT="Excel Drawing type" EXPOSURE="2" STATE="1" EDITORDER="9 " ATTDECLTYP="2" ATTVALUE="'chart'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="TYPE_IMAGE" VERSION="1" LANGU="E" DESCRIPT="Excel Drawing type" EXPOSURE="2" STATE="1" EDITORDER="8 " ATTDECLTYP="2" ATTVALUE="'image'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="X_REFERENCES" VERSION="1" LANGU="E" DESCRIPT="Single-Character Indicator" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="Y_REFERENCES" VERSION="1" LANGU="E" DESCRIPT="Single-Character Indicator" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="2" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONSTRUCTOR" SCONAME="IP_TYPE" VERSION="1" LANGU="E" DESCRIPT="Excel Drawing type" CMPTYPE="1" MTDTYPE="2" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_TYPE" PARVALUE="ZCL_EXCEL_DRAWING=>TYPE_IMAGE"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONSTRUCTOR" SCONAME="IP_TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" CMPTYPE="1" MTDTYPE="2" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE" PAROPTIONL="X"/>
|
|
<source>METHOD constructor.
|
|
|
|
* CALL FUNCTION 'GUID_CREATE' " del issue #379 - function is outdated in newer releases
|
|
* IMPORTING
|
|
* ev_guid_16 = me->guid.
|
|
me->guid = zcl_excel_obsolete_func_wrap=>guid_create( ). " ins issue #379 - replacement for outdated function call
|
|
|
|
IF ip_title IS NOT INITIAL.
|
|
title = ip_title.
|
|
ELSE.
|
|
title = me->guid.
|
|
ENDIF.
|
|
|
|
me->type = ip_type.
|
|
|
|
* inizialize dimension range
|
|
anchor = anchor_one_cell.
|
|
from_loc-col = 1.
|
|
from_loc-row = 1.
|
|
ENDMETHOD.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CREATE_MEDIA_NAME" VERSION="1" LANGU="E" DESCRIPT="Generate media name image#.ext" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CREATE_MEDIA_NAME" SCONAME="IP_INDEX" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="I"/>
|
|
<source>method CREATE_MEDIA_NAME.
|
|
|
|
* if media name is initial, create unique name
|
|
CHECK media_name IS INITIAL.
|
|
|
|
index = ip_index.
|
|
CONCATENATE me->type index INTO media_name.
|
|
CONDENSE media_name NO-GAPS.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="EMU2PIXEL" VERSION="1" LANGU="E" DESCRIPT="Convert EMU to pixel" EXPOSURE="2" STATE="1" EDITORDER="15 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="EMU2PIXEL" SCONAME="IP_EMU" VERSION="1" LANGU="E" DESCRIPT="Natural number" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="EMU2PIXEL" SCONAME="IP_DPI" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT2" PAROPTIONL="X"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="EMU2PIXEL" SCONAME="R_PIXEL" VERSION="1" LANGU="E" DESCRIPT="Natural Number" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="INT4"/>
|
|
<source>METHOD emu2pixel.
|
|
* suppose 96 DPI
|
|
IF ip_dpi IS SUPPLIED.
|
|
* r_emu = ip_pixel * 914400 / ip_dpi.
|
|
r_pixel = ip_emu * ip_dpi / 914400.
|
|
ELSE.
|
|
* suppose 96 DPI
|
|
* r_emu = ip_pixel * 914400 / 96.
|
|
r_pixel = ip_emu * 96 / 914400.
|
|
ENDIF.
|
|
ENDMETHOD.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_FROM_COL" VERSION="1" LANGU="E" DESCRIPT="From col" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_FROM_COL" SCONAME="R_FROM_COL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN"/>
|
|
<source>method GET_FROM_COL.
|
|
r_from_col = me->from_loc-col.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_FROM_ROW" VERSION="1" LANGU="E" DESCRIPT="From row" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_FROM_ROW" SCONAME="R_FROM_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
|
|
<source>method GET_FROM_ROW.
|
|
r_from_row = me->from_loc-row.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_GUID" VERSION="1" LANGU="E" DESCRIPT="Get sheet guid" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_GUID" SCONAME="EP_GUID" VERSION="1" LANGU="E" DESCRIPT="GUID in 'RAW' format" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="GUID_16"/>
|
|
<source>method GET_GUID.
|
|
|
|
ep_guid = me->guid.
|
|
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_HEIGHT_EMU_STR" VERSION="1" LANGU="E" DESCRIPT="Height of bitmap in EMU as string" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_HEIGHT_EMU_STR" SCONAME="R_HEIGHT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
|
|
<source>method GET_HEIGHT_EMU_STR.
|
|
r_height = pixel2emu( size-height ).
|
|
CONDENSE r_height NO-GAPS.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_INDEX" VERSION="1" LANGU="E" DESCRIPT="Get index" EXPOSURE="2" STATE="1" EDITORDER="23 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_INDEX" SCONAME="RP_INDEX" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
|
|
<source>method GET_INDEX.
|
|
rp_index = me->index.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_MEDIA" VERSION="1" LANGU="E" DESCRIPT="Returns media as XSTRING" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_MEDIA" SCONAME="R_MEDIA" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
|
|
<source>METHOD get_media.
|
|
|
|
DATA: lv_language TYPE sylangu.
|
|
DATA: lt_bin_mime TYPE sdokcntbins.
|
|
DATA: lt_mime TYPE tsfmime,
|
|
lv_filesize TYPE i,
|
|
lv_filesizec(10).
|
|
|
|
CASE media_source.
|
|
WHEN c_media_source_xstring.
|
|
r_media = media.
|
|
WHEN c_media_source_www.
|
|
CALL FUNCTION 'WWWDATA_IMPORT'
|
|
EXPORTING
|
|
key = media_key_www
|
|
TABLES
|
|
mime = lt_mime
|
|
EXCEPTIONS
|
|
OTHERS = 1.
|
|
|
|
CALL FUNCTION 'WWWPARAMS_READ'
|
|
EXPORTING
|
|
relid = media_key_www-relid
|
|
objid = media_key_www-objid
|
|
name = 'filesize'
|
|
IMPORTING
|
|
value = lv_filesizec.
|
|
|
|
lv_filesize = lv_filesizec.
|
|
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
|
|
EXPORTING
|
|
input_length = lv_filesize
|
|
IMPORTING
|
|
buffer = r_media
|
|
TABLES
|
|
binary_tab = lt_mime
|
|
EXCEPTIONS
|
|
failed = 1
|
|
OTHERS = 2.
|
|
WHEN c_media_source_mime.
|
|
lv_language = sy-langu.
|
|
cl_wb_mime_repository=>load_mime( EXPORTING
|
|
io = me->io
|
|
IMPORTING
|
|
filesize = lv_filesize
|
|
bin_data = lt_bin_mime
|
|
CHANGING
|
|
language = lv_language ).
|
|
|
|
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
|
|
EXPORTING
|
|
input_length = lv_filesize
|
|
IMPORTING
|
|
buffer = r_media
|
|
TABLES
|
|
binary_tab = lt_bin_mime
|
|
EXCEPTIONS
|
|
failed = 1
|
|
OTHERS = 2.
|
|
ENDCASE.
|
|
ENDMETHOD.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_MEDIA_NAME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_MEDIA_NAME" SCONAME="R_NAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
|
|
<source>method GET_MEDIA_NAME.
|
|
CONCATENATE media_name `.` media_type INTO r_name.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_MEDIA_TYPE" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="9 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_MEDIA_TYPE" SCONAME="R_TYPE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
|
|
<source>method GET_MEDIA_TYPE.
|
|
r_type = media_type.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_NAME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="10 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_NAME" SCONAME="R_NAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
|
|
<source>method GET_NAME.
|
|
r_name = title.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_POSITION" VERSION="1" LANGU="E" DESCRIPT="Get position of drawing" EXPOSURE="2" STATE="1" EDITORDER="21 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_POSITION" SCONAME="RP_POSITION" VERSION="1" LANGU="E" DESCRIPT="Drawing position for Excel" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_POSITION"/>
|
|
<source>method GET_POSITION.
|
|
rp_position-anchor = anchor.
|
|
rp_position-from = from_loc.
|
|
rp_position-to = to_loc.
|
|
rp_position-size = size.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_TO_COL" VERSION="1" LANGU="E" DESCRIPT="To col" EXPOSURE="2" STATE="1" EDITORDER="11 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_TO_COL" SCONAME="R_TO_COL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN"/>
|
|
<source>method GET_TO_COL.
|
|
r_to_col = me->to_loc-col.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_TO_ROW" VERSION="1" LANGU="E" DESCRIPT="To row" EXPOSURE="2" STATE="1" EDITORDER="12 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_TO_ROW" SCONAME="R_TO_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
|
|
<source>method GET_TO_ROW.
|
|
r_to_row = me->to_loc-row.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_TYPE" VERSION="1" LANGU="E" DESCRIPT="Get drawing type" EXPOSURE="2" STATE="1" EDITORDER="22 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_TYPE" SCONAME="RP_TYPE" VERSION="1" LANGU="E" DESCRIPT="Excel Drawing type" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_TYPE"/>
|
|
<source>method GET_TYPE.
|
|
rp_type = me->type.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_WIDTH_EMU_STR" VERSION="1" LANGU="E" DESCRIPT="Width of bitmap in EMU as string" EXPOSURE="2" STATE="1" EDITORDER="13 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_WIDTH_EMU_STR" SCONAME="R_WIDTH" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
|
|
<source>method GET_WIDTH_EMU_STR.
|
|
r_width = pixel2emu( size-width ).
|
|
CONDENSE r_width NO-GAPS.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="LOAD_CHART_ATTRIBUTES" VERSION="1" LANGU="E" DESCRIPT="Load chart attributes" EXPOSURE="2" STATE="1" EDITORDER="24 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="LOAD_CHART_ATTRIBUTES" SCONAME="IP_CHART" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_DOCUMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
|
|
<source>method LOAD_CHART_ATTRIBUTES.
|
|
DATA: node TYPE REF TO if_ixml_element.
|
|
DATA: node2 TYPE REF TO if_ixml_element.
|
|
DATA: node3 TYPE REF TO if_ixml_element.
|
|
DATA: node4 TYPE REF TO if_ixml_element.
|
|
DATA: iterator TYPE REF TO if_ixml_node_iterator.
|
|
|
|
DATA: chartspace TYPE REF TO if_ixml_node_collection.
|
|
DATA: coll_length TYPE i.
|
|
DATA: chartelem TYPE REF TO if_ixml_element.
|
|
|
|
DATA lo_barchart TYPE REF TO zcl_excel_graph_bars.
|
|
DATA lo_piechart TYPE REF TO zcl_excel_graph_pie.
|
|
DATA lo_linechart TYPE REF TO zcl_excel_graph_line.
|
|
|
|
TYPES: BEGIN OF t_prop,
|
|
val TYPE string,
|
|
rtl TYPE string,
|
|
lang TYPE string,
|
|
formatcode TYPE string,
|
|
sourcelinked TYPE string,
|
|
END OF t_prop.
|
|
|
|
TYPES: BEGIN OF t_pagemargins,
|
|
b TYPE string,
|
|
l TYPE string,
|
|
r TYPE string,
|
|
t TYPE string,
|
|
header TYPE string,
|
|
footer TYPE string,
|
|
END OF t_pagemargins.
|
|
|
|
DATA ls_prop TYPE t_prop.
|
|
DATA ls_pagemargins TYPE t_pagemargins.
|
|
|
|
DATA lo_collection TYPE REF TO if_ixml_node_collection.
|
|
DATA lo_node TYPE REF TO if_ixml_node.
|
|
DATA lo_iterator TYPE REF TO if_ixml_node_iterator.
|
|
DATA lv_idx TYPE i.
|
|
DATA lv_order TYPE i.
|
|
DATA lv_invertifnegative TYPE string.
|
|
DATA lv_symbol TYPE string.
|
|
DATA lv_smooth TYPE c.
|
|
DATA lv_sername TYPE string.
|
|
DATA lv_label TYPE string.
|
|
DATA lv_value TYPE string.
|
|
DATA lv_axid TYPE string.
|
|
DATA lv_orientation TYPE string.
|
|
DATA lv_delete TYPE string.
|
|
DATA lv_axpos TYPE string.
|
|
DATA lv_formatcode TYPE string.
|
|
DATA lv_sourcelinked TYPE string.
|
|
DATA lv_majortickmark TYPE string.
|
|
DATA lv_minortickmark TYPE string.
|
|
DATA lv_ticklblpos TYPE string.
|
|
DATA lv_crossax TYPE string.
|
|
DATA lv_crosses TYPE string.
|
|
DATA lv_auto TYPE string.
|
|
DATA lv_lblalgn TYPE string.
|
|
DATA lv_lbloffset TYPE string.
|
|
DATA lv_nomultilvllbl TYPE string.
|
|
DATA lv_crossbetween TYPE string.
|
|
|
|
node ?= ip_chart->if_ixml_node~get_first_child( ).
|
|
CHECK node IS NOT INITIAL.
|
|
|
|
CASE me->graph_type.
|
|
WHEN c_graph_bars.
|
|
CREATE OBJECT lo_barchart.
|
|
me->graph = lo_barchart.
|
|
WHEN c_graph_pie.
|
|
CREATE OBJECT lo_piechart.
|
|
me->graph = lo_piechart.
|
|
WHEN c_graph_line.
|
|
CREATE OBJECT lo_linechart.
|
|
me->graph = lo_linechart.
|
|
WHEN OTHERS.
|
|
ENDCASE.
|
|
|
|
"Fill properties
|
|
node2 ?= node->find_from_name( name = 'date1904' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
me->graph->ns_1904val = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'lang' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
me->graph->ns_langval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'roundedCorners' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
me->graph->ns_roundedcornersval = ls_prop-val.
|
|
|
|
"style
|
|
node2 ?= node->find_from_name( name = 'style' namespace = 'c14' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
me->graph->ns_c14styleval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'style' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
me->graph->ns_styleval = ls_prop-val.
|
|
"---------------------------Read graph properties
|
|
node2 ?= node->find_from_name( name = 'autoTitleDeleted' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
me->graph->ns_autotitledeletedval = ls_prop-val.
|
|
|
|
"plotArea
|
|
CASE me->graph_type.
|
|
WHEN c_graph_bars.
|
|
node2 ?= node->find_from_name( name = 'barDir' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_barchart->ns_bardirval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'grouping' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_barchart->ns_groupingval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'varyColors' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_barchart->ns_varycolorsval = ls_prop-val.
|
|
|
|
"Load series
|
|
CALL METHOD node->get_elements_by_tag_name
|
|
EXPORTING
|
|
* depth = 0
|
|
name = 'ser'
|
|
* namespace = ''
|
|
RECEIVING
|
|
rval = lo_collection.
|
|
CALL METHOD lo_collection->create_iterator
|
|
RECEIVING
|
|
rval = lo_iterator.
|
|
lo_node = lo_iterator->get_next( ).
|
|
IF lo_node IS BOUND.
|
|
node2 ?= lo_node->query_interface( ixml_iid_element ).
|
|
ENDIF.
|
|
WHILE lo_node IS BOUND.
|
|
node3 ?= node2->find_from_name( name = 'idx' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_idx = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'order' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_order = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'invertIfNegative' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_invertifnegative = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'v' namespace = 'c' ).
|
|
IF node3 IS BOUND.
|
|
lv_sername = node3->get_value( ).
|
|
ENDIF.
|
|
node3 ?= node2->find_from_name( name = 'strRef' namespace = 'c' ).
|
|
IF node3 IS BOUND.
|
|
node4 ?= node3->find_from_name( name = 'f' namespace = 'c' ).
|
|
lv_label = node4->get_value( ).
|
|
ENDIF.
|
|
node3 ?= node2->find_from_name( name = 'numRef' namespace = 'c' ).
|
|
IF node3 IS BOUND.
|
|
node4 ?= node3->find_from_name( name = 'f' namespace = 'c' ).
|
|
lv_value = node4->get_value( ).
|
|
ENDIF.
|
|
CALL METHOD lo_barchart->create_serie
|
|
EXPORTING
|
|
ip_idx = lv_idx
|
|
ip_order = lv_order
|
|
ip_invertifnegative = lv_invertifnegative
|
|
ip_lbl = lv_label
|
|
ip_ref = lv_value
|
|
ip_sername = lv_sername.
|
|
lo_node = lo_iterator->get_next( ).
|
|
IF lo_node IS BOUND.
|
|
node2 ?= lo_node->query_interface( ixml_iid_element ).
|
|
ENDIF.
|
|
ENDWHILE.
|
|
"note: numCache avoided
|
|
node2 ?= node->find_from_name( name = 'showLegendKey' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_barchart->ns_showlegendkeyval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showVal' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_barchart->ns_showvalval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showCatName' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_barchart->ns_showcatnameval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showSerName' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_barchart->ns_showsernameval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showPercent' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_barchart->ns_showpercentval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showBubbleSize' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_barchart->ns_showbubblesizeval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'gapWidth' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_barchart->ns_gapwidthval = ls_prop-val.
|
|
|
|
"Load axes
|
|
node2 ?= node->find_from_name( name = 'barChart' namespace = 'c' ).
|
|
CALL METHOD node2->get_elements_by_tag_name
|
|
EXPORTING
|
|
* depth = 0
|
|
name = 'axId'
|
|
* namespace = ''
|
|
RECEIVING
|
|
rval = lo_collection.
|
|
CALL METHOD lo_collection->create_iterator
|
|
RECEIVING
|
|
rval = lo_iterator.
|
|
lo_node = lo_iterator->get_next( ).
|
|
IF lo_node IS BOUND.
|
|
node2 ?= lo_node->query_interface( ixml_iid_element ).
|
|
ENDIF.
|
|
WHILE lo_node IS BOUND.
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lv_axid = ls_prop-val.
|
|
IF sy-index EQ 1. "catAx
|
|
node2 ?= node->find_from_name( name = 'catAx' namespace = 'c' ).
|
|
node3 ?= node2->find_from_name( name = 'orientation' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_orientation = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'delete' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_delete = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'axPos' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_axpos = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'numFmt' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_formatcode = ls_prop-formatcode.
|
|
lv_sourcelinked = ls_prop-sourcelinked.
|
|
node3 ?= node2->find_from_name( name = 'majorTickMark' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_majortickmark = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'majorTickMark' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_minortickmark = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'tickLblPos' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_ticklblpos = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'crossAx' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_crossax = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'crosses' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_crosses = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'auto' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_auto = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'lblAlgn' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_lblalgn = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'lblOffset' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_lbloffset = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'noMultiLvlLbl' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_nomultilvllbl = ls_prop-val.
|
|
CALL METHOD lo_barchart->create_ax
|
|
EXPORTING
|
|
ip_axid = lv_axid
|
|
ip_type = zcl_excel_graph_bars=>c_catax
|
|
ip_orientation = lv_orientation
|
|
ip_delete = lv_delete
|
|
ip_axpos = lv_axpos
|
|
ip_formatcode = lv_formatcode
|
|
ip_sourcelinked = lv_sourcelinked
|
|
ip_majortickmark = lv_majortickmark
|
|
ip_minortickmark = lv_minortickmark
|
|
ip_ticklblpos = lv_ticklblpos
|
|
ip_crossax = lv_crossax
|
|
ip_crosses = lv_crosses
|
|
ip_auto = lv_auto
|
|
ip_lblalgn = lv_lblalgn
|
|
ip_lbloffset = lv_lbloffset
|
|
ip_nomultilvllbl = lv_nomultilvllbl.
|
|
ELSEIF sy-index EQ 2. "valAx
|
|
node2 ?= node->find_from_name( name = 'valAx' namespace = 'c' ).
|
|
node3 ?= node2->find_from_name( name = 'orientation' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_orientation = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'delete' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_delete = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'axPos' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_axpos = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'numFmt' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_formatcode = ls_prop-formatcode.
|
|
lv_sourcelinked = ls_prop-sourcelinked.
|
|
node3 ?= node2->find_from_name( name = 'majorTickMark' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_majortickmark = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'majorTickMark' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_minortickmark = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'tickLblPos' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_ticklblpos = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'crossAx' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_crossax = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'crosses' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_crosses = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'crossBetween' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_crossbetween = ls_prop-val.
|
|
CALL METHOD lo_barchart->create_ax
|
|
EXPORTING
|
|
ip_axid = lv_axid
|
|
ip_type = zcl_excel_graph_bars=>c_valax
|
|
ip_orientation = lv_orientation
|
|
ip_delete = lv_delete
|
|
ip_axpos = lv_axpos
|
|
ip_formatcode = lv_formatcode
|
|
ip_sourcelinked = lv_sourcelinked
|
|
ip_majortickmark = lv_majortickmark
|
|
ip_minortickmark = lv_minortickmark
|
|
ip_ticklblpos = lv_ticklblpos
|
|
ip_crossax = lv_crossax
|
|
ip_crosses = lv_crosses
|
|
ip_crossbetween = lv_crossbetween.
|
|
ENDIF.
|
|
lo_node = lo_iterator->get_next( ).
|
|
IF lo_node IS BOUND.
|
|
node2 ?= lo_node->query_interface( ixml_iid_element ).
|
|
ENDIF.
|
|
ENDWHILE.
|
|
|
|
WHEN c_graph_pie.
|
|
node2 ?= node->find_from_name( name = 'varyColors' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_piechart->ns_varycolorsval = ls_prop-val.
|
|
|
|
"Load series
|
|
CALL METHOD node->get_elements_by_tag_name
|
|
EXPORTING
|
|
* depth = 0
|
|
name = 'ser'
|
|
* namespace = ''
|
|
RECEIVING
|
|
rval = lo_collection.
|
|
CALL METHOD lo_collection->create_iterator
|
|
RECEIVING
|
|
rval = lo_iterator.
|
|
lo_node = lo_iterator->get_next( ).
|
|
IF lo_node IS BOUND.
|
|
node2 ?= lo_node->query_interface( ixml_iid_element ).
|
|
ENDIF.
|
|
WHILE lo_node IS BOUND.
|
|
node3 ?= node2->find_from_name( name = 'idx' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_idx = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'order' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_order = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'v' namespace = 'c' ).
|
|
IF node3 IS BOUND.
|
|
lv_sername = node3->get_value( ).
|
|
ENDIF.
|
|
node3 ?= node2->find_from_name( name = 'strRef' namespace = 'c' ).
|
|
IF node3 IS BOUND.
|
|
node4 ?= node3->find_from_name( name = 'f' namespace = 'c' ).
|
|
lv_label = node4->get_value( ).
|
|
ENDIF.
|
|
node3 ?= node2->find_from_name( name = 'numRef' namespace = 'c' ).
|
|
IF node3 IS BOUND.
|
|
node4 ?= node3->find_from_name( name = 'f' namespace = 'c' ).
|
|
lv_value = node4->get_value( ).
|
|
ENDIF.
|
|
CALL METHOD lo_piechart->create_serie
|
|
EXPORTING
|
|
ip_idx = lv_idx
|
|
ip_order = lv_order
|
|
ip_lbl = lv_label
|
|
ip_ref = lv_value
|
|
ip_sername = lv_sername.
|
|
lo_node = lo_iterator->get_next( ).
|
|
IF lo_node IS BOUND.
|
|
node2 ?= lo_node->query_interface( ixml_iid_element ).
|
|
ENDIF.
|
|
ENDWHILE.
|
|
|
|
"note: numCache avoided
|
|
node2 ?= node->find_from_name( name = 'showLegendKey' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_piechart->ns_showlegendkeyval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showVal' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_piechart->ns_showvalval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showCatName' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_piechart->ns_showcatnameval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showSerName' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_piechart->ns_showsernameval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showPercent' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_piechart->ns_showpercentval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showBubbleSize' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_piechart->ns_showbubblesizeval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showLeaderLines' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_piechart->ns_showleaderlinesval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'firstSliceAng' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_piechart->ns_firstsliceangval = ls_prop-val.
|
|
WHEN c_graph_line.
|
|
node2 ?= node->find_from_name( name = 'grouping' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_linechart->ns_groupingval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'varyColors' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_linechart->ns_varycolorsval = ls_prop-val.
|
|
|
|
"Load series
|
|
CALL METHOD node->get_elements_by_tag_name
|
|
EXPORTING
|
|
* depth = 0
|
|
name = 'ser'
|
|
* namespace = ''
|
|
RECEIVING
|
|
rval = lo_collection.
|
|
CALL METHOD lo_collection->create_iterator
|
|
RECEIVING
|
|
rval = lo_iterator.
|
|
lo_node = lo_iterator->get_next( ).
|
|
IF lo_node IS BOUND.
|
|
node2 ?= lo_node->query_interface( ixml_iid_element ).
|
|
ENDIF.
|
|
WHILE lo_node IS BOUND.
|
|
node3 ?= node2->find_from_name( name = 'idx' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_idx = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'order' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_order = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'symbol' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_symbol = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'smooth' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_smooth = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'v' namespace = 'c' ).
|
|
IF node3 IS BOUND.
|
|
lv_sername = node3->get_value( ).
|
|
ENDIF.
|
|
node3 ?= node2->find_from_name( name = 'strRef' namespace = 'c' ).
|
|
IF node3 IS BOUND.
|
|
node4 ?= node3->find_from_name( name = 'f' namespace = 'c' ).
|
|
lv_label = node4->get_value( ).
|
|
ENDIF.
|
|
node3 ?= node2->find_from_name( name = 'numRef' namespace = 'c' ).
|
|
IF node3 IS BOUND.
|
|
node4 ?= node3->find_from_name( name = 'f' namespace = 'c' ).
|
|
lv_value = node4->get_value( ).
|
|
ENDIF.
|
|
CALL METHOD lo_linechart->create_serie
|
|
EXPORTING
|
|
ip_idx = lv_idx
|
|
ip_order = lv_order
|
|
ip_symbol = lv_symbol
|
|
ip_smooth = lv_smooth
|
|
ip_lbl = lv_label
|
|
ip_ref = lv_value
|
|
ip_sername = lv_sername.
|
|
lo_node = lo_iterator->get_next( ).
|
|
IF lo_node IS BOUND.
|
|
node2 ?= lo_node->query_interface( ixml_iid_element ).
|
|
ENDIF.
|
|
ENDWHILE.
|
|
"note: numCache avoided
|
|
node2 ?= node->find_from_name( name = 'showLegendKey' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_linechart->ns_showlegendkeyval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showVal' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_linechart->ns_showvalval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showCatName' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_linechart->ns_showcatnameval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showSerName' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_linechart->ns_showsernameval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showPercent' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_linechart->ns_showpercentval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showBubbleSize' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_linechart->ns_showbubblesizeval = ls_prop-val.
|
|
|
|
node ?= node->find_from_name( name = 'lineChart' namespace = 'c' ).
|
|
node2 ?= node->find_from_name( name = 'marker' namespace = 'c' DEPTH = '1' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_linechart->NS_MARKERVAL = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'smooth' namespace = 'c' DEPTH = '1' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_linechart->NS_SMOOTHVAL = ls_prop-val.
|
|
node ?= ip_chart->if_ixml_node~get_first_child( ).
|
|
CHECK node IS NOT INITIAL.
|
|
|
|
"Load axes
|
|
node2 ?= node->find_from_name( name = 'lineChart' namespace = 'c' ).
|
|
CALL METHOD node2->get_elements_by_tag_name
|
|
EXPORTING
|
|
* depth = 0
|
|
name = 'axId'
|
|
* namespace = ''
|
|
RECEIVING
|
|
rval = lo_collection.
|
|
CALL METHOD lo_collection->create_iterator
|
|
RECEIVING
|
|
rval = lo_iterator.
|
|
lo_node = lo_iterator->get_next( ).
|
|
IF lo_node IS BOUND.
|
|
node2 ?= lo_node->query_interface( ixml_iid_element ).
|
|
ENDIF.
|
|
WHILE lo_node IS BOUND.
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lv_axid = ls_prop-val.
|
|
IF sy-index EQ 1. "catAx
|
|
node2 ?= node->find_from_name( name = 'catAx' namespace = 'c' ).
|
|
node3 ?= node2->find_from_name( name = 'orientation' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_orientation = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'delete' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_delete = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'axPos' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_axpos = ls_prop-val.
|
|
* node3 ?= node2->find_from_name( name = 'numFmt' namespace = 'c' ).
|
|
* zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
* lv_formatcode = ls_prop-formatcode.
|
|
* lv_sourcelinked = ls_prop-sourcelinked.
|
|
node3 ?= node2->find_from_name( name = 'majorTickMark' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_majortickmark = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'majorTickMark' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_minortickmark = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'tickLblPos' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_ticklblpos = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'crossAx' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_crossax = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'crosses' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_crosses = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'auto' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_auto = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'lblAlgn' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_lblalgn = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'lblOffset' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_lbloffset = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'noMultiLvlLbl' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_nomultilvllbl = ls_prop-val.
|
|
CALL METHOD lo_linechart->create_ax
|
|
EXPORTING
|
|
ip_axid = lv_axid
|
|
ip_type = zcl_excel_graph_line=>c_catax
|
|
ip_orientation = lv_orientation
|
|
ip_delete = lv_delete
|
|
ip_axpos = lv_axpos
|
|
ip_formatcode = lv_formatcode
|
|
ip_sourcelinked = lv_sourcelinked
|
|
ip_majortickmark = lv_majortickmark
|
|
ip_minortickmark = lv_minortickmark
|
|
ip_ticklblpos = lv_ticklblpos
|
|
ip_crossax = lv_crossax
|
|
ip_crosses = lv_crosses
|
|
ip_auto = lv_auto
|
|
ip_lblalgn = lv_lblalgn
|
|
ip_lbloffset = lv_lbloffset
|
|
ip_nomultilvllbl = lv_nomultilvllbl.
|
|
ELSEIF sy-index EQ 2. "valAx
|
|
node2 ?= node->find_from_name( name = 'valAx' namespace = 'c' ).
|
|
node3 ?= node2->find_from_name( name = 'orientation' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_orientation = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'delete' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_delete = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'axPos' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_axpos = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'numFmt' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_formatcode = ls_prop-formatcode.
|
|
lv_sourcelinked = ls_prop-sourcelinked.
|
|
node3 ?= node2->find_from_name( name = 'majorTickMark' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_majortickmark = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'majorTickMark' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_minortickmark = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'tickLblPos' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_ticklblpos = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'crossAx' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_crossax = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'crosses' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_crosses = ls_prop-val.
|
|
node3 ?= node2->find_from_name( name = 'crossBetween' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = ls_prop ).
|
|
lv_crossbetween = ls_prop-val.
|
|
CALL METHOD lo_linechart->create_ax
|
|
EXPORTING
|
|
ip_axid = lv_axid
|
|
ip_type = zcl_excel_graph_line=>c_valax
|
|
ip_orientation = lv_orientation
|
|
ip_delete = lv_delete
|
|
ip_axpos = lv_axpos
|
|
ip_formatcode = lv_formatcode
|
|
ip_sourcelinked = lv_sourcelinked
|
|
ip_majortickmark = lv_majortickmark
|
|
ip_minortickmark = lv_minortickmark
|
|
ip_ticklblpos = lv_ticklblpos
|
|
ip_crossax = lv_crossax
|
|
ip_crosses = lv_crosses
|
|
ip_crossbetween = lv_crossbetween.
|
|
ENDIF.
|
|
lo_node = lo_iterator->get_next( ).
|
|
IF lo_node IS BOUND.
|
|
node2 ?= lo_node->query_interface( ixml_iid_element ).
|
|
ENDIF.
|
|
ENDWHILE.
|
|
WHEN OTHERS.
|
|
ENDCASE.
|
|
|
|
"legend
|
|
CASE me->graph_type.
|
|
WHEN c_graph_bars.
|
|
node2 ?= node->find_from_name( name = 'legendPos' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_barchart->ns_legendposval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'overlay' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_barchart->ns_overlayval = ls_prop-val.
|
|
WHEN c_graph_line.
|
|
node2 ?= node->find_from_name( name = 'legendPos' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_linechart->ns_legendposval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'overlay' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_linechart->ns_overlayval = ls_prop-val.
|
|
WHEN c_graph_pie.
|
|
node2 ?= node->find_from_name( name = 'legendPos' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_piechart->ns_legendposval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'overlay' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_piechart->ns_overlayval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'pPr' namespace = 'a' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_piechart->ns_pprrtl = ls_prop-rtl.
|
|
node2 ?= node->find_from_name( name = 'endParaRPr' namespace = 'a' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
lo_piechart->ns_endpararprlang = ls_prop-lang.
|
|
|
|
WHEN OTHERS.
|
|
ENDCASE.
|
|
|
|
node2 ?= node->find_from_name( name = 'plotVisOnly' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
me->graph->ns_plotvisonlyval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'dispBlanksAs' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
me->graph->ns_dispblanksasval = ls_prop-val.
|
|
node2 ?= node->find_from_name( name = 'showDLblsOverMax' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
|
|
me->graph->ns_showdlblsovermaxval = ls_prop-val.
|
|
"---------------------
|
|
|
|
node2 ?= node->find_from_name( name = 'pageMargins' namespace = 'c' ).
|
|
zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_pagemargins ).
|
|
me->graph->pagemargins = ls_pagemargins.
|
|
|
|
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="PIXEL2EMU" VERSION="1" LANGU="E" DESCRIPT="Convert pixel to EMU" EXPOSURE="2" STATE="1" EDITORDER="14 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="PIXEL2EMU" SCONAME="IP_PIXEL" VERSION="1" LANGU="E" DESCRIPT="Natural number" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="PIXEL2EMU" SCONAME="IP_DPI" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT2" PAROPTIONL="X"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="PIXEL2EMU" SCONAME="R_EMU" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
|
|
<source>method PIXEL2EMU.
|
|
* suppose 96 DPI
|
|
IF ip_dpi IS SUPPLIED.
|
|
r_emu = ip_pixel * 914400 / ip_dpi.
|
|
ELSE.
|
|
* suppose 96 DPI
|
|
r_emu = ip_pixel * 914400 / 96.
|
|
ENDIF.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA" VERSION="1" LANGU="E" DESCRIPT="Add media to drawing as XSTRING" EXPOSURE="2" STATE="1" EDITORDER="16 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA" SCONAME="IP_MEDIA" VERSION="1" LANGU="E" DESCRIPT="used only for template of charts" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="XSTRING" PAROPTIONL="X"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA" SCONAME="IP_MEDIA_TYPE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA" SCONAME="IP_WIDTH" VERSION="1" LANGU="E" DESCRIPT="used only for image types, not for charts" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4" PARVALUE="0"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA" SCONAME="IP_HEIGHT" VERSION="1" LANGU="E" DESCRIPT="used only for image types, not for charts" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4" PARVALUE="0"/>
|
|
<source>method SET_MEDIA.
|
|
IF ip_media IS SUPPLIED.
|
|
media = ip_media.
|
|
ENDIF.
|
|
media_type = ip_media_type.
|
|
media_source = c_media_source_xstring.
|
|
IF ip_width IS SUPPLIED.
|
|
size-width = ip_width.
|
|
ENDIF.
|
|
IF ip_height IS SUPPLIED.
|
|
size-height = ip_height.
|
|
ENDIF.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_MIME" VERSION="1" LANGU="E" DESCRIPT="Add media from mime repository" EXPOSURE="2" STATE="1" EDITORDER="17 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_MIME" SCONAME="IP_IO" VERSION="1" LANGU="E" DESCRIPT="KW Framework: Object Key" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="SKWF_IO"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_MIME" SCONAME="IP_WIDTH" VERSION="1" LANGU="E" DESCRIPT="Natural Number" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_MIME" SCONAME="IP_HEIGHT" VERSION="1" LANGU="E" DESCRIPT="Natural Number" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4"/>
|
|
<source>METHOD set_media_mime.
|
|
|
|
DATA: lv_language TYPE sylangu.
|
|
|
|
io = ip_io.
|
|
media_source = c_media_source_mime.
|
|
size-width = ip_width.
|
|
size-height = ip_height.
|
|
|
|
lv_language = sy-langu.
|
|
cl_wb_mime_repository=>load_mime( EXPORTING
|
|
io = ip_io
|
|
IMPORTING
|
|
filename = media_name
|
|
"mimetype = media_type
|
|
CHANGING
|
|
language = lv_language ).
|
|
|
|
SPLIT media_name AT '.' INTO media_name media_type.
|
|
|
|
ENDMETHOD.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_WWW" VERSION="1" LANGU="E" DESCRIPT="Add media from www repository SMW0" EXPOSURE="2" STATE="1" EDITORDER="18 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_WWW" SCONAME="IP_KEY" VERSION="1" LANGU="E" DESCRIPT="Contents of table WWWDATA" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="WWWDATATAB"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_WWW" SCONAME="IP_WIDTH" VERSION="1" LANGU="E" DESCRIPT="Natural number" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_WWW" SCONAME="IP_HEIGHT" VERSION="1" LANGU="E" DESCRIPT="Natural number" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4"/>
|
|
<source>method SET_MEDIA_WWW.
|
|
DATA: lv_value(20).
|
|
|
|
media_key_www = ip_key.
|
|
media_source = c_media_source_www.
|
|
|
|
CALL FUNCTION 'WWWPARAMS_READ'
|
|
EXPORTING
|
|
relid = media_key_www-relid
|
|
objid = media_key_www-objid
|
|
name = 'fileextension'
|
|
IMPORTING
|
|
value = lv_value.
|
|
media_type = lv_value.
|
|
SHIFT media_type LEFT DELETING LEADING '.'.
|
|
|
|
size-width = ip_width.
|
|
size-height = ip_height.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION" VERSION="1" LANGU="E" DESCRIPT="Set position of drawing" EXPOSURE="2" STATE="1" EDITORDER="19 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION" SCONAME="IP_FROM_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION" SCONAME="IP_FROM_COL" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION" SCONAME="IP_ROWOFF" VERSION="1" LANGU="E" DESCRIPT="Natural number" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4" PAROPTIONL="X"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION" SCONAME="IP_COLOFF" VERSION="1" LANGU="E" DESCRIPT="Natural number" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4" PAROPTIONL="X"/>
|
|
<source>method SET_POSITION.
|
|
from_loc-col = zcl_excel_common=>convert_column2int( ip_from_col ) - 1.
|
|
IF ip_coloff IS SUPPLIED.
|
|
from_loc-col_offset = ip_coloff.
|
|
ENDIF.
|
|
from_loc-row = ip_from_row - 1.
|
|
IF ip_rowoff IS SUPPLIED.
|
|
from_loc-row_offset = ip_rowoff.
|
|
ENDIF.
|
|
anchor = anchor_one_cell.
|
|
endmethod.</source>
|
|
</method>
|
|
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION2" VERSION="1" LANGU="E" DESCRIPT="Set position of drawing" EXPOSURE="2" STATE="1" EDITORDER="20 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION2" SCONAME="IP_FROM" VERSION="1" LANGU="E" DESCRIPT="Drawing location for Excel" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_LOCATION"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION2" SCONAME="IP_TO" VERSION="1" LANGU="E" DESCRIPT="Drawing location for Excel" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_LOCATION"/>
|
|
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION2" SCONAME="IP_ANCHOR" VERSION="1" LANGU="E" DESCRIPT="Excel Drawing anchor" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_ANCHOR" PAROPTIONL="X"/>
|
|
<source>method SET_POSITION2.
|
|
|
|
data: lv_anchor type zexcel_drawing_anchor.
|
|
lv_anchor = ip_anchor.
|
|
|
|
IF lv_anchor IS INITIAL.
|
|
IF ip_to IS NOT INITIAL.
|
|
lv_anchor = anchor_two_cell.
|
|
ELSE.
|
|
lv_anchor = anchor_one_cell.
|
|
ENDIF.
|
|
ENDIF.
|
|
|
|
CASE lv_anchor.
|
|
WHEN anchor_absolute OR anchor_one_cell.
|
|
CLEAR: me->to_loc.
|
|
WHEN anchor_two_cell.
|
|
CLEAR: me->size.
|
|
ENDCASE.
|
|
|
|
me->from_loc = ip_from.
|
|
me->to_loc = ip_to.
|
|
me->anchor = lv_anchor.
|
|
|
|
endmethod.</source>
|
|
</method>
|
|
</CLAS>
|