事件

EPM 集成代理执行的步骤如下:

  1. 处理在 Oracle Enterprise Performance Management Cloud 中指定的由 EPM 集成代理数据源所定义的 SQL。

  2. 根据定义的数据源准备 SQL 结果集并传输到 EPM 云

这些步骤称为“提取”和“上传”步骤。EPM 集成代理中的脚本编写支持与这两个处理步骤相关的四个事件,从中可定义自定义脚本。这些事件如下所示:

事件 脚本名称 说明

提取之前

BefExtract.py

BefExtract.groovy

代理提取处理之前所执行的脚本。如果想要在 SQL 处理之前执行任何处理,应在此脚本中加入该代码。

提取之后

AftExtract.py

AftExtract.groovy

代理提取处理之后所执行的脚本。提取文件准备好之后,在 agent/MyData/data 本地文件夹中会包含一个带 dat 后缀的作业 ID

上传前

BefUpload.py

BefUpload.groovy

数据文件上传到 EPM 云之前所执行的脚本。上传到 EPM 云的文件是 agent/MyData/data 文件夹中的 <jobID>.dat 文件。

上传后

AftUpload.py

AftUpload.groovy

数据文件上传到 EPM 云之后所执行的脚本。

注:

有关在回写执行期间使用的 EPM 集成代理 BefExportAftExport 事件的信息,请参阅“EPM 集成代理回写事件脚本”。

在安装了代理的本地计算机上的 agent/Sample/jythonagent/Sample/groovy 文件夹中,提供了示例脚本。如果将某个脚本置于 agent/MyData/scripts 文件夹中,则系统会运行该脚本的实例。例如,如果仅希望执行 BefExtract 脚本,则只将此脚本保存在 agent/MyData/scripts 文件夹中。

您也可以选择创建自己的 Java 类实现,以实施上面介绍的四个自定义方法。Agent/Sample 文件夹中提供了一个示例以供参考,但如果选择此方法,需考虑以下几点:

  • 如果选择直接在 Java 中实施集成逻辑,则无需将任何脚本保存在 agent/MyData/scripts 文件夹中。Java 实现始终执行这四个事件,如果其中的任一事件没有脚本文件,则仅处理客户/合作伙伴定义的 Java 逻辑。

  • 可以创建一个 Java 类文件 CustomEvent.java,该文件应实施 agent-interface.jar 中存在的接口 EPMAgentInterface(例如,public class CustomEvent 实施 EPMAgentInterface{})。

  • CustomEvent.class 可在 agent-interface.jar 中打包为 oracle.epm.aif.agent.agentinterface.CustomEvent.class。如果选择将它打包在单独的 jar 中(不是 agent-interface.jar),则此 jar 必须包含在 CUSTOM_CLASS_PATH 代理启动参数中。

  • 如果选择使用与 oracle.epm.aif.agent.agentinterface.CustomEvent.class 不同的类名称,则必须使用完全限定的 java 类名称设置启动参数 CUSTOM_INTERFACE_CLASS_NAME

  • 请注意,每当开发人员在定期 EPM 云发布周期过程中提供修复或新版本时,agent-interface.jar 都会更新。自定义事件类可以用于开发和测试目的,但对于生产部署,建议维护单独的 jar,以免覆盖自定义。