abap2xlsx/ZA2X/CLAS/ZCL_EXCEL_DRAWING.slnk
2012-11-30 17:54:06 +00:00

562 lines
37 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Drawing" UUID="F950494D16947660E1000000C0A8FA28" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<publicSection>class ZCL_EXCEL_DRAWING definition
public
final
create public .
public section.
*&quot;* public components of class ZCL_EXCEL_DRAWING
*&quot;* do not include other source files here!!!
type-pools ABAP .
constants C_GRAPH_PIE type ZEXCEL_GRAPH_TYPE value &apos;1&apos;. &quot;#EC NOTEXT
constants C_GRAPH_BARS type ZEXCEL_GRAPH_TYPE value &apos;0&apos;. &quot;#EC NOTEXT
data GRAPH_TYPE type ZEXCEL_GRAPH_TYPE .
data TITLE type STRING value &apos;image1.jpg&apos;. &quot;#EC NOTEXT .
data X_REFERENCES type CHAR1 .
data Y_REFERENCES type CHAR1 .
constants TYPE_IMAGE type ZEXCEL_DRAWING_TYPE value &apos;image&apos;. &quot;#EC NOTEXT
constants TYPE_CHART type ZEXCEL_DRAWING_TYPE value &apos;chart&apos;. &quot;#EC NOTEXT
constants ANCHOR_ABSOLUTE type ZEXCEL_DRAWING_ANCHOR value &apos;ABS&apos;. &quot;#EC NOTEXT
constants ANCHOR_ONE_CELL type ZEXCEL_DRAWING_ANCHOR value &apos;ONE&apos;. &quot;#EC NOTEXT
constants ANCHOR_TWO_CELL type ZEXCEL_DRAWING_ANCHOR value &apos;TWO&apos;. &quot;#EC NOTEXT
data GRAPH type ref to ZCL_EXCEL_GRAPH .
methods CONSTRUCTOR
importing
!IP_TYPE type ZEXCEL_DRAWING_TYPE default ZCL_EXCEL_DRAWING=&gt;TYPE_IMAGE
!IP_TITLE type ZEXCEL_SHEET_TITLE optional .
methods CREATE_MEDIA_NAME
importing
!IP_INDEX type I .
methods GET_FROM_COL
returning
value(R_FROM_COL) type ZEXCEL_CELL_COLUMN .
methods GET_FROM_ROW
returning
value(R_FROM_ROW) type ZEXCEL_CELL_ROW .
methods GET_GUID
returning
value(EP_GUID) type GUID_16 .
methods GET_HEIGHT_EMU_STR
returning
value(R_HEIGHT) type STRING .
methods GET_MEDIA
returning
value(R_MEDIA) type XSTRING .
methods GET_MEDIA_NAME
returning
value(R_NAME) type STRING .
methods GET_MEDIA_TYPE
returning
value(R_TYPE) type STRING .
methods GET_NAME
returning
value(R_NAME) type STRING .
methods GET_TO_COL
returning
value(R_TO_COL) type ZEXCEL_CELL_COLUMN .
methods GET_TO_ROW
returning
value(R_TO_ROW) type ZEXCEL_CELL_ROW .
methods GET_WIDTH_EMU_STR
returning
value(R_WIDTH) type STRING .
class-methods PIXEL2EMU
importing
!IP_PIXEL type INT4
!IP_DPI type INT2 optional
returning
value(R_EMU) type INT4 .
methods SET_MEDIA
importing
!IP_MEDIA type XSTRING
!IP_MEDIA_TYPE type STRING
!IP_WIDTH type INT4
!IP_HEIGHT type INT4 .
methods SET_MEDIA_MIME
importing
!IP_IO type SKWF_IO
!IP_WIDTH type INT4
!IP_HEIGHT type INT4 .
methods SET_MEDIA_WWW
importing
!IP_KEY type WWWDATATAB
!IP_WIDTH type INT4
!IP_HEIGHT type INT4 .
methods SET_POSITION
importing
!IP_FROM_ROW type ZEXCEL_CELL_ROW
!IP_FROM_COL type ZEXCEL_CELL_COLUMN_ALPHA .
methods SET_POSITION2
importing
!IP_FROM type ZEXCEL_DRAWING_LOCATION
!IP_TO type ZEXCEL_DRAWING_LOCATION
!IP_ANCHOR type ZEXCEL_DRAWING_ANCHOR optional .
methods GET_POSITION
returning
value(RP_POSITION) type ZEXCEL_DRAWING_POSITION .
methods GET_TYPE
returning
value(RP_TYPE) type ZEXCEL_DRAWING_TYPE .
methods GET_INDEX
returning
value(RP_INDEX) type STRING .
methods LOAD_CHART_ATTRIBUTES
importing
value(IP_CHART) type ref to IF_IXML_DOCUMENT .</publicSection>
<protectedSection>*&quot;* protected components of class ZCL_EXCEL_DRAWING
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
<privateSection>private section.
*&quot;* private components of class ZCL_EXCEL_DRAWING
*&quot;* do not include other source files here!!!
data TYPE type ZEXCEL_DRAWING_TYPE value TYPE_IMAGE. &quot;#EC NOTEXT .
data INDEX type STRING .
data ANCHOR type ZEXCEL_DRAWING_ANCHOR value ANCHOR_ONE_CELL. &quot;#EC NOTEXT .
constants C_MEDIA_SOURCE_WWW type CHAR1 value 1. &quot;#EC NOTEXT
constants C_MEDIA_SOURCE_XSTRING type CHAR1 value 0. &quot;#EC NOTEXT
constants C_MEDIA_SOURCE_MIME type CHAR1 value 2. &quot;#EC NOTEXT
data GUID type GUID_16 .
data MEDIA type XSTRING .
data MEDIA_KEY_WWW type WWWDATATAB .
data MEDIA_NAME type STRING .
data MEDIA_SOURCE type CHAR1 .
data MEDIA_TYPE type STRING .
data IO type SKWF_IO .
data FROM_LOC type ZEXCEL_DRAWING_LOCATION .
data TO_LOC type ZEXCEL_DRAWING_LOCATION .
data SIZE type ZEXCEL_DRAWING_SIZE .</privateSection>
<localImplementation>*&quot;* local class implementation for public class
*&quot;* use this source file for the implementation part of
*&quot;* local helper classes</localImplementation>
<localTypes>*&quot;* use this source file for any type declarations (class
*&quot;* definitions, interfaces or data types) you need for method
*&quot;* implementation or private method&apos;s signature</localTypes>
<localMacros>*&quot;* use this source file for any macro definitions you need
*&quot;* 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="15 " 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="9 " ATTDECLTYP="2" ATTVALUE="&apos;ABS&apos;" 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="10 " ATTDECLTYP="2" ATTVALUE="&apos;ONE&apos;" 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="11 " ATTDECLTYP="2" ATTVALUE="&apos;TWO&apos;" 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="2 " ATTDECLTYP="2" ATTVALUE="&apos;0&apos;" 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="&apos;1&apos;" 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="18 " 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="16 " 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="17 " 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="FROM_LOC" VERSION="1" LANGU="E" DESCRIPT="Drawing location for Excel" EXPOSURE="0" STATE="1" EDITORDER="26 " 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="12 " 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="3 " 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 &apos;RAW&apos; format" EXPOSURE="0" STATE="1" EDITORDER="19 " 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="14 " 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="25 " 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="20 " 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="21 " 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="22 " 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="23 " 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="24 " 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="28 " 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="4 " ATTDECLTYP="0" ATTVALUE="&apos;image1.jpg&apos;" 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="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="TYPE" VERSION="1" LANGU="E" DESCRIPT="Drawing type: image|chart" EXPOSURE="0" STATE="1" EDITORDER="13 " 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="8 " ATTDECLTYP="2" ATTVALUE="&apos;chart&apos;" 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="7 " ATTDECLTYP="2" ATTVALUE="&apos;image&apos;" 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="5 " 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="6 " 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=&gt;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="ZEXCEL_SHEET_TITLE" PAROPTIONL="X"/>
<source>method CONSTRUCTOR.
CALL FUNCTION &apos;GUID_CREATE&apos;
IMPORTING
ev_guid_16 = me-&gt;guid.
IF ip_title IS NOT INITIAL.
title = ip_title.
ELSE.
title = me-&gt;guid.
ENDIF.
me-&gt;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-&gt;type index INTO media_name.
CONDENSE media_name NO-GAPS.
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-&gt;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-&gt;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 &apos;RAW&apos; 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-&gt;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="22 " 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-&gt;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.
CASE media_source.
WHEN c_media_source_xstring.
r_media = media.
WHEN c_media_source_www.
DATA: lt_mime TYPE tsfmime,
lv_filesize TYPE i,
lv_filesizec(10).
CALL FUNCTION &apos;WWWDATA_IMPORT&apos;
EXPORTING
key = media_key_www
TABLES
mime = lt_mime
EXCEPTIONS
OTHERS = 1.
CALL FUNCTION &apos;WWWPARAMS_READ&apos;
EXPORTING
relid = media_key_www-relid
objid = media_key_www-objid
name = &apos;filesize&apos;
IMPORTING
value = lv_filesizec.
lv_filesize = lv_filesizec.
CALL FUNCTION &apos;SCMS_BINARY_TO_XSTRING&apos;
EXPORTING
input_length = lv_filesize
IMPORTING
buffer = r_media
TABLES
binary_tab = lt_mime
EXCEPTIONS
failed = 1
OTHERS = 2.
WHEN c_media_source_mime.
DATA: lt_bin_mime TYPE sdokcntbins.
cl_wb_mime_repository=&gt;load_mime( EXPORTING
io = me-&gt;io
IMPORTING
filesize = lv_filesize
bin_data = lt_bin_mime
CHANGING
language = sy-langu ).
CALL FUNCTION &apos;SCMS_BINARY_TO_XSTRING&apos;
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="20 " 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-&gt;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-&gt;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="21 " 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-&gt;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="23 " 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: node5 TYPE REF TO if_ixml_element.
DATA: node6 TYPE REF TO if_ixml_element.
DATA: node7 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.
* chartspace = ip_chart-&gt;get_elements_by_tag_name( name = &apos;chartSpace&apos; namespace = &apos;c&apos; ).
* coll_length = chartspace-&gt;get_length( ).
* iterator = chartspace-&gt;create_iterator( ).
*
* DO coll_length TIMES. &quot;always 1
* chartelem ?= iterator-&gt;get_next( ).
*
* node ?= chartelem-&gt;find_from_name( name = &apos;chart&apos; namespace = &apos;c&apos; ).
TYPES: BEGIN OF t_prop,
val TYPE string,
END OF t_prop.
DATA ls_prop TYPE t_prop.
node ?= ip_chart-&gt;if_ixml_node~get_first_child( ).
CHECK node IS NOT INITIAL.
node2 ?= node-&gt;find_from_name( name = &apos;plotArea&apos; namespace = &apos;c&apos; ).
CHECK node2 IS NOT INITIAL.
node3 ?= node2-&gt;find_from_name( name = &apos;pieChart&apos; namespace = &apos;c&apos; ).
IF node3 IS INITIAL.
node3 ?= node2-&gt;find_from_name( name = &apos;barChart&apos; namespace = &apos;c&apos; ).
IF node3 IS NOT INITIAL.
me-&gt;graph_type = c_graph_bars.
ENDIF.
ELSE.
me-&gt;graph_type = c_graph_pie.
ENDIF.
CHECK node3 IS NOT INITIAL.
node4 ?= node3-&gt;find_from_name( name = &apos;ser&apos; namespace = &apos;c&apos; ).
CHECK node4 IS NOT INITIAL.
node5 ?= node4-&gt;find_from_name( name = &apos;val&apos; namespace = &apos;c&apos; ).
CHECK node5 IS NOT INITIAL.
node6 ?= node5-&gt;find_from_name( name = &apos;numRef&apos; namespace = &apos;c&apos; ).
CHECK node6 IS NOT INITIAL.
node7 ?= node6-&gt;find_from_name( name = &apos;f&apos; namespace = &apos;c&apos; ).
CHECK node7 IS NOT INITIAL.
CASE me-&gt;graph_type.
WHEN c_graph_bars.
CREATE OBJECT lo_barchart.
me-&gt;graph = lo_barchart.
WHEN c_graph_pie.
CREATE OBJECT lo_piechart.
me-&gt;graph = lo_piechart.
WHEN OTHERS.
ENDCASE.
me-&gt;graph-&gt;ref = node7-&gt;get_value( ).
&quot;Fill properties
node2 ?= node-&gt;find_from_name( name = &apos;date1904&apos; namespace = &apos;c&apos; ).
ZCL_EXCEL_READER_2007=&gt;fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
me-&gt;graph-&gt;ns_1904val = ls_prop-val.
node2 ?= node-&gt;find_from_name( name = &apos;lang&apos; namespace = &apos;c&apos; ).
ZCL_EXCEL_READER_2007=&gt;fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
me-&gt;graph-&gt;ns_langval = ls_prop-val.
node2 ?= node-&gt;find_from_name( name = &apos;roundedCorners&apos; namespace = &apos;c&apos; ).
ZCL_EXCEL_READER_2007=&gt;fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ).
me-&gt;graph-&gt;ns_roundedcornersval = ls_prop-val.
* node ?= chartElem-&gt;find_from_name( name = &apos;graphicFrame&apos; namespace = &apos;xdr&apos; ).
* IF node IS NOT INITIAL.
* node2 ?= node-&gt;find_from_name( name = &apos;nvGraphicFramePr&apos; namespace = &apos;xdr&apos; ).
* CHECK node2 IS NOT INITIAL.
* node3 ?= node2-&gt;find_from_name( name = &apos;cNvPr&apos; namespace = &apos;xdr&apos; ).
* CHECK node3 IS NOT INITIAL.
* me-&gt;fill_struct_from_attributes( EXPORTING ip_element = node3 CHANGING cp_structure = cnvpr ).
* lv_title = cnvpr-name.
* ENDIF.
* ENDDO.
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" DESCRIPT="Natural number" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="INT4"/>
<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="15 " 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" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="XSTRING"/>
<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="Natural number" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4"/>
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA" SCONAME="IP_HEIGHT" VERSION="1" LANGU="E" DESCRIPT="Natural number" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4"/>
<source>method SET_MEDIA.
media = ip_media.
media_type = ip_media_type.
media_source = c_media_source_xstring.
size-width = ip_width.
size-height = ip_height.
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="16 " 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.
io = ip_io.
media_source = c_media_source_mime.
size-width = ip_width.
size-height = ip_height.
cl_wb_mime_repository=&gt;load_mime( EXPORTING
io = ip_io
IMPORTING
filename = media_name
&quot;mimetype = media_type
CHANGING
language = sy-langu ).
SPLIT media_name AT &apos;.&apos; 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="17 " 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 &apos;WWWPARAMS_READ&apos;
EXPORTING
relid = media_key_www-relid
objid = media_key_www-objid
name = &apos;fileextension&apos;
IMPORTING
value = lv_value.
media_type = lv_value.
SHIFT media_type LEFT DELETING LEADING &apos;.&apos;.
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="18 " 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"/>
<source>method SET_POSITION.
from_loc-col = zcl_excel_common=&gt;convert_column2int( ip_from_col ) - 1.
from_loc-row = ip_from_row - 1.
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="19 " 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-&gt;to_loc.
WHEN anchor_two_cell.
CLEAR: me-&gt;size.
ENDCASE.
me-&gt;from_loc = ip_from.
me-&gt;to_loc = ip_to.
me-&gt;anchor = lv_anchor.
endmethod.</source>
</method>
</CLAS>