SAP中的OLE Integration和DOI(Desktop Office Integration)

本文介绍如何使用SAP Desktop Office Integration (DOI) 在SAP系统中嵌入并操作Excel文档。通过定义OLE控件及文档类型,实现Excel文档的创建与显示,并提供了初始化与释放OLE组件的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

help.sap.com:Desktop Office Integration

一个使用DOI显示Excel的例子:

" 引入Office OLE控件整合所需的内容
INCLUDE <CTLDEF>.
INCLUDE OFFICEINTEGRATIONINCLUDE.

* Instance-definition for the central object of office-integration
DATA: G_OFFICE TYPE REF TO I_OI_DOCUMENT_FACTORY.
* Instance-definition for the documents
DATA: G_DOCUMENT TYPE REF TO I_OI_DOCUMENT_PROXY.
* Excel文档类型
DATA: G_DOCUMENT_TYPE(80VALUE 'Excel.Sheet.8'.
* Excel的OLE控件
DATA: EXCEL_CONTROL TYPE REF TO I_OI_CONTAINER_CONTROL.

 

DATA:  G_CONTAINER_2 TYPE REF TO CL_GUI_CONTAINER.

 FORM INIT_OFFICE_OLE.
  IF EXCEL_CONTROL IS INITIAL.
    CALL METHOD C_OI_CONTAINER_CONTROL_CREATOR=>GET_CONTAINER_CONTROL
        IMPORTING CONTROL = EXCEL_CONTROL.
    CALL METHOD EXCEL_CONTROL->INIT_CONTROL
        EXPORTING R3_APPLICATION_NAME = 'EXCEL CONTAINER'
                  INPLACE_ENABLED = 'X'
                  PARENT = G_CONTAINER_2.
    CALL METHOD EXCEL_CONTROL->GET_DOCUMENT_PROXY
        EXPORTING DOCUMENT_TYPE = G_DOCUMENT_TYPE
                  REGISTER_CONTAINER = 'X'
        IMPORTING DOCUMENT_PROXY = G_DOCUMENT.

    CALL METHOD G_DOCUMENT->CREATE_DOCUMENT
        EXPORTING OPEN_INPLACE = 'X'.
  ENDIF.

ENDFORM.

 

 FORM RELEASE_OFFICE_OLE.
  IF G_DOCUMENT IS NOT INITIAL.
    CALL METHOD G_DOCUMENT->CLOSE_DOCUMENT.
    CALL METHOD G_DOCUMENT->RELEASE_DOCUMENT.
    FREE G_DOCUMENT.
  ENDIF.

  IF EXCEL_CONTROL IS NOT INITIAL.
    CALL METHOD EXCEL_CONTROL->DESTROY_CONTROL.
    FREE EXCEL_CONTROL.
  ENDIF.
ENDFORM.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值