导入数据并运行程序规则

使用这些脚本可上传数据文件并将数据从上传的文件导入到 Profitability and Cost Management 业务流程中。

这些脚本完成以下步骤:

  • 登录环境。
  • 上传包含要加载的数据的数据文件。
  • 上传包含数据规则的规则文件。
  • 将数据从数据文件加载到应用程序中以覆盖现有值。
  • 运行规则文件中的所有规则。
  • 注销。

Windows 脚本

通过复制以下脚本来创建一个名为 importData.ps1 的文件。将其存储在本地目录中。
$inputproperties = ConvertFrom-StringData(Get-Content ./input.properties -raw)
$username="$($inputproperties.username)"
$passwordfile="$($inputproperties.passwordfile)"
$serviceURL="$($inputproperties.serviceURL)"
$applicationName="$($inputproperties.applicationName)"
$dataFileName="$($inputproperties.dataFileName)"
$rulesFileName="$($inputproperties.rulesFileName)"
$fileDestination="$($inputproperties.fileDestination)"
$clearAllDataFlag="$($inputproperties.clearAllDataFlag)"
$dataLoadValue="$($inputproperties.dataLoadValue)"

epmautomate login ${username} ${passwordfile} ${serviceURL}
epmautomate uploadfile "${dataFileName}" ${fileDestination}
epmautomate uploadfile "${rulesFileName}" ${fileDestination}
epmautomate loaddata ${applicationName} clearAllDataFlag=${clearAllDataFlag} dataLoadValue=${dataLoadValue} rulesFileName="${rulesFileName}" dataFileName="${dataFileName}"
epmautomate logout

Linux/UNIX 脚本

通过复制以下脚本来创建一个名为 importData.sh 的文件。将其存储在本地目录中。
#!/bin/bash
. ./input.properties
export JAVA_HOME=${javahome}
${epmautomatescript} login "${username}" "${passwordfile}" "${serviceURL}"
${epmautomatescript} uploadfile "${dataFileName}" "${fileDestination}"
${epmautomatescript} uploadfile "${rulesFileName}" "${fileDestination}"
${epmautomatescript} loaddata "${applicationName}" "clearAllDataFlag=${clearAllDataFlag}" "dataLoadValue=${dataLoadValue}" rulesFileName="${rulesFileName}" dataFileName="${dataFileName}"
${epmautomatescript} logout

创建 input.properties 文件

要运行 importData 脚本,请创建 input.properties 文件并使用环境信息进行相应的更新。将文件保存在存储 importData.ps1importData.sh 的目录中。

Windows

username=exampleAdmin
passwordfile=examplePassword.epw
serviceURL=exampleURL
applicationName=APPLICATION_NAME
dataFileName=DATA_FILE.txt
rulesFileName=RULE_FILE.txt
fileDestination=profitinbox
clearAllDataFlag=true
dataLoadValue=OVERWRITE_EXISTING_VALUES
Linux/UNIX
javahome=JAVA_HOME
epmautomatescript=EPM_AUTOMATE_LOCATION
username=exampleAdmin
passwordfile=examplePassword.epw
serviceURL=exampleURL
applicationName=APPLICATION_NAME
dataFileName=DATA_FILE.txt
rulesFileName=RULE_FILE.txt
fileDestination=profitinbox
clearAllDataFlag=true
dataLoadValue=OVERWRITE_EXISTING_VALUES

表 3-26 input.properties 参数

参数 说明
javahome JAVA_HOME 位置。仅限 Linux/UNIX。
epmautomatescript EPM Automate 可执行文件 (epmautomate.sh) 的绝对路径。仅限 Linux/UNIX。
username 同时具有身份域管理员角色的服务管理员的用户名。
password 服务管理员的密码或加密密码文件的名称和位置。
serviceURL 要从其生成快照的环境的 URL。
applicationName 要向其加载数据的 Profitability and Cost Management 的名称。
dataFileName 包含要导入的数据的文件的名称。
rulesFileName 包含要对导入数据运行的规则的文件的名称。
fileDestination 要向其上传数据和规则文件的位置。
clearAllDataFlag 指定是否清除应用程序多维数据集中的现有数据。如果不想清除现有数据,则设置为 false
dataLoadValue 指定如何处理现有数据。如果想保留多维数据集中的现有数据,则指定 ADD_TO_EXISTING

运行脚本

  1. 通过复制上一节的脚本来创建 importData.ps1importData.sh
  2. 创建 input.properties 文件,并将其保存在 importData 脚本所在的目录中。此文件的内容因操作系统的不同而异。请参阅“创建 input.properties 文件”。

    请确保您对此目录具有写权限。对于 Windows,您可能需要使用以管理员身份运行选项启动 PowerShell,以便能够运行脚本。

  3. 启动脚本。
    • Windows PowerShell:运行 importData.ps1
    • Linux/UNIX:运行 ./importData.sh