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

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值