【ITPUB 技术文档】
Lotus Notes access for SAP solutions 是 Lotus Notes 7.0.1 中的一个新特性用于集成 Lotus Notes 和 SAP ,使您可以从 Lotus Notes 中执行一些常见的 SAP 功能,比如时间报告、休假和请假请求,等等。开发人员甚至可以进一步扩展这一新特性。
IBM Lotus Notes access for SAP solutions 利用一种不同的方式将 IBM Lotus Notes 与其他应用程序相集成。集成一直是 Lotus Notes 的要点之一,但是主要集中于服务器/应用程序级别,使用诸如 NotesPump、Lotus Enterprise Integrator 和 Lotus Connectors 之类的工具在 Lotus Notes 和其他程序环境之间移动数据。
Lotus Notes access for SAP solutions 提供一种不同的集成,熟悉 Notes 客户机界面的用户可以使用它来访问 SAP 数据和进程,而无需掌握和使用另一种 GUI。
对于不断增多的依赖于 Lotus Notes 进行通信和协作以及依赖于 SAP 进行业务信息处理的公司,这种集成具有明显的优势:易于访问 SAP 意味着组织中需要更少的培训以及改善的生产率和更好的 SAP 利用,因为用户可以离线使用 SAP 数据,同时具有完全的 Notes 安全性。
而对于 Notes 和 Domino 开发人员及管理人员,Lotus Notes access for SAP solutions 的实现也是 Lotus Notes 灵活性方面的一个范本。它在客户机级别提供了 Lotus Notes 与 SAP 的开箱即用集成,并且像所有 Notes 应用程序一样,可以根据需要定制和修改。
对于用户,在 Lotus Notes 中执行 SAP 功能
Lotus Notes access for SAP solutions 是 Lotus Notes 客户机的当前版本 (7.0.1) 中包含的一个新特性。任何当前维护着 Lotus Notes 的客户都可以从 Passport Advantage 站点下载它。该新特性的初始版本使您能够从 Lotus Notes 中执行五个最常见的 SAP 功能:
- 时间报告
- 休假和请假请求
- 联系人管理
- 报告生成
- SAP 工作项处理
(Notes 客户机的版本 7.0.2 将添加对两个更常用的 SAP 功能的访问:自助式 HR 信息管理和在 Notes 日历中针对使用 SAP CRM 安排的会议进行会议安排和跟踪。)
该特性安装在 Notes 客户机(而不是 Domino 服务器)上,并且每个用户必须对 Lotus Notes 和 SAP 客户机具有当前许可才能使用这一新特性。Lotus Notes access for SAP solutions 最初支持 SAP R/3 4.6C。它不需要 SAP 的 Netweaver。
安装向用户的 Notes 客户机添加一个派生自 Lotus Connector for SAP Solutions 的客户机应用程序接口,并更新 Mail 和 Personal Address Book 数据库的设计。
安装和配置好 Lotus Notes access for SAP solutions 之后,您就可以执行这些基本任务了,而无需离开 Notes 客户机界面或登录到 SAP GUI 中。它们就像将功能添加到了您的邮件和日历中,并被设置在本地地址簿中的一个文档中,就像一个 POP3 邮件服务器一样。
对特定 SAP 服务器的访问定义在 Lotus Notes 中的一个 Location 文档中。如果您需要访问多个 SAP 服务器 —— 例如,在一个服务器上执行时间报告,在另一个服务器上生成报告 —— 您只需要创建多个 Location 文档并根据需要在它们之间切换即可。
了解这些功能
Lotus Notes access for SAP solutions 的功能开箱即用,构建在邮件和日历的熟悉的 Notes UI 之上。
时间报告
您可以直接从 Notes 邮件和日历向 SAP 报告可支付或可分配的时间。在日历中,Lotus Notes access for SAP solutions 向名为 Time Recording 的日历项表单添加了一个新的区段。当您选择该区段时,它会为数据的输入、编辑或选择显示字段,这些数据包括与会议和约会相关的持续时间和成本中心代码,见图 1。
图 1. Notes 日历中的 Time Recording 区段
为了记录不与日历项相关的时间和管理时间报告,在 Mail 数据库中有一个新的 SAP Time Entries 视图。该视图显示当前的时间报告、会启动时间输入表单的按钮以及一个向导,该向导帮助您管理时间报告的编辑以及向 SAP 提交时间报告,见图 2。
图 2. 时间报告
利用该向导,您按日期范围和其他条件选择一组时间报告文档。您可以在向 SAP 服务器提交之前,对所选的记录进行编辑。
请假请求
Leave Request 表单可以通过日历(在这里是一个视图操作)或者 Mail 数据库的 Create 菜单提交到 SAP。您设置请假期间的日期,从 SAP 填充的列表中选择一个类型代码,并输入对此进行批准的经理。提交请求会创建一个工作流,即将请求期间的日历项标志为不确定,并将请求递交给经理进行批准。经理将看到一段时间内所有未解决的请假请求的一个概览,并对请求作出批准或拒绝。经批准的请求被记录到 SAP 中,向员工发送一个通知邮件,日历项被更新。
联系人管理
使用 Lotus Notes access for SAP solutions,您可以从 SAP HR 和 CRM 系统查看联系人信息,并将信息导入您的 Personal Address Book。一个新的 Add SAP Contact 对话框允许您按姓名、公司、城市或其他条件搜索 SAP 联系人,无论是客户还是同事都包括在内,见图 3。
图 3. Add SAP Contact 对话框
当选择了一个联系人之后,Lotus Notes 就会创建一个新的 Contact 文档并从 SAP 导入联系人信息,文档在左上角显示一个图标(见图 4)指出联系人记录的来源。尽管您可以在文档中添加或编辑信息,就像任何其他地址簿项一样,但是这些更改不会写回到 SAP 中。
图 4. 新 Contact 文档
报告生成
SAP 提供广泛的报告,这些报告可以按需运行或者安排来以后由具有适当权限的用户创建和递交。每个报告又可能具有很多变体(一个变体是保存的一个在运行时应用于报告的修改项的集合)。具有适当 SAP 特权的任何 Notes 用户都可以从 Mail 数据库中的 Tools 按钮菜单生成报告,见图 5。
图 5. Request SAP Report 菜单选项
Request SAP Report 对话框允许您看到可用的报告变体并选择一个以立即生成它。或者如果所访问的 SAP 服务器支持预定的报告创建,那么该对话框还会显示用于输入安排信息的控件和字段。
工作项处理
通过向 Mail 数据库添加了一个新的视图 SAP Work Items,Lotus Notes access for SAP solutions 提供了一种易于查看 SAP 工作项队列的方式。视图中的一个按钮通过查询 SAP 服务器刷新当前工作项列表。当找到新的工作项时,工作项中的数据就被复制到 Mail 数据库中的新文档并显示在该视图中。操作按钮允许您更改工作项的状态。当工作项上需要附加的工作时,SAP 客户机就被启动,工作项被打开。
对于管理人员和开发人员,一个可定制的解决方案
更新后的数据库模板具有文档和公开的源代码,所以 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 脚本库
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 作为远程过程调用。下面是一个示例子例程:
|
该例程向一个 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 定制项目进行集成。