Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
abap2xlsx<br />Generate your professional Excel spreadsheet from ABAP<br />Ivan Femia<br />SCN Active Member<br />@IvanFem...
Agenda<br />2<br />Introduction<br />Export data AS-IS<br />Standard solution<br />Custom solution<br />abap2xlsx solution...
Agenda<br />3<br />Introduction<br />Export data AS-IS<br />Standard solution<br />Custom solution<br />abap2xlsx solution...
4<br />Mr. abap2xlsx ID<br />abap2xlsx<br />Community Driven project for happier users<br />Birthday<br />July, 12th 2010 ...
The goal<br />5<br />Improving ABAP capabilities to create and read rich .xlsx files<br />
“you know, to work I use this Excel but now we need to upload it into the system…”<br />Some days later…<br />“well Ivan, ...
The result<br />7<br />Wow<br />
The result<br />8<br />“Ivan, you know, everyday the system has also to eMail the Excel to each recipient and let them dow...
Agenda<br />9<br />Introduction<br />Export data AS-IS<br />Standard solution<br />Custom solution<br />abap2xlsx solution...
Standard solution<br />10<br />Most of the standard SAP components (such as ABAP ALV, WebDynpro ALV, System menu, etc.) pr...
Are not available for example in case you want to send it as email attachment or in a batch process.
Have a no professional Look and Feel</li></li></ul><li>Custom solution<br />11<br />To avoid some limitations and create s...
No conditional formatting
HTML extension is not associated by default with MS Excel
No advanced features</li></li></ul><li>Custom solution<br />12<br />Community was really active, SDN contributors began to...
Cannot be used in a no dialog process
Cannot send as email attachment (without some dirty trick)
Is platform dependent</li></li></ul><li>Export data AS-IS<br />13<br />Which one do you prefer?<br />
New frontiers<br />14<br />I prefer this one!<br />abap2xlsx inside – full optional – unlimited miles<br />
Agenda<br />15<br />Introduction<br />Export data AS-IS<br />Standard solution<br />Custom solution<br />abap2xlsx solutio...
Old scenario<br />16<br />Request an export<br />It is so difficult to analyze the data<br />User reaction<br />
abap2xlsx scenario<br />17<br />Request an Excel<br />Green light!<br />I can get my bonus this year!<br />User reaction<b...
abap2xls solution<br />18<br />On June 2010 I had an idea; use ABAP to create Excel from scratch based on Open XML standar...
Open XML was developed by Microsoft starting from 2000 and has been standardized in 2006 by Ecma International (as ECMA-37...
Open XML<br />20<br />An Office Open XML file is a ZIP-compatible OPC package containing XML documents and other resources...
Agenda<br />21<br />Introduction<br />Export data AS-IS<br />Standard solution<br />Custom solution<br />abap2xlsx solutio...
Compare tecnologies<br />22<br />SCN Olympic Games<br />2011<br />
CSV Properties<br />23<br />
HTML & MHTML Properties<br />24<br />Font styles<br />Formulas<br />Images<br />Column merge<br />Cell style<br />External...
OLE Properties<br />25<br />Internal Hyperlinks<br />Font styles<br />Hide/Show cell labels<br />Formulas<br />Iconset<br ...
abap2xlsx properties<br />26<br />Internal Hyperlinks<br />Font styles<br />Hide/Show cell labels<br />Formulas<br />Icons...
Final result<br />27<br />CSV<br />OLE<br />abap2xlsx<br />MHTML<br />
Demo time<br />28<br />abap2xlsx<br />Demo time<br />
Agenda<br />29<br />Introduction<br />Export data AS-IS<br />Standard solution<br />Custom solution<br />abap2xlsx solutio...
Orchestration<br />30<br />Is abap2xls ready for orchestration?<br />
On Premise<br />Orchestration<br />31<br />Ok serious! Is abap2xls ready for orchestration?<br />Orchestration<br />On Dem...
Orchestration<br />32<br />Orchestration<br />On Premise<br />On Demand<br />On Device<br />
Orchestration<br />33<br />abap2xlsx<br />SAPGui<br />NetWeaver Business Client<br />
Orchestration<br />34<br />Orchestration<br />On Premise<br />On Demand<br />On Device<br />
Orchestration<br />35<br />RESTful Web Service<br />
Orchestration<br />36<br />Orchestration<br />On Premise<br />On Demand<br />On Device<br />
Orchestration<br />37<br />
Upcoming SlideShare
Loading in …5
×

abapx2xlsx Sap inside track chicago 2011

3,350 views

Published on

Published in: Technology
  • Be the first to comment

abapx2xlsx Sap inside track chicago 2011

  1. 1. abap2xlsx<br />Generate your professional Excel spreadsheet from ABAP<br />Ivan Femia<br />SCN Active Member<br />@IvanFemia<br />Date: July 2011<br />
  2. 2. Agenda<br />2<br />Introduction<br />Export data AS-IS<br />Standard solution<br />Custom solution<br />abap2xlsx solution<br />Why abap2xlsx?<br />Orchestration<br />abap2xlsx on Code Exchange<br />References<br />
  3. 3. Agenda<br />3<br />Introduction<br />Export data AS-IS<br />Standard solution<br />Custom solution<br />abap2xlsx solution<br />Why abap2xlsx?<br />Orchestration<br />abap2xlsx on Code Exchange<br />References<br />
  4. 4. 4<br />Mr. abap2xlsx ID<br />abap2xlsx<br />Community Driven project for happier users<br />Birthday<br />July, 12th 2010 <br />Numbers<br />most viewed SDN blog of 2010<br />most popular project on SAP Code Exchange<br />more than 2,500 downloads<br />more than 150 project members<br />9 active developers<br />Address<br />Code Exchange at https://cw.sdn.sap.com/cw/groups/abap2xlsx<br />Standard<br />Open XML supported by MS Excel 2007, MS Excel 2010, LibreOffice, Open Office and many others<br />
  5. 5. The goal<br />5<br />Improving ABAP capabilities to create and read rich .xlsx files<br />
  6. 6. “you know, to work I use this Excel but now we need to upload it into the system…”<br />Some days later…<br />“well Ivan, you know, to work I need to download from the system an Excel like this…”<br />The problemspace<br />6<br />
  7. 7. The result<br />7<br />Wow<br />
  8. 8. The result<br />8<br />“Ivan, you know, everyday the system has also to eMail the Excel to each recipient and let them download an fresh version from our portal”<br />“before going home, Ivan remember that recipients need also to update the Excel and send it back to the system…”<br />“he’s a bit crazy, when he can’t do his simple job, he begin speaking alone. He believes in a community…”<br />“I have to say him everything to do but he’s not a bad guy”<br />
  9. 9. Agenda<br />9<br />Introduction<br />Export data AS-IS<br />Standard solution<br />Custom solution<br />abap2xlsx solution<br />Why abap2xlsx?<br />Orchestration<br />abap2xlsx on Code Exchange<br />References<br />
  10. 10. Standard solution<br />10<br />Most of the standard SAP components (such as ABAP ALV, WebDynpro ALV, System menu, etc.) provide the option to export data in MS Excel 2003 or in many other MS Excel compatible file formats (csv, plain text, mhtml and so on).<br />What are the limits? <br /><ul><li>Depend on SAP GUI or Web Dynpro
  11. 11. Are not available for example in case you want to send it as email attachment or in a batch process.
  12. 12. Have a no professional Look and Feel</li></li></ul><li>Custom solution<br />11<br />To avoid some limitations and create spreadsheet with a professional look and feel SAP Mentor Sergio Ferrari proposed in 2006 a great trick: create an HTML file and open in Excel.<br />What are the limits again? <br /><ul><li>Only one sheet for each workbook
  13. 13. No conditional formatting
  14. 14. HTML extension is not associated by default with MS Excel
  15. 15. No advanced features</li></li></ul><li>Custom solution<br />12<br />Community was really active, SDN contributors began to create workbooks using the OLE Object technology; this was a good approach with great results, but…<br />What are the limits? <br /><ul><li>SAPGui dependent
  16. 16. Cannot be used in a no dialog process
  17. 17. Cannot send as email attachment (without some dirty trick)
  18. 18. Is platform dependent</li></li></ul><li>Export data AS-IS<br />13<br />Which one do you prefer?<br />
  19. 19. New frontiers<br />14<br />I prefer this one!<br />abap2xlsx inside – full optional – unlimited miles<br />
  20. 20. Agenda<br />15<br />Introduction<br />Export data AS-IS<br />Standard solution<br />Custom solution<br />abap2xlsx solution<br />Why abap2xlsx?<br />Orchestration<br />abap2xlsx on Code Exchange<br />References<br />
  21. 21. Old scenario<br />16<br />Request an export<br />It is so difficult to analyze the data<br />User reaction<br />
  22. 22. abap2xlsx scenario<br />17<br />Request an Excel<br />Green light!<br />I can get my bonus this year!<br />User reaction<br />
  23. 23. abap2xls solution<br />18<br />On June 2010 I had an idea; use ABAP to create Excel from scratch based on Open XML standard.<br />Basically abap2xlsx is a powerfull ABAP framework that creates pure Excel files directly from ABAP without any plugin.<br />
  24. 24. Open XML was developed by Microsoft starting from 2000 and has been standardized in 2006 by Ecma International (as ECMA-376) and in 2008 by ISO and IEC (ISO/IEC 29500).<br />In Microsoft Office 2007 Suite, Open XML become the default file format for all documents (Excel, Word, Power Point).<br />Open XML<br />19<br />
  25. 25. Open XML<br />20<br />An Office Open XML file is a ZIP-compatible OPC package containing XML documents and other resources. That is, one can see the contents of an OOXML file, for example by renaming it to a .zip file and opening it with any zip tool. The actual .xml files can then be viewed in a web browser or a plain text editor.<br />
  26. 26. Agenda<br />21<br />Introduction<br />Export data AS-IS<br />Standard solution<br />Custom solution<br />abap2xlsx solution<br />Why abap2xlsx?<br />Orchestration<br />abap2xlsx on Code Exchange<br />References<br />
  27. 27. Compare tecnologies<br />22<br />SCN Olympic Games<br />2011<br />
  28. 28. CSV Properties<br />23<br />
  29. 29. HTML & MHTML Properties<br />24<br />Font styles<br />Formulas<br />Images<br />Column merge<br />Cell style<br />External Hyperlinks<br />Row merge<br />Text alignment<br />
  30. 30. OLE Properties<br />25<br />Internal Hyperlinks<br />Font styles<br />Hide/Show cell labels<br />Formulas<br />Iconset<br />Sheet protection<br />Data validation<br />Page layout<br />Images<br />Multi sheets<br />Column merge<br />Table totals<br />Hide zeros<br />Conditional formatting<br />Cell style<br />Print settings<br />Column hide<br />External Hyperlinks<br />Freezing panes<br />Sheet hiding<br />Row height<br />Row merge<br />Cell lock<br />Workbook protection<br />Cell format<br />Column size<br />Gridlines control<br />Password protection<br />Text alignment<br />Ranges<br />Row hide<br />Shrink text<br />Table style<br />Table auto filter<br />
  31. 31. abap2xlsx properties<br />26<br />Internal Hyperlinks<br />Font styles<br />Hide/Show cell labels<br />Formulas<br />Iconset<br />Export in XLSM<br />RGB Colors<br />Sheet protection<br />Table binding<br />Data validation<br />SU01 proprerties<br />Page layout<br />Images<br />Multi sheets<br />Column merge<br />Table totals<br />Hide zeros<br />Conditional formatting<br />Cell style<br />Print settings<br />Column hide<br />Batch support<br />External Hyperlinks<br />i8n compliant<br />Freezing panes<br />Sheet hiding<br />Row height<br />Row merge<br />Visual Basic for Application<br />Cell lock<br />Workbook protection<br />Cell format<br />Column size<br />Gridlines control<br />Password protection<br />Text alignment<br />XLSX Reader<br />Ranges<br />DDIC Field Label<br />Color tynts<br />Row hide<br />Shrink text<br />Table style<br />Export in CSV<br />Table auto filter<br />
  32. 32. Final result<br />27<br />CSV<br />OLE<br />abap2xlsx<br />MHTML<br />
  33. 33. Demo time<br />28<br />abap2xlsx<br />Demo time<br />
  34. 34. Agenda<br />29<br />Introduction<br />Export data AS-IS<br />Standard solution<br />Custom solution<br />abap2xlsx solution<br />Why abap2xlsx?<br />Orchestration<br />abap2xlsx on Code Exchange<br />References<br />
  35. 35. Orchestration<br />30<br />Is abap2xls ready for orchestration?<br />
  36. 36. On Premise<br />Orchestration<br />31<br />Ok serious! Is abap2xls ready for orchestration?<br />Orchestration<br />On Demand<br />On Device<br />
  37. 37. Orchestration<br />32<br />Orchestration<br />On Premise<br />On Demand<br />On Device<br />
  38. 38. Orchestration<br />33<br />abap2xlsx<br />SAPGui<br />NetWeaver Business Client<br />
  39. 39. Orchestration<br />34<br />Orchestration<br />On Premise<br />On Demand<br />On Device<br />
  40. 40. Orchestration<br />35<br />RESTful Web Service<br />
  41. 41. Orchestration<br />36<br />Orchestration<br />On Premise<br />On Demand<br />On Device<br />
  42. 42. Orchestration<br />37<br />
  43. 43. Agenda<br />38<br />Introduction<br />Export data AS-IS<br />Standard solution<br />Custom solution<br />abap2xlsx solution<br />Why abap2xlsx?<br />Orchestration<br />abap2xlsx on Code Exchange<br />References<br />
  44. 44. Informations: Download, Install and Learn<br />39<br />abap2xlsx is the leading project on SAP Code Exchange platform<br />It has more than 150 active members and 9 contributors<br />It is free and it is released under SAP NetWeaver Developer License Agreement (NDLA)<br />Stable releases are distributed as nugg file (SAPLink) and Transport Request<br />There are about 30 demos available to test and learn abap2xlsx<br />
  45. 45. Code Exchange<br />40<br />abap2xlsx<br />on code exchange<br />live<br />
  46. 46. References<br />41<br />Open XML definition<br />http://en.wikipedia.org/wiki/Office_Open_XML<br />Standard ECMA-376<br />http://www.ecma-international.org/publications/standards/Ecma-376.htm<br />Standard ISO/IEC 29500-1:2008<br />http://www.iso.org/iso/catalogue_detail?csnumber=51463<br />abap2xlsx SDN related blogs<br />http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/u/251856298<br /><ul><li>abap2xlsx Code Exchange project</li></ul>https://cw.sdn.sap.com/cw/groups/abap2xlsx<br />
  47. 47. All rights reserved<br />42<br />

×