`
Jack Wu
  • 浏览: 887518 次
  • 来自: ...
社区版块
存档分类
最新评论

SAP中使用OLE2对象的两个样例程序

阅读更多

样例一、

REPORT  ZSAPLINK_INSTALLER_TEMPLATE.
TABLES sscrfields.

TYPE-POOLS  ole2.

DATA: excel TYPE ole2_object,
      word  TYPE ole2_object,
      book  TYPE ole2_object,
      rc    TYPE c LENGTH 8.

SELECTION-SCREEN:
  BEGIN OF SCREEN 100 AS WINDOW TITLE title,
    BEGIN OF LINE,
      PUSHBUTTON  2(12) button_1
                 USER-COMMAND word_start,
      PUSHBUTTON  20(12) button_2
                 USER-COMMAND excel_start,
    END OF LINE,
    BEGIN OF LINE,
      PUSHBUTTON  2(12) button_3
                  USER-COMMAND word_stop,
      PUSHBUTTON  20(12) button_4
                 USER-COMMAND excel_stop,
    END OF LINE,
  END OF SCREEN 100.

START-OF-SELECTION.
  button_1 = 'Start Word'.
  button_2 = 'Start Excel'.
  button_3 = 'Stop  Word'.
  button_4 = 'Stop  Excel'.
  CALL SELECTION-SCREEN 100 STARTING AT 10 10.

AT SELECTION-SCREEN.
  CASE sscrfields-ucomm.
    WHEN 'WORD_START'.
      CHECK word-handle <> -1.
      CHECK word-header = space.
      CREATE OBJECT   word  'Word.Basic'.
      CALL METHOD  OF word  'AppShow'.
    WHEN 'EXCEL_START'.
      CHECK excel-handle = 0.
      CHECK excel-header = space.
      CREATE OBJECT   excel 'Excel.Application'.
      SET PROPERTY OF excel 'Visible' = 1.
      GET PROPERTY OF excel 'Workbooks' = book.
      CALL METHOD  OF book  'Open' = rc
        EXPORTING #1 = 'C:\temp\Table.xls'.
    WHEN 'WORD_STOP'.
      CALL METHOD OF word 'AppClose'.
      FREE OBJECT word.
      CLEAR: word-handle, word-header.
    WHEN 'EXCEL_STOP'.
      CALL METHOD OF  excel 'Quit'.
      FREE OBJECT excel.
      CLEAR: excel-handle, excel-header.
    WHEN OTHERS.
      LEAVE PROGRAM.
  ENDCASE. 

样例二

REPORT ZEXCEL NO STANDARD PAGE HEADING.
INCLUDE OLE2INCL.
DATA: EXCEL_OBJECT TYPE OLE2_OBJECT, “ EXCEL OBJECT
WORKBOOK_LIST TYPE OLE2_OBJECT, “ LIST OF WORKBOOKS
WORKBOOK TYPE OLE2_OBJECT, “ WORKBOOK
CELL TYPE OLE2_OBJECT, “ CELL
FONT TYPE OLE2_OBJECT. “ FONT
TABLES: PA0002.
DATA ROW_NUMBER TYPE I.
DATA: IT_PA0002 LIKE PA0002 OCCURS 10 WITH HEADER LINE.
START-OF-SELECTION.
SELECT * FROM PA0002 INTO TABLE IT_PA0002 UP TO 10 ROWS.
CREATE OBJECT EXCEL_OBJECT ‘EXCEL.APPLICATION’.
SET PROPERTY OF EXCEL_OBJECT ‘VISIBLE’ = 1.
CALL METHOD OF EXCEL_OBJECT ‘WORKBOOKS’ = WORKBOOK_LIST.
CALL METHOD OF WORKBOOK_LIST ‘ADD’ = WORKBOOK.
* FILL THE ACTIVE SHEET WITH COLUMN HEADINGS
PERFORM FILL_CELL_WITH_DATA USING 1 1 1 ‘Employee Number’.
PERFORM FILL_CELL_WITH_DATA USING 1 2 1 ‘First Name’.
PERFORM FILL_CELL_WITH_DATA USING 1 3 1 ‘Last Name’.
PERFORM FILL_CELL_WITH_DATA USING 1 4 1 ‘Date of Birth’.
PERFORM FILL_CELL_WITH_DATA USING 1 5 1 ‘Place of Birth’.
* FILL EMPLOYEE DATA TO ACTIVE EXCEL SHEET
LOOP AT IT_PA0002.
ROW_NUMBER = SY-TABIX + 1.
PERFORM FILL_CELL_WITH_DATA USING ROW_NUMBER 1 0 IT_PA0002-PERNR.
PERFORM FILL_CELL_WITH_DATA USING ROW_NUMBER 2 0 IT_PA0002-VORNA.
PERFORM FILL_CELL_WITH_DATA USING ROW_NUMBER 3 0 IT_PA0002-NACHN.
PERFORM FILL_CELL_WITH_DATA USING ROW_NUMBER 4 0 IT_PA0002-GBDAT.
PERFORM FILL_CELL_WITH_DATA USING ROW_NUMBER 5 0 IT_PA0002-GBORT.
ENDLOOP.
FREE OBJECT EXCEL_OBJECT.
FORM FILL_CELL_WITH_DATA USING ROW COLUMN BOLD VAL.
CALL METHOD OF EXCEL_OBJECT
‘CELLS’ = CELL
EXPORTING #1 = ROW
#2 = COLUMN.
SET PROPERTY OF CELL ‘VALUE’ = VAL.
GET PROPERTY OF CELL ‘FONT’ = FONT.
SET PROPERTY OF FONT ‘BOLD’ = BOLD.
ENDFORM.

 使用OLE的程序框架模板
…………………………
INCLUDE OLE2INCL.
DATA: EXCEL_OBJECT TYPE OLE2_OBJECT,
WORKBOOK_LIST TYPE OLE2_OBJECT.
…………………………
CREATE OBJECT EXCEL_OBJECT ‘EXCEL.APPLICATION’.
CALL METHOD OF EXCEL_OBJECT ‘WORKBOOKS’ = WORKBOOK_LIST.
CALL METHOD OF WORKBOOK_LIST ‘ADD’ = WORKBOOK.
…………………………
…………………………
SET PROPERTY OF CELL ‘VALUE’ = VAL.
…………………………
…………………………
FREE OBJECT EXCEL_OBJECT.
…………………………
…………………………

相关链接
http://blog.csdn.net/CompassButton/archive/2006/11/23/1408409.aspx

分享到:
评论

相关推荐

    OLE 2 对象链接与嵌入技术高级编程技术

    8. **剪贴板和数据交换 (Clipboard and Data Exchange)**:OLE 2 提供了一种标准机制来在应用程序之间共享数据,通过剪贴板或者数据对象的使用,数据可以在不同程序间复制、粘贴。 9. **持久化 (Persistence)**:...

    Abap中使用DOI与OLE工具

    在ABAP中,这通常涉及使用`IF_OLE2`接口和相关的类,例如`CL_GUI_OLE_CLIENT`和`CL_GUI_OLE2`。这种方式允许更灵活的数据操作,但可能需要更多的编程工作。 5. **ABAP中的实际应用** 在"ABAP中DOI的实现.doc"文...

    OLE 2 对象链接与嵌入技术高级编程技术 pdf

    OLE 2 对象链接与嵌入技术高级编程技术 pdf 全本 OLE 2 对象链接与嵌入技术高级编程技术 pdf 全本

    Delphi环境下Access数据库中OLE对象的读写操作(论文)

    5. 实现OLE对象的保存和打开:在Delphi中,对OLE对象的操作可以使用TFileStream(文件流)、TMemoryStream(内存流)、TBlobField等派生类进行。例如,可以使用TFileStream对实际文件进行读写操作,使用...

    SAP 简单的SAP使用Excel程序

    在本文中,我们将创建一个ABAP程序,使用OLE技术将SAP数据导入到Excel中,并生成报表。同时,我们也将介绍如何使用Excel模板来实现报表的生成。 一、SAP与Excel的集成原理 SAP与Excel的集成是通过OLE技术实现的。...

    OPC客户端样例程序

    这个"OPC客户端样例程序"是一个针对OPC技术的开发实例,对于理解并应用OPC技术在实际项目中至关重要。 OPC技术的核心在于提供了一种标准的接口,使得自动化设备、PLC(可编程逻辑控制器)、SCADA(监控与数据采集...

    vb中ole用法

    在VB(Visual Basic)编程环境中,OLE(Object Linking and Embedding)技术允许开发者将不同应用程序的对象嵌入到另一个程序中,实现数据和功能的共享。OLE的主要目的是提供一种方式来整合不同应用软件中的数据,...

    Access数据库中心OLE对象的巧妙插入

    2. **编写事件代码**:在OLE对象控件上右击,选择“事件生成器”-&gt;“代码生成器”。然后编写针对OLE对象控件的双击事件处理代码,以便于快速打开或编辑这些OLE对象。 下面是一个示例代码段,展示了如何编写双击...

    OLE文档介绍,详细介绍OLE对象

    1. 创建:当用户在支持OLE的程序中插入一个新对象时,系统会启动相应的应用程序来创建这个对象。例如,在Word中插入Excel表格,Word会调用Excel来创建表格。 2. 嵌入:嵌入的OLE对象实际上是原始对象的一个副本,...

    CAD中ole类型表格打印PDF无法显示的解决方法

    3. **启用OLE对象的打印功能**:在“打印发布”设置页面中,找到与OLE对象相关的选项,例如“打印OLE对象时使用OLE应用程序”,并勾选此选项。这一步骤可以确保CAD在打印包含OLE对象的图纸时能够正确调用相应的应用...

    SAP ABAP启动OUTLOOK发邮件.docx

    使用`CREATE OBJECT`语句创建一个名为`h_outlook`的对象,并指定其类型为`ole2_object`。然后调用`h_outlook`的方法`CreateItem`来创建一个新的邮件对象`h_mail`。 3. **设置邮件属性**: 使用`SET PROPERTY OF`...

    Microsoft.ACE.OLEDB.12.0-提供程序

    【Microsoft.ACE.OLEDB.12.0-提供程序】本资源是C#程序使用OleDb读取Excel时必备的驱动程序——Microsoft.ACE.OLEDB.12.0的提供程序。OleDb是一个数据库驱动接口,能够通过标准的 SQL 语句访问多种数据库,包括 ...

    Visual C++中使用OLE DB读写SQL Server简明指南

    通过以上步骤,你可以在Visual C++中使用OLE DB有效地与SQL Server进行数据交互。在实际开发中,你可能还需要根据具体需求调整代码,比如添加事务管理、错误处理机制、优化查询性能等。理解这些基本概念和操作后,你...

    OLE应用程序的开发

    在设计阶段,可以通过这两个组件拖放到Form上,然后在运行时动态加载相应的对象。 接着,我们将讨论如何创建一个基本的OLE服务器。一个OLE服务器是能提供嵌入或链接到其对象的应用程序。在Delphi中,你可以通过继承...

    sap_abap_ole文档

    ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。ABAP_OLE相关文档。...

    三层数据库ole与对象互换

    - 使用ADO(ActiveX Data Objects)或ADO.NET来连接数据库,这两个库都支持对BLOB数据类型的处理,适合处理OLE对象。 - 在业务逻辑层中,可能需要使用COM(Component Object Model)或.NET组件来处理OLE对象的创建、...

    C语言头文件 OLE2 C语言头文件 OLE2

    C语言头文件 OLE2C语言头文件 OLE2C语言头文件 OLE2C语言头文件 OLE2C语言头文件 OLE2C语言头文件 OLE2C语言头文件 OLE2C语言头文件 OLE2C语言头文件 OLE2C语言头文件 OLE2C语言头文件 OLE2C语言头文件 OLE2C语言...

    OLE 2 对象链接与嵌入技术高级编程技术 第三部分

    OLE 2 对象链接与嵌入技术高级编程技术 第三部分

Global site tag (gtag.js) - Google Analytics