跳至主要内容
Adaptive Planning
使用 Scripted Planning Exporter 导出 Planning 数据

使用 Scripted Planning Exporter 导出 Planning 数据

您可以使用 Scripted Planning Exporter(简称 SPE,一个自定义的 Pentaho 插件)将 Planning 数据导出到外部系统中。有关其他信息,
Adaptive Planning
有关 Pentaho 的使用,请参见 设置脚本型数据源

SPE 简介

SPE 的工作方式是调用
Adaptive Planning
导出 REST API,然后将该 API 调用的结果存储在您指定的文件中。SPE 支持输出为 CSV 和 XML 文件格式。并非所有导出数据都可以转换为 CSV 格式。
自版本 v51.17.0734 起,SPE 插件已与数据代理捆绑在一起。您可以通过打开该程序来验证您使用哪个版本的数据代理服务管理器。有关版本号信息,请参见“关于”选项卡。有关安装数据代理的信息,请参见 安装数据代理服务管理器。安装 SPE 后,在 Spoon 的“Design”选项卡上的“Input”文件夹中,将显示 Adaptive Planning 插件。
Scripted Planning Exporter 适配器的相关术语可能有些令人费解。数据从 Planning 流向脚本,然后再流向某个外部目的地,因此数据是从 Planning 中导出,然后再导入外部目的地。但从 Spoon 的角度来看,SPE 为脚本提供输入,因此是一个输入步骤。这就是在 Spoon 中将 SPE 标记为“Adaptive Planning Input”的原因。
您可以直接从 Spoon 环境中启动 SPE,也可以通过将其包含在脚本型加载器中远程启动。使用 SPE 的常规流程是,编写一个脚本,该脚本以 Planning 服务器接受的格式创建 XML 请求,将其传递给 SPE,然后处理结果。下面的示例脚本显示了编写 SPE 脚本的最低要求:
Scripted Planning Exporter ------------------------------------------- Input: requestXMLString: request in XML format targetResponseFormat: CSV or XML targetFolder: target folder to store result file generated by this plugin Output: The type of output fields is String, except requestSuccess, which is boolean requestSuccess: Boolean, Y' or N' planningMsgs: concatenate Planning messages in a string, delimited by ###' responseFileName: complete path of the response file name fieldNames: column name in CSV header, or NULL if targetResponseFormat is XML numberRecReturned: String, number of records returned by Planning, or NULL if targetResponseFormat is XML
以下为使用此脚本的最佳做法:
  • 所有输入字段名称均区分大小写。在 Kettle 脚本中作出相应的定义。
  • requestXMLString:
    每个导出 API 都有自己的请求 XML 格式。请参见
    Adaptive Planning
    REST API 了解更多信息。
  • targetResponseFormat:
    自 API v11 起,只有“exportData”API 的负载可以转换为 CSV 格式。所有其他导出内容必须为 XML 格式。
  • TargetFolder:
    通常情况下,请勿选中 代理服务管理器中的“Restrict Runner Access to Files”复选框。目标文件夹可以位于文件系统中的任何位置。
  • responseFileName:
    响应文件的名称采用以下格式:
    <targetFolder>_ApiResponse_<exportMethod>_<UUID>.<targetFormat>;
    示例:
    C:\pdiTemp\ApResponse_exportData_83980a17b3dc40c48282483cb9ea5e96.csv
  • requestSuccess:
    如果导出请求在 Planning 服务器端通过,则“requestSuccess”的值为 true ('Y')。如果在调用 Planning 结果时导出请求未通过,则 SPE 将引发异常,并显示 Planning 服务器返回的错误消息。
如要从 Planning 中提取信息并将其发送到输出文件,请执行如下常规工作流:
  1. 输入请求 XML 文件。
  2. 将文件内容转换为字符串。
  3. 设置目标格式 (CSV | XML) 和文件夹。
  4. Adaptive Scripted Planning Exporter。
  5. 封锁步骤。
  6. 记录适配器输出。

通过 Kettle 脚本使用 Planning 导出 API

SPE 使用
Adaptive Planning
API v11 或更高版本。您可以将以下 API 搭配 SPE:
  • customReportValues:
    根据已请求的实例中所请求的报告条件,返回一组数据
  • exportData:
    从指定版本中检索一组值
请参见了解
Adaptive Planning
API 了解更多信息。

配置 SPE Kettle 插件

如要配置 SPE Kettle 插件,请执行以下操作:
  1. 在 Spoon 的“Design”选项卡中,单击“Adaptive Planning Input”
  2. 输入 SPE 的信息:
    • Active Agent:由 SPE 自动填充。
    • Instance Host:由 SPE 自动填充。
    • Instance Code:由 SPE 自动填充。
    • Login:登录相关信息参数的值。
    • Login Password:密码相关信息参数的值。
    • Locale:默认为“en_US”
  3. 单击“OK”
您需要创建一个脚本,用以定义 SPE 操作的输入和输出。请参见本文中的示例脚本。

配置 SPE 的时间范围为
Adaptive Planning
Integration Cloud 用户界面

如要通过集成模块的云用户界面创建脚本型加载器,常规流程如下:
  • 创建脚本型加载器
  • 选择入口点
  • 配置所需参数
首先新建一个脚本型加载器。有关更多信息,请参见 创建脚本型加载器 。您还需要在“入口点”下拉列表中选择一个入口点。入口点的名称即为执行脚本型加载器时要执行脚本的名称。
对于脚本型加载器中定义的本地和共享相关信息参数,您必须将其作为 Kettle/Spoon 环境中的环境变量进行映射和显示。示例:如果在加载器设置页面的“参数”版块中定义了名为“login”的相关信息参数,则该参数在 Kettle 环境中将显示为变量“${login}”。然后,脚本型加载器中对两个相关信息参数的定义将在 SPE 中用于两个对应的 Kettle 变量。
您可以在设计期间使用当前的默认相关信息参数值更新 Kettle 变量,操作方法为启动 Adaptive Script Editor,然后单击“Refresh Configuration”来触发刷新。