ABAP DOI详解-1

2021-11-28 10:48发布

什么是 DOI?

DOI 是Desktop Office Integration的缩写,是 SAP 提供的解决与 Office 集成的技术方案。早期 SAP 用 OLE 技术解决 与 Office 集成。OLE 语法参照 VBA,在 ABAP 中调用方法来操作 Excel,语法的友好性差;另外将数据从ABAP 内表写入到 Excel ,速度特别慢,性能难以接受。

DOI 可以看作 OLE 的替代品,用面向对象的方式实现。很好的解决了上面所说的两个问题。(参考:Desktop Office Integration官方帮助)
DOI 开发的技术要点
相关对象

SAP 与 Office 集成,既可以通过代码创建 Excel 文档,也可以将 Excel 模板文档放在应用程序服务器上由 DOI 调用,DOI 打开这个文档,对文档进行操作和处理。我们先介绍代码创建 Excel 文档的方式。为了操作 Excel 文档,至少需要四个对象:

    container: 存放 Excel 电子表格 (spreadsheet) 的容器。这个应该比较容易理解,容器一般在 dialog screen 中定义,也可以直接使用 ABAP 程序中默认的 screen(即 screen 号码为 1000 的屏幕)

    container control: 容器中用于创建和管理其他 Office 集成所需要的对象,container control 是一个接口,类型为 i_oi_container_control。

    document proxy: 每一个 document proxy 的实例代表用 office application 打开的文档,可以是 Excel,也可以是 Word,如果想打开多个文档,需要定义多个实例。document proxy 是一个接口,类型为 i_oi_document_proxy。

    spreadsheet: spreadsheet 接口,代表最终要操作的 Excel文档,spreadhseet 的类型是 i_oi_spreadsheet

    business document set: 如果读取服务器上的文档模板,用 cl_bds_document_set 类,将business document set缩写为 bds,bds 用于管理要操作的文档,可以包含一个或多个文档。

DOI 操作 Excel 的步骤

    获取 container
    创建 container control 对象实例
    创建 document proxy 对象的实例
    打开一个服务器上的模板文档或新建一个新的 Excel 文档
    操作打开的 Excel 文档,设置 Excel 相关属性或调用相关方法
    退出时关闭 Excel 文档,释放资源

 更多阅读需支付 10  财富值……
赞赏支持