技术开发 频道

介绍IBM Lotus Notes access for SAP solutions

对于管理人员和开发人员,一个可定制的解决方案

更新后的数据库模板具有文档和公开的源代码,所以 Lotus Notes access for SAP solutions 的功能可以由有经验的 Notes/Domino 应用程序开发人员使用 Lotus Domino Designer 来定制;基本上不需要什么 SAP 经验。

只想要使用一些 SAP 功能或者使用模板的定制版本的公司,可以在 Lotus Domino Designer 中编辑它们的版本,以添加一些支持所需功能的设计元素。同样,定制了其 SAP 安装的公司可以编辑新的设计元素以反映它们的 SAP 定制。

模板中所有新的或修改了的设计元素都被识别在 comments 字段中。创建 Lotus Notes access for SAP solutions 的代码向 Notes 邮件模板添加了 21 个新的视图和 14 个表单,全都由以 NaSS(代表 “Notes access for SAP solutions”)开始的注释识别。

与 SAP 的通信主要在添加到 Notes 邮件模板的脚本库中完成,见图 6。


图 6. Lotus Notes access for SAP solutions 脚本库
Lotus Notes access for SAP solutions 脚本库

LotusScript 代码通过 Notes 客户机的 SAP Connector 版本与 SAP 服务器通信,该服务器在请求和响应与 SAP 的 Remote Function Call (RFC) 协议之间转换。

Notes 代码调用一个 SAP 应用程序编程接口。SAP 将它管理的元素定义为 Business Objects,其中既包括数据也包括进程。Lotus Notes 通过使用与这些对象相关的名为 Business Application Program Interfaces(BAPI)的方法访问 SAP 数据和进程。LotusScript 代码使用 BAPI 作为远程过程调用。下面是一个示例子例程:

Public Sub InitCostCenterGetList
            ' Given a company code and a "controlling area,"
            ' get a list of cost codes
            If gMD_BAPI_COSTCENTER_GETLIST Is Nothing Then
            Set gMD_BAPI_COSTCENTER_GETLIST = New SAPMetaData(2,2)
            gMD_BAPI_COSTCENTER_GETLIST.IsInitialized = False
            End If
            If not gMD_BAPI_COSTCENTER_GETLIST.IsInitialized Then
            gMD_BAPI_COSTCENTER_GETLIST.BAPI_NAME =
            "BAPI_COSTCENTER_GETLIST"
            gMD_BAPI_COSTCENTER_GETLIST.Fetch1Row =
            False
            'inputs: company code and controlling area
            '(see InitCompanyCodeGetList and InitCOAREAGet)
            gMD_BAPI_COSTCENTER_GETLIST.InitInputItem 0,
            _"T_COCODE","","COMPANYCODE",False
            gMD_BAPI_COSTCENTER_GETLIST.InitInputItem 1,
            _"T_CONTROLLINGAREA","","CONTROLLINGAREA", False
            'outputs: cost center code and description (list)
            gMD_BAPI_COSTCENTER_GETLIST.InitOutputItem 0,
            _"TL_CCENTER_CODE","COSTCENTER_LIST","COSTCENTER", False
            gMD_BAPI_COSTCENTER_GETLIST.InitOutputItem 1,
            _"TL_CCENTER_DESC", "COSTCENTER_LIST", "COCNTR_TXT", False
            gMD_BAPI_COSTCENTER_GETLIST.IsInitialized = True
            End If
            End Sub

该例程向一个 SAP 对象类型 CostCenter 进行一次 BAPI 调用;传递进两个参数、一个公司代码和一个控制领域;并访问方法 GetList。SAP 服务器返回成本中心代码的一个列表和描述。

SAP 端的这个面向对象的结构对于 LotusScript 程序员来说应该很熟悉,并且它作出非常直观的定制。对 Lotus Notes access for SAP solutions 的界面和功能的修改取决于对表单和视图中的用户界面作出的前端更改,以及对通过 BAPI 与 SAP 服务器的通信作出的后端更改。如果一个公司对其 SAP 系统中的 Business Objects 进行了定制,那么这些更改只需要反映到 SAP 的 Function Builder 中的 BAPI 中。

结束语

Lotus Notes access for SAP solutions 被设计来使您能够尽可能简单地访问 SAP 数据和进程。该新特性在 Lotus Notes 7.0.1 中是免费的,提供了 Lotus Notes 与 SAP 的开箱即用集成,所以您可以作为您在 Lotus Notes 中的日常工作的一部分、容易而有效地执行基本的与 SAP 的交互。该新特性可以为依赖于 Lotus Notes 和 SAP 的公司提供生产率方面的即时回报。

基于客户机的功能使得对 SAP 增加 Notes 支持可以让管理人员更加轻松。对于开发人员来说,包括公开的代码,以及熟悉的面向对象编码的结构和跨 Lotus Notes 和 SAP Business Objects 调用的远程过程,可以简化定制工作,不管是基本的任务(比如只安装 Notes support for SAP 的所选功能),还是将 Lotus Notes 与较大的 SAP 定制项目进行集成。

0
相关文章