2 Ways to Work with Excel in SAP ABAP

well, hello again guys, this time i will teach you how to work with excel in SAP ABAP. there are times when you need to work with excel, because of report or anything.

  1. TRANSFORMATION

with this technology you can create an excel based report with the help of xml, basically this technique creates an excel file based on xml code, you can code your own templates and do a loop for input the data into the desired cells, as well as the styles of the cells,

to do this you can call a tcode XSLT_TOOL, it should look like this.

XSLT_TOOL

hit enter and it should look like this

that is an xml code you are looking at, based on this code the file of excel will be generated.

Usually, the data will starts with tag “Table”, you just need to find this to do the modification.

as for my experience, i would like to save the template to simplify my future work.

<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates"
              xmlns:ddic="http://www.sap.com/abapxml/types/dictionary"
              xmlns:def="http://www.sap.com/abapxml/types/defined">

<!--  <tt:root name="ROOT"/>
  <tt:root name="ADDCOL"/>
  <tt:root name="KKKS"/>
  <tt:root name="BULAN"/>
  <tt:root name="TAHUN"/>-->
<!--  <tt:root name="ITEMS" type="ddic:ZTTWM_LMLO_EXCEL"/>-->
  <tt:root name="ITEMS"/>
<tt:template>
    <!--***********************
        ***** Excel Begin *****-->
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:x="urn:schemas-microsoft-com:office:excel"
 xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:html="http://www.w3.org/TR/REC-html40">
 <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
  <Author>Muhammad Farhan Hamami</Author>
  <LastAuthor>TMH-PC</LastAuthor>
  <Created>2018-01-19T07:52:27Z</Created>
  <LastSaved>2019-08-07T03:54:39Z</LastSaved>
  <Version>16.00</Version>
 </DocumentProperties>
 <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
  <AllowPNG/>
 </OfficeDocumentSettings>
 <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
  <WindowHeight>7650</WindowHeight>
  <WindowWidth>20490</WindowWidth>
  <WindowTopX>0</WindowTopX>
  <WindowTopY>0</WindowTopY>
  <ProtectStructure>False</ProtectStructure>
  <ProtectWindows>False</ProtectWindows>
 </ExcelWorkbook>
 <Styles>
  <Style ss:ID="Default" ss:Name="Normal">
   <Alignment ss:Vertical="Bottom"/>
   <Borders/>
   <Font ss:FontName="Calibri" x:CharSet="1" x:Family="Swiss" ss:Size="11"
    ss:Color="#000000"/>
   <Interior/>
   <NumberFormat/>
   <Protection/>
  </Style>
  <Style ss:ID="m2428966931312">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931332">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931352">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931372">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931392">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931412">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966937552">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966937572">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966937592">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966937612">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966937632">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966937652">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931104">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931124">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931144">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931164">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931184">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931204">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931224">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931244">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931264">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="m2428966931284">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#F2F2F2" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="s62">
   <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
   <NumberFormat ss:Format="@"/>
  </Style>
  <Style ss:ID="s63">
   <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
   <NumberFormat ss:Format="@"/>
  </Style>
  <Style ss:ID="s64">
   <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
   <NumberFormat ss:Format="Standard"/>
  </Style>
  <Style ss:ID="s65">
   <Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="s66">
   <Alignment ss:Vertical="Center"/>
   <Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="14" ss:Color="#000000"
    ss:Bold="1" ss:Italic="1"/>
   <Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
  </Style>
  <Style ss:ID="s73">
   <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
   <Borders>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
   <NumberFormat ss:Format="@"/>
  </Style>
  <Style ss:ID="s74">
   <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
   <Borders>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
   <NumberFormat ss:Format="@"/>
  </Style>
  <Style ss:ID="s75">
   <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
   <Borders>
    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
   <NumberFormat ss:Format="Standard"/>
  </Style>
  <Style ss:ID="s76">
   <Alignment ss:Horizontal="Left" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
   <NumberFormat ss:Format="@"/>
  </Style>
  <Style ss:ID="s77">
   <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
   <Borders>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
     ss:Color="#000000"/>
   </Borders>
   <Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
   <NumberFormat ss:Format="@"/>
  </Style>
 </Styles>
 <Worksheet ss:Name="LAPORAN MATERIAL LIST OWNERSHIP">
  <Table ss:ExpandedColumnCount="30" ss:ExpandedRowCount="999999999" x:FullColumns="1"
   x:FullRows="1" ss:DefaultRowHeight="18.00">
   <Column ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="45.75"/>
   <Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="67.5"/>
   <Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="28.5"/>
   <Column ss:StyleID="s64" ss:AutoFitWidth="0" ss:Width="93.75"/>
   <Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="297.75"/>
   <Column ss:StyleID="s64" ss:AutoFitWidth="0" ss:Width="52.5"/>
   <Column ss:StyleID="s64" ss:AutoFitWidth="0" ss:Width="82.5"/>
   <Column ss:StyleID="s63" ss:AutoFitWidth="0" ss:Width="72"/>
   <Column ss:StyleID="s64" ss:AutoFitWidth="0" ss:Width="45.75"/>
   <Column ss:Index="11" ss:AutoFitWidth="0" ss:Width="57.75"/>
   <Column ss:Index="13" ss:AutoFitWidth="0" ss:Width="91.5"/>
   <Column ss:AutoFitWidth="0" ss:Width="68.25"/>
   <Column ss:AutoFitWidth="0" ss:Width="72.75"/>
   <Column ss:AutoFitWidth="0" ss:Width="51"/>
   <Column ss:Index="18" ss:AutoFitWidth="0" ss:Width="88.5"/>
   <Column ss:Index="20" ss:AutoFitWidth="0" ss:Width="123.75" ss:Span="1"/>
   <Column ss:Index="23" ss:AutoFitWidth="0" ss:Width="195.75"/>
   <Row ss:AutoFitHeight="0" ss:Height="18.75">
<!--   <Row ss:AutoFitHeight="0" ss:Height="15.00">-->
    <Cell ss:StyleID="s66"><Data ss:Type="String">LAPORAN MATERIAL LIST OWNERSHIP</Data></Cell>
    <Cell ss:StyleID="s66"/>
    <Cell ss:StyleID="s66"/>
    <Cell ss:StyleID="s66"/>
    <Cell ss:StyleID="s66"/>
    <Cell ss:StyleID="s65"/>
    <Cell ss:StyleID="s65"/>
    <Cell ss:StyleID="s65"/>
    <Cell ss:StyleID="s65"/>
   </Row>
   <Row ss:AutoFitHeight="0">
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931312"><Data ss:Type="String">No.</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931332"><Data ss:Type="String">Transaction Date</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931352"><Data ss:Type="String">CoCd</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931352"><Data ss:Type="String">Company Name</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931372"><Data ss:Type="String">Material No.</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931392"><Data ss:Type="String">Material Descr.</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931104"><Data ss:Type="String">Add Desc</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931412"><Data ss:Type="String">Plant</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931412"><Data ss:Type="String">Plant Name</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966937632"><Data ss:Type="String">Batch</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966937652"><Data ss:Type="String">Val Type</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966937552"><Data ss:Type="String">Sloc</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966937552"><Data ss:Type="String">Storage Location Name</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931204"><Data ss:Type="String">StorTy</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931224"><Data ss:Type="String">Storage Bin</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931244"><Data ss:Type="String">Qty</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931244"><Data ss:Type="String">Base Unit Of Measure Material</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931264"><Data ss:Type="String">Vendor</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931264"><Data ss:Type="String">Vendor Name</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931284"><Data ss:Type="String">Price</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931284"><Data ss:Type="String">Unit Price</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966937572"><Data ss:Type="String">Value</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966937592"><Data ss:Type="String">Days</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966937612"><Data ss:Type="String">PurpCd</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931124"><Data ss:Type="String">Owner</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931144"><Data ss:Type="String">Reff Doc</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931164"><Data ss:Type="String">CC/WBS</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931184"><Data ss:Type="String">Status</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931104"><Data ss:Type="String">Add Info</Data></Cell>
    <Cell ss:MergeDown="2" ss:StyleID="m2428966931184"><Data ss:Type="String">Fix Bin</Data></Cell>
   </Row>

   <Row ss:AutoFitHeight="0" ss:Span="1"/>

<tt:loop ref=".ITEMS">
<!--   <tt:s-cond s-check="END_LINE!='X'">-->
<!--   <Row ss:AutoFitHeight="0">-->
    <Row ss:AutoFitHeight="0" ss:Height="15.00">
<!--    <Row  ss:Height="15.00">-->
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="NOMOR"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="BUDAT"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="BUKRS"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="COM_NAME"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="MATNR"/></Data></Cell>
    <Cell ss:StyleID="s76"><Data ss:Type="String"><tt:value ref="MAKTX"/></Data></Cell>
    <Cell ss:StyleID="s76"><Data ss:Type="String"><tt:value ref="ADD_DESC"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="WERKS"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="PLA_NAME"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="CHARG"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="BWTAR"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="LGORT"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="SLOC_NAME"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="LGTYP"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="DLPLA"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="MENGE"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="BUOU_MAT"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="LIFNR"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="VEN_NAME"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="PRICE"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="PEINH"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="VALUE"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="DAYS"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="PRPCD"/></Data></Cell>
    <Cell ss:StyleID="s76"><Data ss:Type="String"><tt:value ref="OWNER"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="REFFDOC"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="CCWBS"/></Data></Cell>
    <Cell ss:StyleID="s76"><Data ss:Type="String"><tt:value ref="STATUS"/></Data></Cell>
    <Cell ss:StyleID="s76"><Data ss:Type="String"><tt:value ref="ADDINF"/></Data></Cell>
    <Cell ss:StyleID="s76"><Data ss:Type="String"><tt:value ref="LGPBE"/></Data></Cell>
   </Row>
<!-- </tt:s-cond>-->
   <tt:s-cond s-check="END_LINE='X'">
<!--   <Row ss:AutoFitHeight="0">
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="NOMOR"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="BUDAT"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="BUKRS"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="MATNR"/></Data></Cell>
    <Cell ss:StyleID="s76"><Data ss:Type="String"><tt:value ref="MAKTX"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="WERKS"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="CHARG"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="BWTAR"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="LGORT"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="LGTYP"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="DLPLA"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="MENGE"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="LIFNR"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="PRICE"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="VALUE"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="DAYS"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="PRPCD"/></Data></Cell>
    <Cell ss:StyleID="s76"><Data ss:Type="String"><tt:value ref="OWNER"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="REFFDOC"/></Data></Cell>
    <Cell ss:StyleID="s77"><Data ss:Type="String"><tt:value ref="CCWBS"/></Data></Cell>
    <Cell ss:StyleID="s76"><Data ss:Type="String"><tt:value ref="STATUS"/></Data></Cell>
    <Cell ss:StyleID="s76"><Data ss:Type="String"><tt:value ref="ADDINF"/></Data></Cell>
   </Row>-->-->
   <Row ss:AutoFitHeight="0">
    <Cell ss:StyleID="s73"/>
    <Cell ss:StyleID="s74"/>
    <Cell ss:StyleID="s74"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s74"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s74"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
    <Cell ss:StyleID="s75"/>
   </Row>
   </tt:s-cond>
   </tt:loop>
<!--   <Row ss:AutoFitHeight="0">
    <Cell ss:Index="10" ss:StyleID="s64"/>
    <Cell ss:StyleID="s64"/>
    <Cell ss:StyleID="s64"/>
    <Cell ss:StyleID="s64"/>
    <Cell ss:StyleID="s64"/>
    <Cell ss:StyleID="s64"/>
    <Cell ss:StyleID="s64"/>
    <Cell ss:StyleID="s64"/>
    <Cell ss:StyleID="s64"/>
    <Cell ss:StyleID="s64"/>
    <Cell ss:StyleID="s64"/>
    <Cell ss:StyleID="s64"/>
    <Cell ss:StyleID="s64"/>
   </Row>-->
  </Table>
  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
   <PageSetup>
    <Header x:Margin="0.3"/>
    <Footer x:Margin="0.3"/>
    <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
   </PageSetup>
   <Unsynced/>
   <Print>
    <ValidPrinterInfo/>
    <PaperSizeIndex>9</PaperSizeIndex>
    <HorizontalResolution>600</HorizontalResolution>
    <VerticalResolution>600</VerticalResolution>
   </Print>
   <Zoom>70</Zoom>
   <PageBreakZoom>60</PageBreakZoom>
   <Selected/>
   <ProtectObjects>False</ProtectObjects>
   <ProtectScenarios>False</ProtectScenarios>
  </WorksheetOptions>
 </Worksheet>
</Workbook>


    <!--****** Excel End ******
        ***********************-->

</tt:template>

</tt:transform>

and to call this transformation you can use this code

METHOD download_to_server.

    DATA: lt_stream TYPE esy_tt_rcgrepfile.
    DATA: lv_addcol    TYPE c LENGTH 1,
          lv_kkks      TYPE ztmm_kkks-zcode_kkks,
          lv_transform TYPE cxsltdesc,
          lv_xml       TYPE string,
          lv_file      TYPE eseiefile,
          lv_temp      TYPE text255.



    lv_transform = 'ZSTRANS_MLO_01A'.
    CALL TRANSFORMATION (lv_transform)
      SOURCE
*        addcol = lv_addcol
*        kkks   = lv_temp
*        bulan  = p_monat+4(2)
*        tahun  = p_monat(4)
        items  = me->gt_out
      RESULT XML
        lv_xml.

    DATA(lo_xml) = NEW cl_xml_document( ).
    lo_xml->parse_string( lv_xml ).
    lo_xml->render_2_table(
      IMPORTING
        retcode      = DATA(lv_subrc)     " Return code
        table        = lt_stream          " Table (STREAM)
        size         = DATA(lv_size) ).   " File Size (Number of Characters)
    CHECK lv_subrc = 0.

    DATA(lv_fileo) = |ZMMIM_R054_{ s_bukrs-low }_{ sy-datum }_{ sy-uzeit }.xls|.
    lv_file = |{ p_servr }ZMMIM_R054_{ s_bukrs-low }_{ sy-datum }_{ sy-uzeit }.xls|.

    OPEN DATASET lv_file FOR OUTPUT IN BINARY MODE.
    LOOP AT lt_stream INTO DATA(ls_stream).
      TRANSFER ls_stream-orblk TO lv_file.
    ENDLOOP.
    CLOSE DATASET lv_file.
    MESSAGE s019(zm) WITH 'File' lv_fileo 'downloaded'.
  ENDMETHOD.

2. BDS

this technology requires a file templates of your excel, with the help of tcode OAOR,

hit execute and it should look like this

on the right side, you should see the excel file you are working on, but in this case i havent installed my office yet so it didnt pop up.

and to call this bds you just need to code

 METHOD display_data_excel.
    DATA: lv_descr TYPE bds_propva.
    lv_descr = 'ZMMIM_R054'.

    me->go_oi = NEW zcl_office_integration( use_default_container = abap_true ).
    me->go_oi->open_document(
        classname     = 'ZMMIM_R054'    " CLASSNAME
        objectkey     = 'ZMMIM_R054'    " OBJECTKEY
        description   = lv_descr
         ).       " DESCRIPTION
    me->set_contents( ).
    me->go_oi->excel_set_ranges( ).
    SET PF-STATUS 'DEFAULT_STATUS'.
  ENDMETHOD.

but to do this path, you need ZCL_OFFICE_INTEGRATION Class

there you go,

hope you can find it usefull,

cheers mate.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *