创建事件表和编译 PeopleSoft JAR 文件

两个必需的 JAR 文件中的第一个(将命名为 PSFTCI.jar)必须手动构建并编译。

PeopleSoft 连接器在指定时间间隔轮询 PeopleSoft Enterprise 服务器以获取事件。当连接器检测到事件时,它会将事件数据转换为业务对象,然后将其发送至客户机应用程序。要使用此方案,您必须在 PeopleSoft Enterprise 服务器中创建定制事件项目。

事件存储器

事件存储器是保存事件直至轮询连接器可以处理这些事件的表,这些事件反映数据的变化。连接器使用事件存储器来跟踪事件实体。要使用入站处理,必须使用 PeopleTools Application Designer 来创建用于事件通知的定制项目。定制项目会创建连接器需要用于入站处理的事件存储器。每次创建、更新或删除业务对象时,在项目中使用并接着添加至组件接口的 PeopleCode 功能都会在事件存储器中插入新记录,以及适当的对象名、键和状态值。

入站处理期间,连接器会在配置的轮询时间间隔从事件存储器轮询事件。在每次轮询调用中,配置的事件数都由连接器处理。事件处理的顺序基于优先级的升序和事件时间戳记的升序。在每个轮询周期中,将选取处于“准备轮询”状态 (0) 的事件。连接器使用对象名和对象键来检索相应的业务对象。从事件存储器中检索到事件并进行处理之后,事件的状况将发生变化以反映其状态,如下表中所示。

表 1. 事件状态值
状态短名称 描述 事件表值
处理事件时出错 在处理事件期间发生错误。 -1
准备轮询 事件已经做好被选取的准备。 0
成功 事件已传递到事件管理器。 1
已删除 已成功处理事件,将从事件存储器中除去该事件。 4

I. 创建事件表

确保按以下步骤来配置和编译 PeopleSoft JAR 文件。
  • 创建事件表
  • 将触发器添加到 WBI_CUSTOMER_COMP 组件
  • 为组件接口创建 Java™ API
  1. <Cast Iron Installation directory>\etc\peoplesoft\scripts 中的 WBI_CUST_PROJ 项目复制到运行 PeopleTools 的机器上的临时目录 (C:\Projects) 中。
  2. 登录 PeopleSoft 应用程序设计器,然后选择工具 > 复制项目 > 从文件
  3. 浏览至 C:\Projects 目录。在“从以下列表中选择项目”中,双击 WBI_CUST_PROJ
  4. 在“复制源文件”对话框中,单击“复制”。等待该操作完成。
  5. 选择左侧面板中的 WBI_CUST_PROJ,然后从主菜单中选择构建 > 项目
  6. 在“构建”面板中,选择以下复选框:
    • 创建表
    • 创建视图
    • 创建触发器
    • 运行并构建脚本
  7. 单击构建以开始构建项目。
  8. 单击关闭以退出“构建进度”对话框。
  9. 在应用程序设计器的“构建日志”视图中,检查日志消息以确认已正确处理三条记录。
  10. 选择文件 > 全部保存以保存更改。
  11. 要配置组件接口的用户安全性,请通过以下 URL 登录到 PeopleSoft Web 客户机:http://localhost/psp/ps/?cmd=login
  12. 转至 PeopleTools > 安全性 > 许可权和角色 > 许可权列表
  13. 开始于的编辑框中指定 PTPT1200,然后单击搜索
  14. 转至“组件接口”选项卡,单击 + 以添加组件接口 WBI_CUSTOMER_COMP_INTERFACE
  15. 单击 WBI_CUSTOMER_COMP_INTERFACE 的“编辑”。
  16. 对所有方法选择“完全访问”,然后单击“确定”。
  17. 返回到“组件接口”选项卡,单击 + 以添加组件接口 IBM_EVENT_CI
  18. 单击 IBM_EVENT_CI 的“编辑”。
  19. 对所有方法选择完全访问,然后单击确定
  20. 返回到“组件接口”选项卡,然后按保存按钮以保存更改。

II. 添加触发器

  1. 在 PeopleSoft 应用程序设计器中,打开 WBI_CUST_PROJ 项目。
  2. 在左侧面板中,右键单击 WBI_CUSTOMER_COMP,然后选择查看 PeopleCode
  3. 在 PeopleCode 编辑窗口中,选择右侧面板中的 SavePostChange
  4. 在编辑窗口中输入以下 PeopleCode。
    Declare Function IBMPublishEvent PeopleCode IBM_FETCH_ID.IBM_NEXT_EVENT_ID FieldFormula;
    Component string &BONAME1; Component string &KEYLIST1;
    &BONAME1 = "WbiCustomerCompInterface";
    &KEYLIST1 = "WBI_CUSTOMER.WBI_CUSTOMER_ID"; /* Check if Component Changed before calling function*/ If ComponentChanged() And %UserId &lt;> "C" Then /* Publish this event to the IBM WebSphere IBM_EVENT_TBL for polling */ IBMPublishEvent(&BONAME1; &KEYLIST1); End-If;
  5. 选择文件 > 全部保存以保存更改。
  6. 为确保以上步骤中创建的触发器可正常工作,您需要执行一些初始化工作。连接到 PeopleTools 使用的数据库,然后运行以下 SQL 语句:
    $ insert into PS_IBM_FETCH_ID values(1000);
    $ commit;

III. 为组件接口创建 Java API

组件接口 API 提供对所有对象和 PeopleCode 方法的访问权。您可以使用应用程序设计器手动生成这些 API,然后将它们编译到 PSFTCI.jar 文件中。
  1. 在 PeopleSoft 应用程序设计器中,打开 IBM_EVENT_CI 组件接口。
  2. 从主菜单中选择构建 > PeopleSoft API
  3. 在“构建 PeopleSoft API 绑定”对话框中,确保只选中“Java 类”下的“构建”复选框。设置目标目录以存储所生成的 Java 文件。
    在“选择要构建的 API”列表中,选择以下项:
    • CompIntfc.CompIntfcPropertyInfo
    • CompIntfc.CompIntfcPropertyInfoCollection
    • 所有以 CompIntfc.IBM_EVENT_CI 开头的项
    • 所有以 CompIntfc.WBI_CUSTOMER_COMP_INTERFACE 开头的项
  4. 单击确定。检查目标目录,以确保正确生成 Java 文件。
  5. 将生成的 Java 文件复制到 C:\Temp 目录,然后将 psjoa.jar 文件从 <PeopleTools_HOME>\web\psjoa 复制到 C:\Temp 目录。
  6. 进入 C:\Temp 目录,然后运行以下命令以构建 Java 文件。
    $ javac -classpath .\psjoa.jar PeopleSoft\Generated\CompIntfc\*.java
    $ jar -cvf PSFTCI.jar PeopleSoft\Generated\CompIntfc\*.class

这两个 JAR 文件 psjoa.jarPSFTCI.jar 将由 PeopleSoft 连接器用于访问 PeopleSoft Enterprise 应用程序。




反馈 | 声明


http://pic.dhe.ibm.com/infocenter/wci/v7r0m0/topic/com.ibm.wci.doc/Peoplesoft_compiling_jars.html