Oracle Hyperion Profitability and Cost Management
REST API Developer’s Guide
Release 11.2.6.0.000
Table of Contents
Oracle Hyperion Profitability and Cost Management
About the Oracle Hyperion Profitability and Cost Management REST Web Services API
REST APIs Common for All Application Types
2. Get Applications Type Details
4. Get Job Services by an Application
6. Get Task Status by Process Name
10. Get Task Details by Process Name
12. Get Essbase Application Properties
13. Get Essbase Application Dimensions
14. Update Dimension for Native Application
16. Create Application Using Native Method
REST APIs for Management Ledger
25. Create ML Application Using Master Cube Method
REST APIs common for Standard and Detailed Profitability
27. Import from Staging (SP & DP)
REST APIs for Standard Profitability
32. Run SP Genealogy Execution paths
34. Run SP Genealogy Execution Paths without ASO Cube Clear
35. Run SP Multi POV Calculation
REST APIs for Detailed Profitability
36. Prepare Detailed Views for Reporting (DP)
40. Get Assignment Rule Definitions (DP)
Sample Code for Authentication
You can use the Oracle Hyperion Profitability and Cost Management REST Web Services API to automate a variety of Profitability and Cost Management tasks. This API provides an alternative to using the web-based user interface for many operations.
You can use one of a variety of methods to access the Profitability and Cost Management REST API. For example, you can access the REST API through web browsers and other client applications such as cURL and GNU Wget.
Alternatively, you can use the Profitability and Cost Management REST API in REST client applications that are developed in languages such as JavaScript, Ruby, Perl, Java, JavaFX.
Every API returns some or all of the following content.
Attribute |
Description |
Example |
Type |
Product name |
Profitability |
Items (Optional) |
List of objects returned by REST API |
List of applications, list of stages, and so on. This information is displayed only when the list of objects is returned. |
Status |
Status code returned by the REST API |
Status values -1 - In Progress 0 - Success 1 - Error |
Status Message |
Status message equivalent to Status |
|
Details |
String value returned by REST API |
CES Taskflow ID/Success Message in case of Success status Error Message in case Error/Exception |
Links |
Object representing URI of the invoked REST API |
Self Link: http://slc04ljy.mydomain.com:19000/profitability/rest/v1/applications
Related Link job Status: http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/LM1T2_LM1T2_DeployCube_D20160113T065447_b64_1 |
Description |
Use this operation to list all existing Profitability and Cost Management applications |
Action Type |
GET |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications |
Request Payload |
|
Response |
{ "items": [{ "name": "AA1", "type": "MANAGEMENT_LEDGER" }, { "name": "vLM5", "type": "MANAGEMENT_LEDGER" }, { "name": "vLMA", "type": "MANAGEMENT_LEDGER" }], "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications", "action": "GET", "rel": "self" }], "status": 0, "details": "", "statusMessage": "Success" }
|
Process Type |
Synchronous |
Parameter |
Description |
Example |
|
|
|
Parameter |
Description |
Example |
Name |
Application Name |
|
Type |
Application Type |
MANAGEMENT_LEDGER GENERAL STANDARD |
Description |
Use this operation to list the application type for all existing Profitability and Cost Management applications. |
Action Type |
GET |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/{applicationName} |
Request Payload |
|
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksMl12", "action": "GET", "rel": "self" }], "status": 0, "details": "MANAGEMENT_LEDGER", "statusMessage": "Success" }
|
Process Type |
Synchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
|
Parameter |
Description |
Example |
Type |
Application Type |
MANAGEMENT_LEDGER GENERAL DETAIL |
Description |
Use this operation to list all Profitability and Cost Management applications of the selected type. |
Action Type |
GET |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/applicationsByType?queryParameter={"applicationType":"MANAGEMENT_LEDGER"} |
Request Payload |
|
Response |
{ "items": [{ "name": "AA1", "type": "MANAGEMENT_LEDGER" }, { "name": "vLM5", "type": "MANAGEMENT_LEDGER" }, { "name": "vLMA", "type": "MANAGEMENT_LEDGER" }], "type": "Profitability", "links": [{ "action": "GET", "rel": "self", "data": { "applicationType": "MANAGEMENT_LEDGER" } }], "status": 0, "details": "", "statusMessage": "Success" }
|
Process Type |
Synchronous |
Parameter |
Description |
Example |
queryParameter |
Application Type |
{"applicationType":"MANAGEMENT_LEDGER"} {"applicationType":"GENERAL"} {"applicationType":"DETAIL"} |
Parameter |
Description |
Example |
Name |
Application Name |
|
Type |
Application Type |
MANAGEMENT_LEDGER GENERAL DETAIL |
Description |
Use this operation to list all Profitability and Cost Management application jobs of the selected application. |
Action Type |
GET |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/{applicationName}/jobs |
Request Payload |
|
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksML12/jobs", "action": "GET", "rel": "self" }], "status": 0, "details": "1. Deploy Cube \nURI: http://{HostName}/profitability/rest/11.1.2.4.000/applications/{applicationName}/jobs/ledgerDeployCubeJob?isKeepData=Value&isReplaceCube=Value&isRunNow=Value&comment=Value\n2. Task Status \nURI: http://{HostName}/profitability/rest/11.1.2.4.000/applications/jobs/ChecktaskStatusJob/{processName}", "statusMessage": "Success" }
|
Process Type |
Synchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
|
Parameter |
Description |
Example |
Type |
Job Type |
Deploy Cube |
Description |
Use this operation to delete an existing Profitability and Cost Management application, and its association with Oracle Hyperion Shared Services (all application types). |
Action Type |
DELETE |
Request URI |
http://slc06vya.mydomain.com:6756/profitability/rest/v1/applications/{applicationName} |
Request Payload |
|
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:6756/profitability/rest/v1/applications/BksMl12", "action": "DELETE", "rel": "self" }], "status": 0, "details": "Application: BksMl12 is deleted successfully.", "statusMessage": "Success" }
|
Process Type |
Synchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
|
Parameter |
Description |
Example |
|
|
|
|
|
|
Description |
Use this operation to view the current status of the job process name (CES taskflow) as it is displayed on the Taskflow Status Summary (all application types). |
Action Type |
GET |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/{processName} |
Request Payload |
|
Response |
{ "type": "Profitability", "links": [{ "action": "GET", "rel": "self" }], "status": 0, "details": "ExportTemplate=Success,RBkML1_ExportTemplate_D20160112T025419_836=Done", "statusMessage": "Success" }
|
Process Type |
Synchronous |
Parameter |
Description |
Example |
processName |
Process Name/TaskflowId |
RBkML1_ExportTemplate_D20160112T025419_836 |
Parameter |
Description |
Example |
Task |
Task Name |
ExportTemplate |
Status |
Task Status |
Success |
Description |
Use this operation to retrieve all POV Jobs details for a selected application (all application types). |
Action Type |
GET |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/{applicationName}/povs/jobs |
Request Payload |
|
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/Ex3F3/povs/jobs", "action": "GET", "rel": "self" }], "status": 0, "details": "1. Copy POV \nURI: http://{HostName}/profitability/rest/11.1.2.4.000/applications/{applicationName}/povs/{povMemberGroup}/jobs/copyPOVJob/{destPOVMemberGroup}?isManageRule=true&isInputData=true&isAdjustmentValues=false&isAllocatedValues=true\n2. Copy POV \nURI: http://{HostName}/profitability/rest/11.1.2.4.000/applications/{applicationName}/povs/{povMemberGroup}/jobs/clearPOVJob?isManageRule=true&isInputData=true&isAdjustmentValues=false&isAllocatedValues=true\n3. Delete POV \nURI: http://{HostName}/profitability/rest/11.1.2.4.000/applications/{applicationName}/povs/{povMemberGroup}/jobs/{povMemberGroup}\n4. Run ML Calculation \nURI: http://{HostName}/profitability/rest/11.1.2.4.000/applications/{applicationName}/povs/{povMemberGroup}/jobs/runLedgerCalculationJob?isClearCalculated=true&isExecuteCalculations=true&isRunNow=true&comment=value&subsetStart=value&subsetEnd=value&ruleName=value&ruleSetName=value&exeType=value\n", "statusMessage": "Success" }
|
Process Type |
Synchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
Ex3F3 |
Parameter |
Description |
Example |
Type |
Job Type |
Copy POV Run ML Calculation |
Description |
Use this operation to retrieve all POV details for a selected application (all application types). |
Action Type |
GET |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/{applicationName}/povs |
Request Payload |
|
Response |
{ "items": [{ "povDimensionMember1": "FY14", "povDimensionMember2": "JUN", "povDimensionMember3": "Actual", "povDimensionMember4": "Working", "povState": "Draft" }, { "povDimensionMember1": "FY14", "povDimensionMember2": "JUL", "povDimensionMember3": "Actual", "povDimensionMember4": "Working", "povState": "Draft" }], "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/Ex3F3/povs", "action": "GET", "rel": "self" }], "status": 0, "details": "", "statusMessage": "Success" }
|
Process Type |
Synchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
|
Parameter |
Description |
Example |
Pov Member Group |
Pov Dimension Member1 Pov Dimension Member2 Pov Dimension Member3 Pov Dimension Member4 |
2012 January Actual Plan |
Description |
Use this operation to delete an existing POV in a Profitability and Cost Management application (all application types). |
Action Type |
DELETE |
Request URI |
http://{HostName}:6756/profitability/rest/v1/applications/{applicationName}/povs/{povMemberGroup} |
Request Payload |
|
Response |
{ "type": "Profitability", "links": [{ "action": "DELETE", "rel": "self", "data": {} }, { "action": "GET", "rel": "Job status" }], "status": -1, "details": "Ex3F3_Ex3F3_DeleteMLPOV_D20160116T140536_da2_1", "statusMessage": "In Progress" }
|
Process Type |
Asynchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
|
povMemberGroup |
povDimensionMember1 povDimensionMember2 povDimensionMember3 povDimensionMember4 |
2012. January Actual Plan |
Parameter |
Description |
Example |
TaskflowID |
Process Id for the submitted task |
Ex3F3_Ex3F3_DeleteMLPOV_D20160113T052141_2fd_1 |
Description |
Use this operation to retrieve the details like job id, name, start time, end time, user id and etc. for the given process. |
Action Type |
GET |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/jobs/taskDetails/{processName} |
Request Payload |
|
Response |
{ "type": "Profitability", "links": [{ "action": "GET", "rel": "self" }], "status": 0, "details": "", "statusMessage": "Success" }
|
Process Type |
Synchronous |
Parameter |
Description |
Example |
processName |
Taskflow Id of the job |
RBkML1_ExportTemplate_D20160112T025419_836 |
Parameter |
Description |
Example |
applicationName |
Name of the Application for the given process name |
|
comment |
Comment given for the job/process |
|
jobType |
Type of the job submitted. |
|
startTime |
Start time of the process |
|
executionType
|
Execution type of the process |
|
jobProperties
|
Parameters given for the job execution |
|
Status |
Status of the submitted process.SUCCESS/FAILURE |
|
taskflowID |
Name of the process |
|
endTime |
End time of the process |
|
User |
Id of the user who submitted the process |
|
povName |
Specify dimension member names of the POV for which this task details operation has been applied: povDimensionMember1 povDimensionMember2 povDimensionMember3 povDimensionMember4 |
povDimensionMember1 = 2012 povDimensionMember2 = January povDimensionMember3 = Actual |
Description |
Use this operation to Get Essbase applications for a given Essbase Application Server. |
Action Type |
GET |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/aamApplications/{essbaseServer} |
Request Payload |
|
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/aamApplications/EssbaseCluster-1", "action": "GET", "rel": "self" }], "status": 0, "details": "76m11R:[77m11R] \nAA3C:[AA3C] \nAmtpDim:[AmtpDim] \nAnMstr:[AnMstr] \nASOsamp:[Sample] \nBksMast:[BksMast] \nBksML12C:[BksML12C] \nBksML13C:[BksML13C] \nBksML1C:[BksML1C] \nBksSP82R:[BksSP82R] \nBSMML1C:[BSMML1C] \nCMAPMast:[CMAPMast] \nCMAPR:[CMAPR] \nCust:[Cust] \nD2S1:[D2S1] \nDemo1C:[Demo1C] \nDemoC:[DemoC] \nDPOHF1C:[DPOHF1C] \nEAlocBug:[EAlocBug] \nEx11F2C:[Ex11F2C] \nEx33FlC:[Ex33FlC] \nEX3F1LOC:[EX3F1LOC] \nEX3F1SDC:[EX3F1SDC] \nEx3FL3:[Ex3FL3] \nEx3FlC:[Ex3FlC] \nEx5F1C:[Ex5F1C] \nEx5M:[Ex5M] \nEXAMP:[EXAMP] \nExDPOH:[ExDPOH] \nExDPOHL:[ExDPOHL] \nExe5:[Exe5] \nExel11:[Exel11] \nExel11C:[Exel11C] \nExel3C:[Exel3C]\n", "statusMessage": "Success" }
|
Process Type |
Synchronous |
Parameter |
Description |
Example |
essbaseServer |
Name of Essbase Server |
EssbaseCluster-1 |
Parameter |
Description |
Example |
applicationName |
Essbase Application Name |
76m11R |
Description |
Use this operation to Get Essbase application Properties. |
Action Type |
GET |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/aamApplications |
Request Payload |
|
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/aamApplications", "action": "GET", "rel": "self" }], "status": 0, "details": "essbaseAppServers:[EssbaseCluster-1] \nwebServer:SLC06VYA.mydomain.com \ninstanceNames:[PROFITABILITY_WEB_APP] \nsharedServicesProjects:[Essbase Studio Server 11.1.2 Servers, EssbaseCluster-1, Foundation, Default Application Group] \n", "statusMessage": "Success" }
|
Process Type |
Synchronous |
Parameter |
Description |
Example |
|
|
|
Parameter |
Description |
Example |
essbaseAppServers |
Essbase Application Server |
EssbaseCluster-1 |
webServer |
HPCM Application server |
SLC06VYA.mydomain.com |
instanceNames |
Instance Name |
PROFITABILITY_WEB_APP |
sharedServicesProjects |
Share Services Project |
EssbaseCluster-1 |
Description |
Use this operation to Get dimensions for a given application and a given cube name (all application types). |
Action Type |
GET |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/aamApplications/{essbaseAppServer}/{applicationName}?queryParameter={“cubeName”.”BksML12C”) |
Request Payload |
|
Response |
{ "type": "Profitability", "links": [{ "action": "GET", "rel": "self", "data": { "cubeName": "BksML12C" } }], "status": 0, "details": "[Accounts, Activities, Balance, CostCenters, Customers, Drivers, Period, Products, Region, Rule, Scenario, Year]", "statusMessage": "Success" }
|
Process Type |
Synchronous |
Parameter |
Description |
Example |
essbaseAppServer |
Essbase Application Server |
EssbaseCluster-1 |
applicationName |
Essbase Application Name |
BksML12C |
queryParameter |
Cube Name |
{"cubeName":"BksML12C"} |
Parameter |
Description |
Example |
Dimension Names |
Dimension Name |
Accounts, Activities, Balance, CostCenters, Customers, Drivers, Period, Products, Region, Rule, Scenario, Year |
Description |
Use this operation to add or update a dimension for any native (file-based) application using a comma-delimited text file (.csv or .txt). |
Action Type |
POST |
Request URI |
http://{HostName}/profitability/rest/v1/fileApplications/{applicationName}/updateDimension |
Request Payload |
{ "dataFileName":"input.txt" } |
Response |
{ "type": "Profitability", "links": [ { "href": " http://slc04ljy.mydomain.com:19000/profitability/rest/v1/fileApplications/BksML12/ updateDimension ", "action": "POST", "rel": "self", "data": { "dataFileName":"input.txt" } }, { "href": "http://sl04ljy.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/BksML12_BksML12_UpdateDimension_D20160118T051020_bb8_1", "action": "GET", "rel": "Job status" } ], "status": -1, "details": "BksML12_BksML12_ UpdateDimension _D20160118T051020_bb8_1", "statusMessage": "In_Progress" } |
Process Type |
Asynchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
BksML12 |
dataFileName |
Name of the flat file already present in the import_export location of the server. (Mandatory parameter). |
DimA.txt |
Parameter |
Description |
Example |
Details |
CES Task Id |
BksML12_BksML12_UpdateDimension_D20160118T051020_bb8_1 |
Description |
Use this resource to enable any native (file-based) application. |
Action Type |
POST |
Request URI |
http://{HostName}/profitability/rest/v1/fileApplications/{applicationName}/enableApplication |
Request Payload |
|
Response |
{ "type": "Profitability", "links": [ { "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/fileApplications/BksMl12/enableApplication", "action": "POST", "rel": "self" } ], "status": 0, "details": "BksMl12_BksMl12_EnableApplication_D20160113T075011_53c_1", "statusMessage": "SUCCESS" } |
Process Type |
Asynchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
BksMl12 |
Parameter |
Description |
Example |
Details |
CES Task Id |
BksMl12_BksMl12_EnableApplication_D20160113T075011_53c_1 |
Description |
Use this operation to create a new application of any type using the “native” (file-based) method. Creating an application using this method will allow you to add and update dimensions from .csv files, using the Update Dimension for Native Application operation. |
Action Type |
POST |
Request URI |
http:// ://{HostName}:19000/profitability/rest/v1/fileApplications/{applicationName} |
Request Payload |
{ "description": "description", "instanceName": "PROFITABILITY_WEB_APP", "essApplicationServer":"EssbaseCluster-1", "sharedServicesProject":"EssbaseCluster-1", "applicationType": "MANAGEMENT_LEDGER", "webServer":"slc06vya.mydomain.com", "ruleDimensionName":"Rule", "balanceDimensionName":"Balance", "unicode": "true" } |
Response |
{ "type": "Profitability", "links": [ { "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/fileApplications/BksML12", "action": "POST", "rel": "self", "data": { "ruleDimensionName": "Rule", "unicode": true, "essApplicationServer": "EssbaseCluster-1", "applicationType": "MANAGEMENT_LEDGER", "balanceDimensionName": "Balance", "sharedServicesProject": "EssbaseCluster-1", "instanceName": "PROFITABILITY_WEB_APP", "description": "description", "webServer": "slc06vya.mydomain.com" } } ], "status": 0, "details": "Application for Flat file import has been created with name :: BksML12", "statusMessage": "SUCCESS" } |
Process Type |
Asynchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
BksML1 |
applicationType |
Application Type |
Valid values are: MANAGEMENT_LEDGER STANDARD or GENERAL |
ruleDimensionName |
For Management Ledger applications (optional) for overriding the Rule dimension name |
Rule |
balanceDimensionName |
For Management Ledger applications (optional) for overriding the Balance dimension name |
Balance |
measuresDimensionName |
For Standard or Detailed applications (optional) for overriding the default Measures dimension name. |
MeasuresSP MeasuresDP |
allocationTypeDimensionName |
For Standard applications only (optional) for overriding the default Allocation Type dimension name |
AllocationTypeSP |
Parameter |
Description |
Example |
|
|
|
Description |
Use this operation to deploy or redeploy the calculation cube for a selected Management Ledger application. |
Action Type |
POST |
Request URI |
http://{HostName}/profitability/rest/v1/applications/{applicationName}/jobs/ledgerDeployCubeJob |
Request Payload |
{ "isKeepData":"true", "isReplaceCube":"true", "isRunNow":"true", "comment":"Test Ml Deploy" } |
Response |
{ "type": "Profitability", "links": [ { "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/LM1T2/jobs/ledgerDeployCubeJob", "action": "POST", "rel": "self", "data": { "isRunNow": true, "isKeepData": true, "isReplaceCube": true, "comment": "Test Ml Deploy" } }, { "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/LM1T2_LM1T2_DeployCube_D20160113T065447_b64_1", "action": "GET", "rel": "Job status" } ], "status": -1, "details": "LM1T2_LM1T2_DeployCube_D20160113T065447_b64_1", "statusMessage": "IN_PROGRESS" } |
Process Type |
Asynchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
LM1T2 |
Parameter |
Description |
Example |
details |
CES Task Id |
LM1T2_LM1T2_DeployCube_D20160113T051333_38e_1 |
Description |
Use this operation to clear model artifacts and data from a POV combination for Management Ledger applications. This operation is equivalent to the functionality supported by the Point of View Manager screen’s Clear POV Data control. |
Action Type |
POST |
Request URI |
http://{HostName}/profitability/rest/v1/applications/{applicationName}/povs/{povMemberGroup}/jobs/clearPOVJob |
Request Payload |
{ "isManageRule":"true", "isInputData":"true", "isAdjustmentValues":"true", "isAllocatedValues":"true", "stringDelimter":"_" } |
Response |
{ "type": "Profitability", "links": [ { "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/LM1T2/povs/2014_January_Actual/jobs/clearPOVJob", "action": "POST", "rel": "self", "data": { "isAllocatedValues": true, "isInputData": true, "isManageRule": true, "stringDelimter": "_", "isAdjustmentValues": true } }, { "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/LM1T2_LM1T2_ClearMLPOV_D20160113T065742_62d_1", "action": "GET", "rel": "Job status" } ], "status": -1, "details": "LM1T2_LM1T2_ClearMLPOV_D20160113T065742_62d_1", "statusMessage": "IN_PROGRESS" } |
Process Type |
Asynchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
LM1T2 |
povMemberGroup |
POV member group |
2014_January_Actual |
Parameter |
Description |
Example |
details |
CES Task Id |
LM1T2_LM1T2_ClearMLPOV_D20160113T054651_746_1 |
Description |
Use this operation to copy model artifacts and data from a Source POV combination to a Destination POV combination for Management Ledger applications. This operation is equivalent to the functionality supported by the Point of View Manager screen’s Copy POV Data control. |
Action Type |
POST |
Request URI |
http://{HostName}/profitability/rest/v1/applications/{applicationName}/povs/{srcPOVMemberGroup}/jobs/copyPOVJob/{destPOVMemberGroup} |
Request Payload |
{ "isManageRule":"true", "isInputData":"true", "isAdjustmentValues":"true", "isAllocatedValues":"true", "stringDelimter":"_", "createDestPOV":"true" } |
Response |
{ "type": "Profitability", "links": [ { "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/LM1T2/povs/2014_January_Actual/jobs/copyPOVJob/2014_March_Actual", "action": "POST", "rel": "self", "data": { "isAllocatedValues": true, "isInputData": true, "createDestPOV": true, "isManageRule": true, "stringDelimter": "_", "isAdjustmentValues": true } }, { "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/LM1T2_LM1T2_CopyMLPOV_D20160113T065943_75b_1", "action": "GET", "rel": "Job status" } ], "status": -1, "details": "LM1T2_LM1T2_CopyMLPOV_D20160113T065943_75b_1", "statusMessage": "IN_PROGRESS" } |
Process Type |
Asynchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
LM1T2 |
srcPOVMemberGroup |
Source POV member group |
2014_January_Actual |
destPOVMemberGroup |
Destination POV member group |
2014_March_Actual |
Parameter |
Description |
Example |
details |
CES Task Id |
LM1T2_LM1T2_ClearMLPOV_D20160113T054651_746_1 |
Description |
Use this operation to run calculations for a selected Management Ledger application. |
Action Type |
POST |
Request URI |
http://{HostName}/profitability/rest/v1/applications/{applicationName}/povs/{povGroupMember}/jobs/runLedgerCalculationJob |
Request Payload |
{ "isClearCalculated":"true", "isExecuteCalculations":"true", "isRunNow":"true", "comment":"This is run by user1", "subsetStart":10, "subsetEnd":20, "ruleName":"Utilities Expense Adjustment", "ruleSetName":"Occupancy Expense Allocations", "exeType":"ALL_RULES", "stringDelimter":"_" } |
Response |
{ "type": "Profitability", "links": [ { "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksML1/povs/2010_January_Actual/jobs/runLedgerCalculationJob", "action": "POST", "rel": "self", "data": { "isExecuteCalculations": true, "subsetStart": 10, "ruleSetName": "Occupancy Expense Allocations", "comment": "This is run by user1", "subsetEnd": 20, "stringDelimter": "_", "ruleName": "Utilities Expense Adjustment", "isClearCalculated": true, "isRunNow": true, "exeType": "ALL_RULES" } }, { "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/BksML1_BksML1_RunCalcs_D20160113T070358_1da_1", "action": "GET", "rel": "Job status" } ], "status": -1, "details": "BksML1_BksML1_RunCalcs_D20160113T070358_1da_1", "statusMessage": "IN_PROGRESS" } |
Process Type |
Asynchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
BksML1 |
povGroupMember |
POV member group |
2010_January_Actual |
Parameter |
Description |
Example |
Details |
CES Task Id |
BksML1_BksML1_RunCalcs_D20160113T060906_868_1 |
Description |
Use this operation to retrieve Rule Balancing Data for a particular POV for a given Management Ledger application. |
Action Type |
GET |
Request URI |
http://{HostName}/profitability/rest/v1/applications/{applicationName}/povs/
{povGroupMembers}/ruleBalance?queryParameter={"modelViewName":"modelViewName"} |
Request Payload |
|
Response |
{ "items": [ { "ruleNumber": "", "rules": [], "balanceTypeRule": true, "scale": 2, "sequence": 0, "name": "NoRule", "description": null, "runningBalance": 49357098.03, "balance": 49357098.03, "allocationIn": null, "allocationOut": null, "adjustmentIn": null, "adjustmentOut": null, "input": 49357098.03, "runningRemainder": 49357098.03, "remainder": 49357098.03, "netChange": null, "offset": null, "inputAsString": "49,357,098.03", "adjInAsString": "-", "adjOutAsString": "-", "allocInAsString": "-", "allocOutAsString": "-", "balanceAsString": "49,357,098.03", "runningBalanceAsString": "49,357,098.03", "runningRemainderAsString": "49,357,098.03", "remainderAsString": "49,357,098.03", "netChangeAsString": "-", "offsetAsString": "-" }, ], "type": "Profitability", "links": [ { "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/Ex3F1/povs/FY14_JUN_Actual_Working/ruleBalance?queryParameter=%7B%22modelViewName%22:%22BU%2010601%22%7D", "action": "GET", "rel": "self", "data": { "modelViewName": "BU 10601" } } ], "status": 0, "details": "", "statusMessage": "SUCCESS" } |
Process Type |
synchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
Ex3F1 |
povGroupMember |
POV member group |
|
modelViewName |
Model view name |
BU 10601 |
Parameter |
Description |
Example |
|
|
|
Description |
Use this resource to load data to Essbase for a Management Ledger application without using the EAS Console. Note that it can upload a local data file to Profitability and Cost Management to be used for the data load to Essbase. To do this, the client code needs to attach the local data file content to the payload of this resource. |
Action Type |
POST |
Request URI |
http://slc04ljy.mydomain.com:19000/profitability/rest/v1/applications/{applicationName}/ jobs/essbaseDataLoadJob |
Request Payload |
{ "clearAllDataFlag":"true", "dataLoadValue":"OVERWRITE_EXISTING_VALUES", "rulesFileName":"rule.txt", "dataFileName":"input.txt" } |
Response |
{ "type": "Profitability", "links": [ { "href": " http://slc04ljy.mydomain.com:19000/profitability/rest/v1/applications/BksML12/ jobs/ essbaseDataLoadJob ", "action": "POST", "rel": "self", "data": { "clearAllDataFlag":"true", "dataLoadValue":"OVERWRITE_EXISTING_VALUES", "rulesFileName":"rule.txt", "dataFileName":"input.txt" } }, { "href": "http://sl04ljy.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/BksML12_BksML12_LoadData_D20160118T051020_ba8_1", "action": "GET", "rel": "Job status" } ], "status": -1, "details": "BksML12_BksML12_LoadData_D20160118T051020_ba8_1", "statusMessage": "In_Progress" } |
Process Type |
Asynchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
BksML12 |
clearAllDataFlag |
Clear existing data before load: true/false |
|
dataLoadValue |
OVERWRITE_EXISTING_VALUES ADD_EXISTING_VALUES |
|
rulesFileName |
Name of the rule file already present in import_export location of the server machine. (Optional parameter) |
Rule1.txt |
dataFileName |
Name of the data file already present in the import_export location of the server. (Mandatory parameter) |
Inpdat1.txt |
Parameter |
Description |
Example |
|
|
|
Description |
Use this operation to export Management Ledger applications as a template zip file. The same template file can be imported into other Profitability and cost management instances. When an already existing file name is used then it will overwrite content in the existing file.
NOTE: Input Data export is not currently available when a template is exported using the REST API. However, this feature is supported from the user interface. |
Action Type |
POST |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/Ex3F3/jobs/templateExportJob |
Request Payload |
{ "fileName":"testFile" } |
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/Ex3F3/jobs/templateExportJob?fileName=test123", "action": "POST", "rel": "self", "data": {} }, { "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/Ex3F3_Ex3F3_ExportTemplate_D20160113T090737_166_1", "action": "GET", "rel": "Job status" }], "status": -1, "details": "Ex3F3_Ex3F3_ExportTemplate_D20160113T090737_166_1", "statusMessage": "IN_PROGRESS" } |
Process Type |
Asynchronous |
Parameter |
Description |
Example |
fileName |
fileName |
testFile |
Parameter |
Description |
Example |
details |
CES task id |
Ex3F3_Ex3F3_ExportTemplate_D20160113T051000_d66_1 |
Description |
Use this operation to import an entire Management Ledger application from a template zip file (which was created by a template export operation). This creates a new application which contains the same dimension metadata and artifacts as the exported application. |
Action Type |
Post |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksTs/jobs/templateImportJob |
Request Payload |
{ "description":"description", "instanceName":"PROFITABILITY_WEB_APP", "essApplicationServer":"EssbaseCluster-1", "sharedServicesProject":"EssbaseCluster-1", "applicationType": "MANAGEMENT_LEDGER", "fileName":" testFile12345.zip", "isApplicationOverwrite":"true" } |
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksT1/jobs/templateImportJob", "action": "POST", "rel": "self", "data": { "instanceName": "PROFITABILITY_WEB_APP", "essApplicationServer": "EssbaseCluster-1", "sharedServicesProject": "EssbaseCluster-1", "description": "description", "isApplicationOverwrite": true, "applicationType": "MANAGEMENT_LEDGER", "fileName": " testFile12345.zip" } }], "status": 1, "details": "the given File not found : filename is testFile12345.zip", "statusMessage": "ERROR" } |
Process Type |
Asynchronous |
Parameter |
Description |
Example |
description |
Description for application (mandatory parameter) |
description |
instanceName |
Instance name for the application (mandatory parameter) |
PROFITABILITY_WEB_APP |
essApplicationServer |
Essbase Application Server name (mandatory parameter) |
EssbaseCluster-1 |
sharedServicesProject |
Shared Services Project Name (mandatory parameter) |
EssbaseCluster-1 |
applicationType |
Type of application |
|
fileName |
Name of the zip file already present in export import location. (Mandatory parameter) |
|
isApplicationOverwrite |
if value is true then it will delete existing application and then creates new application & if false then it will return with message that application already exist(default is males and it is an optional parameter ) |
true |
Parameter |
Description |
Example |
details |
CES task id |
AppMgmt_AppMgmt_ImportTemplate_D20160113T051745_d85_1 |
Description |
Use this operation to create a Management Ledger application using an Essbase master cube. |
Action Type |
POST |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/fileApplications/{applicationName} |
Request Payload |
{ "description":"description", "instanceName":"PROFITABILITY_WEB_APP", "essApplicationServer":"EssbaseCluster-1", "sharedServicesProject":"EssbaseCluster-1", "applicationType":"MANAGEMENT_LEDGER", "essApplication":"BksMast", "essApplicationDatabase":"BksMast", "dimensions":["Year","Period","Accounts","Products"], "webServer":"slc06vya.mydomain.com" } |
Response |
{ "type": "Profitability", "status": -1, "statusMessage": "In Progress", "details": "AppMgmt_DeployApplication_D20160127T030614_464", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/aamApplications/Bks11", "action": "POST", "rel": "self", "data": { "dimensions": ["Year", "Period", "Accounts", "Products"], "essApplicationDatabase": "BksMast", "essApplicationServer": "EssbaseCluster-1", "applicationType": "MANAGEMENT_LEDGER", "essApplication": "BksMast", "sharedServicesProject": "EssbaseCluster-1", "instanceName": "PROFITABILITY_WEB_APP", "description": "description", "webServer": "slc06vya.mydomain.com" } }, { "action": "GET", "rel": "Job Status" }] }
|
Process Type |
Asynchronous |
Parameter |
Description |
Example |
applicationName |
Application Name |
ABks12 |
description |
|
|
instanceName |
Instance Name |
PROFITABILITY_WEB_APP |
essApplicationServer |
Essbase Application Server |
EssbaseCluster-1 |
sharedServicesProject |
Shared Services Project |
EssbaseCluster-1 |
applicationType |
Application Type |
MANAGEMENT_LEDGER |
webServer |
HPCM web server |
slc06vya.mydomain.com |
ruleDimensionName |
Rule Dimension Name |
Rule |
balanceDimensionName |
Balance Dimension Name |
Balance |
unicode |
true/fasle |
|
Parameter |
Description |
Example |
Application Name |
Application Name |
ABks12 |
Description |
Use this operation to retrieve all stage details for the given application name. This operation returns name and display order of a stage by using the following rest URI. This operation is valid for Standard Profitability and Detailed Profitability applications. |
Action Type |
GET |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/stages |
Request Payload |
Not needed |
Response |
{ "items": [{ "stageName": "Ledger Data", "displayOrder": 1 }, { "stageName": "Activity", "displayOrder": 2 }, { "stageName": "Cost Objects", "displayOrder": 3 }, { "stageName": "Profitability", "displayOrder": 4 }, { "stageName": "test1", "displayOrder": 5 }, { "stageName": "test2", "displayOrder": 6 }], "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/stages", "action": "GET", "rel": "self" }], "status": 0, "details": "", "statusMessage": "SUCCESS" } |
Process Type |
Synchronous |
Parameter |
Description |
Example |
Application name |
Application Name |
|
Parameter |
Description |
Example |
List of stages |
Stages |
|
Description |
Use this operation to execute the selected import configuration into a Profitability and Cost Management application. This operation is valid for Standard Profitability and Detailed Profitability applications. |
Action Type |
Post |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/jobs/importConfigJob |
Request Payload |
{ "importConfigName":"Import_Config_Test" } |
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/jobs/importConfigJob", "action": "POST", "rel": "self", "data": { "importConfigName": "Import_Config_Test" } }], "status": 1, "details": "Invalid import configuration name: ''Import_Config_Test'' associated with application: ''BksSP82''", "statusMessage": "ERROR" } |
Process Type |
Synchronous |
Parameter |
Description |
Example |
importConfigName |
Name of the import configuration to be executed |
importConfigName |
Parameter |
Description |
Example |
result |
CES Task ID generated for executing the Import Configuration. |
Ex3F3_Ex3F3_ExportTemplate_D20160113T051000_d66_1 |
Description |
Use this operation to copy Model artifacts and Data from a Source POV combination to a Destination POV combination. This operation is equivalent to functionality supported from the UI by selecting Manage Model, then POV Manager, and then Copy. This operation is valid for Standard Profitability and Detailed Profitability applications. |
Action Type |
Post |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/povs/2010_February_Actual/jobs/copySpDpPOVJob/2012_January_Actual |
Request Payload |
{ "copyCostLayerData":"true", "copyRevenueLayerData":"true", "copyAssignments":"true", "copyDriverAssociations":"false", "copyDriverValues":"true", "copyCostRevenueValues":"false", "copyCalculationRules":"false", "stringDelimter":"_" } |
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/povs/2010_February_Actual/jobs/copySpDpPOVJob/2012_January_Actual", "action": "POST", "rel": "self", "data": { "copyDriverAssociations": false, "copyCostLayerData": true, "copyAssignments": true, "stringDelimter": "_", "copyCalculationRules": false, "copyCostRevenueValues": false, "copyDriverValues": true, "copyRevenueLayerData": true } }, { "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/BksSP82_BksSP82_CopyPOV_D20160114T041354_115_1", "action": "GET", "rel": "Job status" }], "status": -1, "details": "BksSP82_BksSP82_CopyPOV_D20160114T041354_115_1", "statusMessage": "In Progress" } |
Process Type |
Asynchronous |
Parameter |
Description |
Example |
copyCostLayerData |
Boolean flag specifying whether Cost Layer data should be copied. Valid values are TRUE or FALSE. |
true |
copyRevenueLayerData |
Boolean flag specifying whether Revenue Layer data should be copied. Valid values are TRUE or FALSE. |
true |
copyAssignments |
Boolean flag specifying whether assignments data should be copied. Valid values are TRUE or FALSE. |
true |
copyDriverAssociations |
Boolean flag specifying whether driver associations data should be copied. Valid values are TRUE or FALSE. |
true |
copyDriverValues |
Boolean flag specifying whether driver data should be copied. Valid values are TRUE or FALSE. |
true |
copyCalculationRules |
Boolean flag specifying whether Calculation Rules should be copied for a Profitability and Cost Management Detailed Application. Valid values are TRUE or FALSE. |
true |
stringDelimter |
Delimiter used to separate logical entities in
parameters. |
_ |
Parameter |
Description |
Example |
details |
CES task id |
BksSP82_BksSP82_CopyPOV_D20160112T015313_580_1 |
Description |
Use this operation to clear the POV data for selection stage and other details. Use with Standard Profitability and Detailed Profitability applications. |
Action Type |
POST |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/povs/2010_January_Actual/jobs/clearSpDpPOVJob |
Request Payload |
{ "stages":"Ledger Data_Activity", "clearCostLayer":"true", "clearRevenueLayer":"true", "clearDriverSelectionRules":"true", "clearDriverSelectionExceptions":"false", "clearAssignmentRuleSelections":"true", "clearRegularAssignments":"false", "clearCalculationRules":"false", "stringDelimter":"_" } |
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/povs/2010_January_Actual/jobs/clearSpDpPOVJob", "action": "POST", "rel": "self", "data": { "clearCalculationRules": false, "clearRevenueLayer": true, "stages": "Ledger Data_Activity", "clearDriverSelectionExceptions": false, "clearRegularAssignments": false, "clearDriverSelectionRules": true, "clearAssignmentRuleSelections": true, "clearCostLayer": true, "stringDelimter": "_" } }], "status": 0, "details": "Cleared POV Successfully", "statusMessage": "Success" } |
Process Type |
Synchronous |
Parameter |
Description |
Example |
stages |
Specify dimension member names of the POV for which this Bulk Edit operation should be applied: stages 1 stages 2 stages 3 stages N, stages N = [displayOrder = (int), example:1 stageName = (string) |
Ledger Data_Activity |
clearCostLayer |
Boolean flag specifying whether Cost Layer should be cleared. Valid values are TRUE or FALSE. |
true |
clearRevenueLayer |
Boolean flag specifying whether Revenue Layers should be cleared. Valid values are TRUE or FALSE. |
true |
clearDriverSelectionRules |
Boolean flag specifying whether Driver Selection Rules should be cleared. Valid values are TRUE or FALSE. |
true |
clearDriverSelectionExceptions |
Boolean flag specifying whether Driver Selection Exceptions should be cleared. Valid values are TRUE or FALSE. |
true |
clearAssignmentRuleSelections |
Boolean flag specifying whether clear assignment rule selection should be cleared. Valid values are TRUE or FALSE. |
true |
clearRegularAssignments |
Boolean flag specifying whether clear regular assignments should be cleared. Valid values are TRUE or FALSE. |
true |
clearCalculationRules |
Boolean flag specifying whether clear calculation rules should be cleared. Valid values are TRUE or FALSE. |
true |
stringDelimter |
Delimiter used to separate logical entities in
parameters |
|
Parameter |
Description |
Example |
Success message |
Cleared POV Successfully |
|
Description |
Use this operation to deploy or redeploy the Calculation Cube or Reporting Cube for a selected Standard Profitability application. |
Action Type |
POST |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/jobs/spDeployCubeJob |
Request Payload |
{ "keepData":"false", "replaceCube":"true", "cubeType":"CALCULATION_CUBE", "isFirstTimeDeployment":"false", "isUpdateDatabase":"false", "isReplaceDatabase":"true", "isarchiveDataBeforeDeploy":"false", "isArchiveDataAndReloadAfterDeploy":"false", "isDeleteDataArchiveAfterReload":"false" } |
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/jobs/spDeployCubeJob", "action": "POST", "rel": "self", "data": { "cubeType": "CALCULATION_CUBE", "isarchiveDataBeforeDeploy": false, "isUpdateDatabase": false, "isArchiveDataAndReloadAfterDeploy": false, "keepData": false, "replaceCube": true, "isReplaceDatabase": true, "isDeleteDataArchiveAfterReload": false, "isFirstTimeDeployment": false } }, { "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/BksSP82_BksSP82_DeployCube_D20160114T042108_290_1", "action": "GET", "rel": "Job status" }], "status": -1, "details": "BksSP82_BksSP82_DeployCube_D20160114T042108_290_1", "statusMessage": "In Progress" } |
Process Type |
Asynchronous |
Parameter |
Description |
Example |
keepData |
Boolean flag specifying whether data needs to kept or not. Valid values are TRUE or FALSE. |
true |
replaceCube |
Boolean flag specifying whether the replace cube or not. Valid values are TRUE or FALSE |
true |
cubeType |
Valid values: CALCULATION_CUBE REPORTING_CUBE |
CALCULATION_CUBE |
isFirstTimeDeployment |
Boolean flag specifying whether the cube is being deployed for the first time for this application. Valid values are TRUE or FALSE. |
true |
isUpdateDatabase |
Boolean flag specifying whether the database should be updated. Valid values are TRUE or FALSE. |
true |
isReplaceDatabase |
Boolean flag specifying whether the database should be replaced. Valid values are TRUE or FALSE. If its value is true you cannot enter values for isarchiveDataBeforeDeploy, isArchiveDataAndReloadAfterDeploy isDeleteDataArchiveAfterReload |
true |
isarchiveDataBeforeDeploy |
Boolean flag specifying whether the data should be archived before deployment begins. Valid values are TRUE or FALSE. |
true |
isArchiveDataAndReloadAfterDeploy |
Boolean flag specifying whether the data archived before deployment should be reloaded after deployment completes. Valid values are TRUE or FALSE. |
true |
isDeleteDataArchiveAfterReload |
Boolean flag specifying whether to delete the archived data after reload. Valid values are TRUE or FALSE.
|
true |
Parameter |
Description |
Example |
details |
CES task id |
BksSP82_BksSP82_DeployCube_D20160113T062359_8e8_1 |
Description |
Use this operation to initiate the process and run calculation scripts for a selected Standard Profitability application. The following actions relate to the check boxes on the Manage Calculation tab of the application. |
Action Type |
Post |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/povs/2010_February_Actual/jobs/calcScriptsProcessJob |
Request Payload |
{ "layerName":"COST", "clearCalculatedStageList":["Ledger Data","Activity","Cost Objects"], "clearAllStageList":["Ledger Data","Activity","Cost Objects"], "generateStageList":["Ledger Data","Activity","Cost Objects"], "calculateStageList":["Ledger Data","Activity","Cost Objects"], "isTransferData":"true", "stringDelimter":"_" } |
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/povs/2010_February_Actual/jobs/calcScriptsProcessJob", "action": "POST", "rel": "self", "data": { "isTransferData": false } }], "status": 1, "details": "Layer name not specified.", "statusMessage": "Error" } |
Process Type |
Asynchronous |
Parameter |
Description |
Example |
layerName |
Layer name for which Calculation scripts should be generated and executed. Valid Values: COST REVENUE |
COST |
clearCalculatedStageList |
List of stage names for which generated calc scripts need to be cleared. |
Ledger Data","Activity","Cost Objects |
clearAllStageList |
List of stage names for which all information must be cleared. |
Ledger Data","Activity","Cost Objects |
List of stage names for which calc scripts need to be generated |
List of stage names for which calc scripts need to be generated |
Ledger Data","Activity","Cost Objects |
calculateStageList |
List of stage names for which calc scripts should be executed |
Ledger Data","Activity","Cost Objects |
isTransferData |
Boolean flag specifying whether a data transfer need to be performed. Valid values are TRUE or FALSE. |
true |
stringDelimter |
Delimiter used to separate logical entities in
parameters |
_ |
Parameter |
Description |
Example |
details |
CES task id |
BksSP82_BksSP82_CalcScripts_D20160113T062311_401_1 |
Description |
Use this operation to execute the genealogy paths that have been defined for a selected Standard Profitability application. The following actions relate to the check boxes when you select Calculate, then Manage Calculation, and then the Genealogy tab. |
Action Type |
POST |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/povs/2011_January_Actual/jobs/geneologyExecutionPathProcessJob |
Request Payload |
{ "layerName":"COST", "paths":["1-2-3-4"] } |
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/povs/2011_January_Actual/jobs/geneologyExecutionPathProcessJob", "action": "POST", "rel": "self", "data": { "layerName": "COST", "paths": ["1-2-3-4"] } }, { "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/BksSP82_BksSP82_GenScrptCreate_D20160114T042735_29e_1", "action": "GET", "rel": "Job status" }], "status": -1, "details": "BksSP82_BksSP82_GenScrptCreate_D20160114T042735_29e_1", "statusMessage": "In Progress" } |
Process Type |
Asynchronous |
Parameter |
Description |
Example |
layerName |
Layer name for which Calculation scripts should be generated and executed. Valid Values: COST REVENUE |
COST |
paths |
List of genealogy execution paths. |
1-3-5 |
Parameter |
Description |
Example |
details |
CES task id |
BksSP82_BksSP82_GenScrptCreate_D20160113T062216_915_1 |
Description |
Use this operation to clear the ASO cube for a given Application name, POV and Layer combination as General (for Standard Profitability). |
Action Type |
POST |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/povs/2011_January_Actual/jobs/clearASOCube |
Request Payload |
{ "layerName":"COST", "stringDelimter":"_" } |
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/povs/2011_January_Actual/jobs/clearASOCube", "action": "POST", "rel": "self", "data": { "layerName": "COST", "stringDelimter": "_" } }, { "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/BksSP82_BksSP82_GenScrptCreate_D20160113T040433_f86_1", "action": "GET", "rel": "Job status" }], "status": -1, "details": "BksSP82_BksSP82_GenScrptCreate_D20160113T040433_f86_1", "statusMessage": "IN_PROGRESS" }
|
Process Type |
Asynchronous |
Parameter |
Description |
Example |
layerName |
Layer name for which Calculation scripts should be generated and executed. Valid Values: COST REVENUE |
COST
|
stringDelimter |
Delimiter used to separate logical entities in
parameters This is optional field. |
_ |
Parameter |
Description |
Example |
|
|
|
|
|
|
Description |
Use this operation to execute the genealogy paths that have been defined for a selected Standard Profitability application without ASO cube clear. The following actions relate to the check boxes when you select Calculate, then Manage Calculation, and then the Genealogy tab. |
Action Type |
POST |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/povs/2011_January_Actual/jobs/geneologyExecutionPathWithoutASOCubeClearProcessJob |
Request Payload |
{ "layerName":"COST", "paths":["1-2-3-4"] } |
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/povs/2011_January_Actual/jobs/geneologyExecutionPathWithoutASOCubeClearProcessJob", "action": "POST", "rel": "self", "data": { "layerName": "COST", "paths": ["1-2-3-4"] } }, { "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/BksSP82_BksSP82_GenScrptCreate_D20160113T053648_a4b_1", "action": "GET", "rel": "Job status" }], "status": -1, "details": "BksSP82_BksSP82_GenScrptCreate_D20160113T053648_a4b_1", "statusMessage": "IN_PROGRESS" }
|
Process Type |
Asynchronous |
Parameter |
Description |
Example |
layerName |
Layer name for which Calculation scripts should be generated and executed. Valid Values: COST REVENUE |
COST
|
paths |
List of genealogy execution paths |
1-2-3-4 |
Parameter |
Description |
Example |
|
|
|
|
|
|
Description |
Use this operation to process multi POV calculations for a selected Standard Profitability application. |
Action Type |
POST |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/povs/2012_January_Actual/jobs/multiPovCalcScriptProcessJob/2012_January_Actual |
Request Payload |
{ "layerName":"COST", "clearCalculatedData":"false", "saveScripts":"false" } |
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksSP82/povs/2012_January_Actual/jobs/multiPovCalcScriptProcessJob/2012_January_Actual", "action": "POST", "rel": "self", "data": { "saveScripts": false, "layerName": "COST", "clearCalculatedData": false } }, { "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/BksSP82_BksSP82_MultiPOVCalcScripts_D20160113T054603_95e_1", "action": "GET", "rel": "Job status" }], "status": -1, "details": "BksSP82_BksSP82_MultiPOVCalcScripts_D20160113T054603_95e_1", "statusMessage": "IN_PROGRESS" }
|
Process Type |
Asynchronous |
Parameter |
Description |
Example |
layerName |
Layer name for which Calculation scripts should be generated and executed. Valid Values: COST REVENUE |
COST
|
clearCalculatedData |
Boolean flag specifying whether to clear calculated values. Valid values are TRUE or FALSE. |
false |
saveScripts |
Boolean flag specifying to save scripts generated while multi pov calculation.Valid values are TRUE or FALSE. |
false |
Parameter |
Description |
Example |
|
|
|
|
|
|
Description |
Use this operation to prepare views for a Detailed Profitability and Cost Management application. |
Action Type |
POST |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksDP30/jobs/reportingViewGeneratorJob |
Request Payload |
{ |
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksDP30/jobs/reportingViewGeneratorJob", "action": "POST", "rel": "self", "data": { "dimensions": "Scenario_TScenario" } }], "status": 0, "details": "Succesful", "statusMessage": "SUCCESS" }
|
Process Type |
Asynchronous |
Parameter |
Description |
Example |
dimensions |
Specify the list of name and short name properties for dimension(s) to be included in generating the reporting views. This field is optional. |
Scenario_TScenario |
Parameter |
Description |
Example |
|
|
|
|
|
|
Description |
Use this operation to perform Bulk Edit for the given source assignment rules with destination rules, or Drivers for a Detailed Profitability and Cost Management application. |
Action Type |
POST |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksDp30/povs/2012_January_Actual/jobs/applyBulkEditJob |
Request Payload |
{ "operation":"ADD_DRIVERS", "comment":"bulk edit test", "sourceRules":"Apply All Building Activities,Apply Business Support Driver,Apply CoMarket", "drivers":"DRV Business Support", "isSelectEntireStageForDelete":"false", "isSelectAllRulesOrDriversForDelete":"false", "stringDelimter":"_" } |
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksDp30/povs/2012_January_Actual/jobs/applyBulkEditJob", "action": "POST", "rel": "self", "data": { "drivers": "DRV Business Support", "isSelectEntireStageForDelete": false, "isSelectAllRulesOrDriversForDelete": false, "operation": "ADD_DRIVERS", "stringDelimter": "_", "sourceRules": "Apply All Building Activities,Apply Business Support Driver,Apply CoMarket", "comment": "bulk edit test" } }, { "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/BksDP30_BksDP30_BulkEdit_D20160113T062803_8a4_1", "action": "GET", "rel": "Job status" }], "status": -1, "details": "BksDP30_BksDP30_BulkEdit_D20160113T062803_8a4_1", "statusMessage": "IN_PROGRESS" }
|
Process Type |
Asynchronous |
Parameter |
Description |
Example |
Operation |
Specify the Bulk Edit operation: BulkEditOperations.ADD_DRIVERS BulkEditOperations.REMOVE_DRIVERS BulkEditOperations.ADD_ASSIGNMENT_RULES BulkEditOperations.REMOVE_ASSIGNMENT_RULES |
ADD_DRIVERS |
Comment |
Specify a comment for this Bulk Edit Operation. |
bulk edit test |
sourceRules |
A List of Source Assignment Rule names being selected for this Bulk Edit Operation |
Apply All Building Activities,Apply Business Support Driver,Apply CoMarket |
Drivers |
Name of the Driver to be applied to the selected Source Assignment Rules as part of this Bulk Edit Operation. Note: Only one Driver name may be provided when using the BulkEditOperations.ADD_DRIVER operation; however, a list of Driver names can be provided when using the BulkEditOperations.REMOVE_DRIVERS operation |
DRV Business Support |
destinationRules |
A List of Destination Assignment Rule names being selected for this Bulk Edit Operation, Note: This value should be passed only with BulkEditOperations.ADD_ASSIGNMENT_RULES and BulkEditOperations.REMOVE_ASSIGNMENT_RULES. |
All to Invoice,Building to Invoice |
isSelectEntireStageForDelete |
Boolean flag specifying if the entire stage should be selected for delete. Valid values are TRUE or FALSE |
true |
isSelectAllRulesOrDriversForDelete |
Boolean flag specifying if all the destination assignment rules or drivers should be selected for delete. Valid values are TRUE or FALSE. |
true |
stringDelimter |
Delimiter used to separate logical entities in
parameters This is optional field. |
_ |
Parameter |
Description |
Example |
|
|
|
|
|
|
Description |
Use this operation to list all Driver definitions for a Detailed Profitability and Cost Management application. |
Action Type |
GET |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksDP30/getDriverDefinitions |
Request Payload |
|
Response |
{ "items": ]{ "name": "OC 8 Gross Margin 210", "type": "Calculated Measure" }, { "name": "OC 9 Op Expense 210", "type": "Calculated Measure" }], "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksDP30/getDriverDefinitions", "action": "GET", "rel": "self" }], "status": 0, "details": "", "statusMessage": "Success" }
|
Process Type |
Asynchronous |
Parameter |
Description |
Example |
|
|
|
|
|
|
Description |
Use this operation to process and run calculations for a selected Detailed Profitability application. |
Action Type |
POST |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksDP30/povs/2012_January_Actual/jobs/detailedCalculationProcessJob/2012_January_Actual |
Request Payload |
{ "comment":"This is run by user1", "isClearCalculated":"true", "isExecuteCalculations":"true", "isCreateContributionDetail":"true", "isCreateDetailCalculatedDriverTables":"false", "isAbortOnError":"true", "isRunSingleCalcRuleSequence":"true", "calcRuleSequence":1, "isTransferToSrcStgDb":"false", "isTransferToDstStgDb":"false", "isTransferToContribDb":"false", "postScript":"POST", "preScript":"PRE", "stringDelimter":"_"
} |
Response |
{ "type": "Profitability", "links": [{ "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksDP30/povs/2012_January_Actual/jobs/detailedCalculationProcessJob/2012_January_Actual", "action": "POST", "rel": "self", "data": { "isExecuteCalculations": true, "isTransferToContribDb": false, "isTransferToSrcStgDb": false, "postScript": "POST", "calcRuleSequence": 1, "isRunSingleCalcRuleSequence": true, "isTransferToDstStgDb": false, "comment": "This is run by user1", "isAbortOnError": true, "stringDelimter": "_", "preScript": "PRE", "isClearCalculated": true, "isCreateContributionDetail": true, "isCreateDetailCalculatedDriverTables": false } }, { "action": "GET", "rel": "Job status" }], "status": -1, "details": "BksDP30_BksDP30_RunCalcs_D20160113T072425_5fc_1", "statusMessage": "IN_PROGRESS" }
|
Process Type |
Asynchronous |
Parameter |
Description |
Example |
comment |
Specify a comment for this Run DP Calculation Job. |
This is run by user1 |
isClearCalculated |
Boolean flag specifying whether previously calculated values should be cleared. Valid values are TRUE or FALSE |
true |
isExecuteCalculations |
Boolean flag specifying whether calculations should be executed as part of this operation. Valid values are TRUE or FALSE. Note: When the isExecuteCalculations flag is set to TRUE, you must provide values for isCreateContributionDetail, isCreateDetailCalculatedDriverTables |
true |
isCreateContributionDetail |
Boolean flag specifying contribution detail should be created. Valid values are TRUE or FALSE. |
true |
isCreateDetailCalculatedDriverTables |
Boolean flag specifying whether previously calculated values should be cleared. Valid values are TRUE or FALSE |
false |
isAbortOnError |
Boolean flag specifying whether to abort on occurrence of any error while processing calculations. Valid values are TRUE or FALSE. |
true |
isRunSingleCalcRuleSequence |
Boolean flag specifying whether to run single calculation Rule Sequence or not. Valid values are TRUE or FALSE. Note: When the isRunSingleCalcRuleSequence flag is set to TRUE, you must provide value for calcRuleSequence |
true |
calcRuleSequence |
Valid int value (calculation rule sequence number). |
1 |
isTransferToSrcStgDb |
Boolean flag specifying whether to do data transfers to source stage Database or not. Valid values are TRUE or FALSE. |
false |
isTransferToDstStgDb |
Boolean flag specifying whether to do data transfers to destination stage Database or not. Valid values are TRUE or FALSE |
false |
isTransferToContribDb |
Boolean flag specifying whether to do data transfers to Contribution Database or not. Valid values are TRUE or FALSE. |
false |
postScript |
Name of the post-calculation script |
POST |
preScript |
Name of the pre-calculation script |
PRE |
stringDelimter |
Delimiter used to separate logical entities in
parameters This parameter is optional. |
_ |
Parameter |
Description |
Example |
|
|
|
|
|
|
Description |
Use this operation to retrieve all Assignment Rule Definitions, not associations, for a particular stage for a given Detailed Profitability application. |
Action Type |
GET |
Request URI |
http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksDP30/assignmentRules?queryParameter={"stageName":"Customer Activity Cost"} |
Request Payload |
|
Response |
{ "items": [{ "name": "Apply Testing" }, { "name": "Apply Service Calls" }, { "name": "Apply Ship and Order Assembly" }, { "name": "Apply Business Support Driver" }, { "name": "Warehouse Sppt Act Charges All Customer No Product" }, { "name": "Apply All Building Activities" }], "type": "Profitability", "links": [{ "action": "GET", "rel": "self", "data": { "stageName": "Customer Activity Cost" } }], "status": 0, "details": "", "statusMessage": "Success" }
|
Process Type |
Synchronous |
Parameter |
Description |
Example |
|
|
|
|
|
|
package oracle.epm.webservices.profitability.util;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.core.util.Base64;
public class RestClient {
public static void main(String[] args) {
// TODO Auto-generated method stub
String auth = new String(Base64.encode("admin:password1"));
ClientConfig clientConfig = new DefaultClientConfig();
clientConfig.getClasses().add(JsonMessageBodyReader.class);
clientConfig.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING,
Boolean.TRUE);
Client client = Client.create(clientConfig);
WebResource webResource =
client.resource("http://slc04ljy.mydomain.com:19000/profitability/rest/v1/applications");
ClientResponse response = webResource.header("Authorization", "Basic " + auth).type("application/json").accept("application/json")..accept(MediaType.APPLICATION_JSON).get(ClientResponse.class);
ProfitabilityRestResponse<DriverDTO> response = cr.getEntity(new
GenericType<ProfitabilityRestResponse<DriverDTO>>() {});
if (cr.getStatus() >= 400) {
if(response.getError() != null) {
String message = response.getError().getMessage();
System.out.println(message);
}
else {
String message = cr.getEntity(String.class);
System.out.println(message);
}
} else {
List<DriverDTO> drivers = response.getItems();
if(drivers == null || drivers.isEmpty()) {
System.out.println("No Drivers definitions are available for the application: " +
appName);
return;
}
for(DriverDTO driver : drivers) {
System.out.println("Driver name = " + driver.getName() + ", Driver type = " +
driver.getType());
}
}
}
The Sample Client File for Web Services displays the commands that can be used in your custom script for automating Profitability and Cost Management tasks, and identifies data within your Profitability and Cost Management model. The sample client file is intended as a guide only, to assist you in creating your custom scripts.
To set up the sample client environment:
1. Open a command window.
2. Optional: If you are not running on the same machine on which Oracle Hyperion Enterprise Performance Management Workspace is installed, copy the folder %EPM_ORACLE_HOME%/products/ Profitability/samples/wsclient to the machine on which the sample is to be accessed.
For example, copy it to C:\wsclient.
3. Edit the hpm_ws_client.properties file to reflect your local settings:
· Delimiter used to separate String literals in paramters string.delimiter=_
· Delimiter used to separate logical entities in parameters:
For example, #; when passing multiple POVs at a time, please use this to delimit POVs.
For example: 2009_January_Actual#2009_March_Actual; when passing 2 POVs string.logical.delimiter=#
· SecurityPolicy associated with ProfitabilityService, that needs to be used by Sample Client.
The sample client is programmed to work with only one value:
USERNAME_TOKEN
hpcm.service.security.policy=USERNAME_TOKEN
· These next two values are needed for security policy USERNAME_TOKEN:
#HSS user name for the Profitability user. hss.username=admin
#Password for the username above. hss.password=password123
· These next two values are needed for RESTFUL Web Service URL purpose:
HPCM REST URL which is to be
accessed. For example, http://slc04ssp.mydomain.com:19000:
hpcm.rest.url.host=http://slc00dby.mydomain.com:19000
HPCM REST URL version which is to be accessed. For example: v1 version=v1
4. Optional: If you are not running on the same machine on which the Oracle Hyperion Enterprise Performance Management Workspace is installed, download and install JDeveloper 12.2.1.4.0 locally to obtain the appropriate JAVA_HOME and MIDDLEWARE_HOME folders and their contents.
5. From a command or shell window, set the following environment variables:
Sample Client Environment Variables
Environment Variable |
Location |
JAVA_HOME |
Location in which Java Development Kit is available: For
Windows: For
Linux: |
MIDDLEWARE_HOME |
Location in which Oracle Middleware home is installed. For
Windows: |
6. In the command window, go to C:\wsclient, and then enter the following command:
hpm_ws_rest_client.bat -help
A list of all available functions is displayed.
7.
Use the format and operations specified in the sample client file to
build your custom script. See “Using the Sample Client File,” following.
The sample client file is intended as a guide only for you to build your own custom scripts to access Oracle Hyperion Profitability and Cost Management data through Web Services. The sample client files are available at %EPM_ORACLE_HOME%/products/Profitability/ samples/wsclient. These files have been created using Batch Script (Windows OS) and Shell Script (UNIX/Linux OS).
To use the sample client file:
1. In the command window, go to C:\wsclient. See “Setting Up the Sample Client Environment” earlier in this section.
2. Enter the following command: hpm_ws_rest_client.bat - help
For a list of available functions, see the Table of Contents at the beginning of this document.
3. Select the operation to be performed, and enter the command in the following format:
hpm_ws_rest_client.bat - help <operation_name>
For example, to obtain the usage details of getPovs operation, enter the command in the following format:
hpm_ws_rest_client.bat - help getPovs
To use the sample client file to perform an operation, enter the command in the following format:
hpm_ws_rest_client.bat <operation_name> <<parameters>>
For example, to obtain a list of all available applications, enter the command:
hpm_ws_client.bat getApplications
For example, to obtain a list of all POVs for a given application, enter the command:
hpm_ws_rest_client.bat getPovs <<application name>>
For example, to retrieve the stages for an application, enter the command:
hpm_ws_rest_client.bat getStages <<application name>>
The client sample is provided in the following formats:
· As a compiled binary file, in wsclient/lib/hpcm-wsclient-sample.jar
· As source code, in wsclient/src/oracle/epm/webservices/rest/profitability/client
If the source code needs to be recompiled for any reason, you can recompile using Ant. The build.xml file for Ant is available in the wsclient folder.
To recompile the source code:
1. To successfully compile the code, you must specify the location of the common.components.home folder.
This folder is defined as MIDDLEWARE_HOME/oracle_common, where MIDDLEWARE_HOME is defined as follows:
For Windows: MIDDLEWARE_HOME = C:\Oracle\Middleware
For Linux: MIDDLEWARE_HOME = /usr/c/Oracle/Middleware
2. Pass the folder location to Ant, using one of the following methods:
As a command line parameter. For example:
ant -Dcommon.components.home=C:\Oracle\Middleware\Oracle_Home\oracle_common
Or, in the build.properties file, open the file for editing and uncomment the definition of the common.components.home variable. For example:
common.components.home=C:\Oracle\Middleware\Oracle_Home\oracle_common
3. Recompile the source code.
______________________________________________________________________________________
Copyright ©2021, Oracle and/or its affiliates. All rights reserved. http://www.oracle.com