Your SlideShare is downloading. ×
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Abapoleautomation
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Abapoleautomation

280

Published on

Abap OLE Automation

Abap OLE Automation

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
280
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION Z ABAP OLE AUTOMATIONAt the end of the document you will find instructions on how to use the BLOG ABAPLOVERS.BLOGSPOT.COMso that you will not miss any updates. This BLOG is updated on a daily basis and all the Tutorials (Files/PDFs)associated with the BLOG are also updated from time to time. We encourage you to share these documents withyour friends colleagues and to upload them to you favorite file sharing websites like ● http://www.rapidshare.com/ ● http://www.esnips.com/ ● http://www.slideshare.net/ ● http://www.megaupload.comGet started register and stay tuned to ABAP.BLOGSPOT.COM Enter Your Email Address Subscribe Delivered By FeedBurner LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 2. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION ZTransactions ● OLE ● SOLE Run Transaction OLE the following screen will be displayed. LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 3. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION ZIn the above transaction you can start and stop each application to check if it has beenregistered.Run transaction SOLE to get a list of all the OLE applications registered in yoursystem. You can maintain these applications here. LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 4. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION ZThe above applications are stored in the table TOLE.The following SAP tables are associated with OLE ● TOLE OLE Applications ● OLELOAD OLE type Information load ● SWOTOLE Workflow Object Types OLE Applications ● SWOTTOLE Workflow Object Types Texts OLE Applications ● TOLET Workflow Object Types Texts OLE ApplicationsThe following ABAP key words control the applications: ● CREATE OBJECT ● SET PROPERTY ● GET PROPERTY ● CALL METHOD ● FREE OBJECT LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 5. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION ZThe Desktop application serves as the OLE server to the calling ABAP program. Forexample when the ABAP program makes calls to the OLE application the SAPGUIservers as the client.The create statement generates the object of this class. The following return codevalues can be encountered. SY-SUBRC = 0:Object successfully generated. SY-SUBRC = 1:SAPGUI communication error. SY-SUBRC = 2:SAPGUI function call error. The frontend ports of SAP’s OLE implementation modulesare implemented only under Windows and Apple Macintosh. SY-SUBRC = 3:The OLE-API call resulted in an error - possibly a storage space problem. SY-SUBRC = 4:The object is not registered with SAP.Note that for each OLE object there has to be a variable holding handle data for that LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 6. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION Zobject. The type-pool “ole2” defines the handle variable data of the type ole2_object.For all the OLE automation programs “OLE2INCL” include should be used.Please find below some examples of setting the properties of fonts, cell borders andcolors.Font Properties.SET PROPERTY OF name_font Name = Times New Roman .SET PROPERTY OF size_font Size = 12 .SET PROPERTY OF bold_font Bold = 0 . "Not boldSET PROPERTY OF Italic_font Italic = 0 . "Not ItalicSET PROPERTY OF underline_font Underline = 0 . "Not underlinedParagraph FormattingSET PROPERTY OF allignment_parformat Alignment = 3 . "JustifiedSimilarly for EXCEL LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 7. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION ZDATA: d_excel TYPE ole2_object , d_cell1 TYPE ole2_object , d_cell2 TYPE ole2_object , d_cells TYPE ole2_object , d_range TYPE ole2_object , d_font TYPE ole2_object , d_interior TYPE ole2_object , d_columns TYPE ole2_object , d_charts TYPE ole2_object , d_chart TYPE ole2_object , d_charttitle TYPE ole2_object , d_charttitlech TYPE ole2_object , d_chartob TYPE ole2_object .Sample code CREATE OBJECT d_excel EXCEL.APPLICATION . SET PROPERTY OF d_excel Visible = 1 . GET PROPERTY OF d_excel Workbooks = gs_wbooklist .Formatting the Excel Cells GET PROPERTY OF d_cell1 Font = d_font . SET PROPERTY OF d_font Underline = 2 . SET PROPERTY OF d_font Bold = 1 . SET PROPERTY OF d_cell1 HorizontalAlignment = -4108 . GET PROPERTY OF d_cell1 Interior = d_interior . SET PROPERTY OF d_interior ColorIndex = 15 . >>>>>>>>>> Check in the diagram given below SET PROPERTY OF d_interior Pattern = -4124 . SET PROPERTY OF d_interior PatternColorIndex = -4105 . LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 8. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION ZColor code for ABAP is shown below, please use the numeric value as given in the figure below. For example ifyou want the interior color of the Excel cell to be of the color Cyan then use the code 8. LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 9. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION ZColor code for ABAP is shown below, please use the numeric value as given in the figure below. LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 10. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION Z Sample CodeThe following program transfers values from SAP to EXCEL with formating.REPORT ZEXOLE2.parameters: p_file like RLGRAP-FILENAME default C:exceldataCustomerdata.xls.data: d_file like p_file, d_exsheet(10) value Customers,c_row type i, d_scnt type i, d_val(20), d_wb(2).parameters: p_exvis as checkbox default X, p_workbk(2) type p default 01, p_wsheet(2) type p default 01.CONSTANTS: OK TYPE I VALUE 0.INCLUDE OLE2INCL.DATA: EXCEL TYPE OLE2_OBJECT, WORKBOOK TYPE OLE2_OBJECT, SHEET TYPE OLE2_OBJECT, CELL TYPE OLE2_OBJECT, CELL1 TYPE OLE2_OBJECT, COLUMN TYPE OLE2_OBJECT, RANGE TYPE OLE2_OBJECT, BORDERS TYPE OLE2_OBJECT, BUTTON TYPE OLE2_OBJECT, INT TYPE OLE2_OBJECT, FONT TYPE OLE2_OBJECT, ROW TYPE OLE2_OBJECT.data: application type ole2_object, book type ole2_object, LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 11. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION Z books type ole2_object, ole_book TYPE ole2_object.do p_workbk times. move p_file to d_file. unpack sy-index to d_wb. replace NN with d_wb into d_file.* perform create_EXCEL.* create sheets and save perform sheet. perform save_book.enddo.write: Done.*---------------------------------------------------------------------** FORM create_excel **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*form create_excel. CREATE OBJECT EXCEL EXCEL.APPLICATION. if sy-subrc ne 0. write: / No EXCEL creation possible. stop. endif. set property of EXCEL DisplayAlerts = 0. CALL METHOD OF EXCEL WORKBOOKS = WORKBOOK .* Put Excel in background LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 12. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION Z if p_exvis eq X. SET PROPERTY OF EXCEL VISIBLE = 1. else. SET PROPERTY OF EXCEL VISIBLE = 0. endif.* Create worksheet set property of excel SheetsInNewWorkbook = 1. call method of workbook ADD.endform.*---------------------------------------------------------------------** FORM save_book **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*form save_book. get property of excel ActiveSheet = sheet. free object sheet. free object workbook. GET PROPERTY OF EXCEL ActiveWorkbook = WORKBOOK. call method of workbook SAVEAS exporting #1 = p_file #2 = 1. call method of workbook CLOSE. call method of excel QUIT. free object sheet. free object workbook. free object excel.endform.*---------------------------------------------------------------------** FORM sheet **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------* LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 13. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION Zform sheet. do p_wsheet times. unpack sy-index to d_exsheet+5(2). if sy-index gt 1. CALL METHOD OF EXCEL WORKSHEETS = sheet. call method of sheet ADD. free object sheet. endif. d_scnt = sy-index. call method of excel WORKSHEETS = SHEET EXPORTING #1 = d_scnt. call method of sheet ACTIVATE. SET PROPERTY OF SHEET NAME = d_exsheet. free object sheet. "OK perform fill_sheet.* CALL METHOD OF EXCEL Columns = COLUMN. CALL METHOD OF COLUMN Autofit. free object COLUMN.* free object button. free object font. free object int. free object cell. free object: cell1. free object range. free object borders. free object: column, row. enddo. free object font. free object int. free object cell. free object cell1. LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 14. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION Z free object range. free object borders. free object column. free object row. free object sheet.endform.*---------------------------------------------------------------------** FORM border **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------** --> we **---------------------------------------------------------------------*form border using we.*left call method of CELL BORDERS = BORDERS exporting #1 = 1. set property of borders LineStyle = 1. set property of borders WEIGHT = we. "4=max free object borders.* right call method of CELL BORDERS = BORDERS exporting #1 = 2. set property of borders LineStyle = 2. set property of borders WEIGHT = we. free object borders.* top call method of CELL BORDERS = BORDERS exporting #1 = 3. set property of borders LineStyle = 3. set property of borders WEIGHT = we. free object borders.* bottom call method of CELL BORDERS = BORDERS exporting #1 = 4. set property of borders LineStyle = 4. set property of borders WEIGHT = we.* set property of borders ColorIndex = xlAutomatic. free object borders.endform. LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 15. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION Z*---------------------------------------------------------------------** FORM border2 **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------** --> we **---------------------------------------------------------------------*form border2 using we.*left call method of CELL BORDERS = BORDERS exporting #1 = 1. set property of borders LineStyle = 5. set property of borders WEIGHT = we. "4=max free object borders.* right call method of CELL BORDERS = BORDERS exporting #1 = 2. set property of borders LineStyle = 6. set property of borders WEIGHT = we. free object borders.* top call method of CELL BORDERS = BORDERS exporting #1 = 3. set property of borders LineStyle = 7. set property of borders WEIGHT = we. free object borders.* bottom call method of CELL BORDERS = BORDERS exporting #1 = 4. set property of borders LineStyle = 8. set property of borders WEIGHT = we.* set property of borders ColorIndex = xlAutomatic. free object borders.endform.*---------------------------------------------------------------------** FORM border3 **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------** --> we **---------------------------------------------------------------------*form border3 using we. LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 16. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION Z*left call method of CELL BORDERS = BORDERS exporting #1 = 1. set property of borders LineStyle = 10. set property of borders WEIGHT = we. "4=max free object borders.* right call method of CELL BORDERS = BORDERS exporting #1 = 2. set property of borders LineStyle = 10. set property of borders WEIGHT = we. free object borders.* top call method of CELL BORDERS = BORDERS exporting #1 = 3. set property of borders LineStyle = 11. set property of borders WEIGHT = we. free object borders.* bottom call method of CELL BORDERS = BORDERS exporting #1 = 4. set property of borders LineStyle = 12. set property of borders WEIGHT = we.* set property of borders ColorIndex = xlAutomatic. free object borders.endform.*---------------------------------------------------------------------** FORM fill_cell **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------** --> color ** --> pattern **---------------------------------------------------------------------*form fill_cell using color pattern. call method of cell INTERIOR = int. set property of int ColorIndex = color. set property of int Pattern = pattern. free object int.endform. LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 17. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION Z*---------------------------------------------------------------------** FORM font **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------** --> bold ** --> size **---------------------------------------------------------------------*form font using bold size. call method of CELL FONT = font. set property of font BOLD = bold. set property of font SIZE = size. free object font.endform.*---------------------------------------------------------------------** FORM fill_sheet **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*form fill_sheet. CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = A1. perform font using 1 10. SET PROPERTY OF CELL VALUE = Counter. perform fill_cell using 20 1. perform border using 2. free object cell. d_val = Workbook-Count. move d_wb to d_val+16. CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = B1. SET PROPERTY OF CELL VALUE = d_val. perform fill_cell using 14 1. perform border using 4. free object cell. d_val = Sheet-Count. unpack sy-index to d_val+12. LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 18. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION Z CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = C1. SET PROPERTY OF CELL VALUE = d_val. perform fill_cell using 21 1. perform border using 4. free object cell. CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = E3. perform border using 1. free object cell. CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = E5. perform border using 2. free object cell. CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = E7. perform border using 3. free object cell. CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = E9. perform border using 4. free object cell. CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = F3. perform border2 using 1. free object cell. CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = F5. perform border2 using 2. free object cell. CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = F7. perform border2 using 3. free object cell. CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = F9. perform border2 using 4. free object cell. CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = G3. perform border3 using 1. free object cell. CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = G5. perform border3 using 2. free object cell. CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = G7. perform border3 using 3. free object cell. LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 19. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION Z CALL METHOD OF EXCEL RANGE = CELL EXPORTING #1 = G9. perform border3 using 4. free object cell. d_val = ROW-Count. do 19 times. c_row = sy-index + 1. unpack c_row to d_val+12(4). CALL METHOD OF excel CELLS = CELL1 EXPORTING #1 = c_row #2 = 2. SET PROPERTY OF CELL1 VALUE = d_val. free object cell1. CALL METHOD OF excel CELLS = CELL1 EXPORTING #1 = c_row #2 = 4. SET PROPERTY OF CELL1 VALUE = d_val. free object cell1. enddo.endform. LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 20. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION Z Other Links in ABAPLOVERS.BLOGSPOT.COMABAP Naming StandardsImportant System VariablesABAP Tricks and TipsStep By Step Procedure For creating a Function Module in ABAPImportant Transaction CodesUser ExitsRecording BDCStep By Step Procedures for Creating Tables in ABAPSAP Sales Document FlowList Of SAP SD TablesFinding USER EXITS in SAPProcessing Blocks in SAP ABAPImportant Function Modules Create Text and Read TextBAPIDisplaying Messages in ABAPFunction Module POPUP_TO_CONFIRMOLE AUTOMATION in ABAP LOGON TO ABAPLOVERS.BLOGSPOT.COM
  • 21. Follow Me on Twitter Check Video ABAPLOVERS.BLOGSPOT.COM ABAP OLE AUTOMATION ZDisclaimer and Liability NoticeThis document may discuss sample coding or other information that does not includeABAPLOVER.BLOGSPOT official interfaces and therefore is not supported byABAPLOVER.BLOGSPOT. Changes made based on this information are not supported andcan be overwritten during an upgrade.ABAPLOVER.BLOGSPOT will not be held liable for any damages caused by using ormisusing the information, code or methods suggested in this document, and anyone usingthese methods does so at his/her own risk.ABAPLOVER.BLOGSPOT offers no guarantees and assumes no responsibility or liability ofany type with respect to the content of this technical article or code sample, including anyliability resulting from incompatibility between the content within this document and thematerials and services offered by ABAPLOVER.BLOGSPOT. You agree that you will not hold,or seek to hold, ABAPLOVER.BLOGSPOT responsible or liable with respect to the content ofthis document. LOGON TO ABAPLOVERS.BLOGSPOT.COM

×