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 1

About the Oracle Hyperion Profitability and Cost Management REST Web Services API 3

REST API Response. 3

REST APIs Common for All Application Types. 3

1. Get Applications. 3

2. Get Applications Type Details. 4

3. Get Applications by Type. 5

4. Get Job Services by an Application. 5

5. Delete Application. 6

6. Get Task Status by Process Name. 7

7. Get Job Services for POV. 7

8. Get POVs by an Application. 8

9. Delete POV. 9

10. Get Task Details by Process Name. 10

11. Get Essbase Applications. 10

12. Get Essbase Application Properties. 11

13. Get Essbase Application Dimensions. 12

14. Update Dimension for Native Application. 12

15. Enable Native Application. 13

16. Create Application Using Native Method. 14

REST APIs for Management Ledger 15

17. ML Deploy Cube. 15

18. Run ML Clear POV. 16

19. Copy ML POV Data. 17

20. Run ML Calculation. 18

21. ML Rule Balancing. 19

22. ML Essbase Data Load. 20

23. Export ML Template. 21

24. Import ML Template. 22

25. Create ML Application Using Master Cube Method. 23

REST APIs common for Standard and Detailed Profitability. 24

26. Get Stages by Application. 24

27. Import from Staging (SP & DP) 25

28. Copy SP & DP POV data. 25

29. Clear SP & DP POV data. 27

REST APIs for Standard Profitability. 28

30. SP Deploy Cube. 28

31. Run SP calculation. 30

32. Run SP Genealogy Execution paths. 31

33. Clear ASO Cube (SP) 32

34. Run SP Genealogy Execution Paths without ASO Cube Clear 33

35. Run SP Multi POV Calculation. 34

REST APIs for Detailed Profitability. 35

36. Prepare Detailed Views for Reporting (DP) 35

37. Apply Bulk Edit (DP) 35

38. Get DP Driver Definitions. 37

39. Run DP Calculation. 38

40. Get Assignment Rule Definitions (DP) 40

REFERENCES. 41

Sample Code for Authentication. 41

Sample Client 42

 

 


 

About the Oracle Hyperion Profitability and Cost Management REST Web Services API

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.

REST API Response

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

 

REST APIs Common for All Application Types

1.     Get Applications

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

Request Parameters

Parameter

Description

Example

 

 

 

Response Values

Parameter

Description

Example

Name

Application Name

 

Type

Application Type

MANAGEMENT_LEDGER

GENERAL

STANDARD

2.     Get Applications Type Details

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

Request Parameters

Parameter

Description

Example

applicationName

Application Name

 

Response Values

Parameter

Description

Example

Type

Application Type

MANAGEMENT_LEDGER

GENERAL

DETAIL

3.     Get Applications by Type

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": [{

        "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/applicationsByType?queryParameter=%7B%22applicationType%22:%22MANAGEMENT_LEDGER%22%7D",

        "action": "GET",

        "rel": "self",

        "data": {

            "applicationType": "MANAGEMENT_LEDGER"

        }

    }],

    "status": 0,

    "details": "",

    "statusMessage": "Success"

}

 

Process Type

Synchronous

Request Parameters

Parameter

Description

Example

queryParameter

Application Type

{"applicationType":"MANAGEMENT_LEDGER"}

{"applicationType":"GENERAL"}

{"applicationType":"DETAIL"}

Response Values

Parameter

Description

Example

Name

Application Name

 

Type

Application Type

MANAGEMENT_LEDGER

GENERAL

DETAIL

4.     Get Job Services by an Application

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

Request Parameters

Parameter

Description

Example

applicationName

Application Name

 

Response Values

Parameter

Description

Example

Type

Job Type

Deploy Cube

5.     Delete Application

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

Request Parameters

Parameter

Description

Example

applicationName

Application Name

 

Response Values

Parameter

Description

Example

 

 

 

 

 

 

6.     Get Task Status by Process Name

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": [{

        "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/RBkML1_ExportTemplate_D20160112T025419_836",

        "action": "GET",

        "rel": "self"

    }],

    "status": 0,

    "details": "ExportTemplate=Success,RBkML1_ExportTemplate_D20160112T025419_836=Done",

    "statusMessage": "Success"

}

 

Process Type

Synchronous

Request Parameters

Parameter

Description

Example

processName

Process Name/TaskflowId

RBkML1_ExportTemplate_D20160112T025419_836

Response Values

Parameter

Description

Example

Task

Task Name

ExportTemplate

Status

Task Status

Success

7.     Get Job Services for POV

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

Request Parameters

Parameter

Description

Example

applicationName

Application Name

Ex3F3

Response Values

Parameter

Description

Example

Type

Job Type

Copy POV

Run ML Calculation

8.     Get POVs by an Application

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

Request Parameters

Parameter

Description

Example

applicationName

Application Name

 

Response Values

Parameter

Description

Example

Pov Member Group

Pov Dimension Member1

Pov Dimension Member2

Pov Dimension Member3

Pov Dimension Member4

2012

January

Actual

Plan

9.     Delete POV

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": [{

        "href": "http://slc06vya.mydomain.com:6756/profitability/rest/v1/applications/Ex3F3/povs/FY14_JUN_Actual_Working",

        "action": "DELETE",

        "rel": "self",

        "data": {}

    }, {

        "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/Ex3F3_Ex3F3_DeleteMLPOV_D20160116T140536_da2_1",

        "action": "GET",

        "rel": "Job status"

    }],

    "status": -1,

    "details": "Ex3F3_Ex3F3_DeleteMLPOV_D20160116T140536_da2_1",

    "statusMessage": "In Progress"

}

 

Process Type

Asynchronous

Request Parameters

Parameter

Description

Example

applicationName

Application Name

 

povMemberGroup

povDimensionMember1

povDimensionMember2

povDimensionMember3

povDimensionMember4

2012.

January

Actual

Plan

Response Values

Parameter

Description

Example

TaskflowID

Process Id for the submitted task

Ex3F3_Ex3F3_DeleteMLPOV_D20160113T052141_2fd_1

10.  Get Task Details by Process Name

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": [{

        "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/Ex3F3_Ex3F3_DeleteMLPOV_D20160116T140536_da2_1",

        "action": "GET",

        "rel": "self"

    }],

    "status": 0,

    "details": "",

    "statusMessage": "Success"

}

 

Process Type

Synchronous

Request Parameters

Parameter

Description

Example

processName

Taskflow Id of the job

RBkML1_ExportTemplate_D20160112T025419_836

Response Values

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

11.  Get Essbase Applications

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

Request Parameters

Parameter

Description

Example

essbaseServer

Name of Essbase Server

EssbaseCluster-1

Response Values

Parameter

Description

Example

applicationName

Essbase Application Name

76m11R

12.  Get Essbase Application Properties

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

Request Parameters

Parameter

Description

Example

 

 

 

Response Values

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

13.  Get Essbase Application Dimensions

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": [{

        "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/aamApplications/EssbaseCluster-1/BksML12C?queryParameter=%7B%22cubeName%22:%22BksML12C%22%7D%22",

        "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

Request Parameters

Parameter

Description

Example

essbaseAppServer

Essbase Application Server

EssbaseCluster-1

applicationName

Essbase Application Name

BksML12C

queryParameter

Cube Name

{"cubeName":"BksML12C"}

Response Values

Parameter

Description

Example

Dimension Names

Dimension Name

Accounts, Activities, Balance, CostCenters, Customers, Drivers, Period, Products, Region, Rule, Scenario, Year

14.  Update Dimension for Native Application

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

Request Parameters

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

Response Values

Parameter

Description

Example

Details

CES Task Id

BksML12_BksML12_UpdateDimension_D20160118T051020_bb8_1

15.  Enable Native Application

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

Request Parameters

Parameter

Description

Example

applicationName

Application Name

BksMl12

Response Values

Parameter

Description

Example

Details

CES Task Id

BksMl12_BksMl12_EnableApplication_D20160113T075011_53c_1

16.  Create Application Using Native Method

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

Request Parameters

Parameter

Description

Example

applicationName

Application Name

BksML1

applicationType

Application Type

Valid values are:

MANAGEMENT_LEDGER STANDARD or GENERAL
DETAILED  or DETAIL

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

Response Values

Parameter

Description

Example

 

 

 

 

REST APIs for Management Ledger

17.  ML Deploy Cube

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

Request Parameters

Parameter

Description

Example

applicationName

Application Name

LM1T2

Response Values

Parameter

Description

Example

details

CES Task Id

LM1T2_LM1T2_DeployCube_D20160113T051333_38e_1

18.  Run ML Clear POV

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

Request Parameters

Parameter

Description

Example

applicationName

Application Name

LM1T2

povMemberGroup

POV member group

2014_January_Actual

Response Values

Parameter

Description

Example

details

CES Task Id

LM1T2_LM1T2_ClearMLPOV_D20160113T054651_746_1

19.  Copy ML POV Data

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

Request Parameters

Parameter

Description

Example

applicationName

Application Name

LM1T2

srcPOVMemberGroup

Source POV member group

2014_January_Actual

destPOVMemberGroup

Destination POV member group

2014_March_Actual

Response Values

Parameter

Description

Example

details

CES Task Id

LM1T2_LM1T2_ClearMLPOV_D20160113T054651_746_1

20.  Run ML Calculation

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

Request Parameters

Parameter

Description

Example

applicationName

Application Name

BksML1

povGroupMember

POV member group

2010_January_Actual

Response Values

Parameter

Description

Example

Details

CES Task Id

BksML1_BksML1_RunCalcs_D20160113T060906_868_1

21.  ML Rule Balancing

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"}
Note: If the model view name is empty, the default model view is used.

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

Request Parameters

Parameter

Description

Example

applicationName

Application Name

Ex3F1

povGroupMember

POV member group

FY14_JUN_Actual_Working

modelViewName

Model view name

BU 10601

Response Values

Parameter

Description

Example

 

 

 

22.   ML Essbase Data Load

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

Request Parameters

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

Response Values

Parameter

Description

Example

 

 

 

23.  Export ML Template

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

Request Parameters

Parameter

Description

Example

fileName

fileName

testFile

Response Values

Parameter

Description

Example

details

CES task id

Ex3F3_Ex3F3_ExportTemplate_D20160113T051000_d66_1

24.  Import ML Template

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

Request Parameters

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

Response Values

Parameter

Description

Example

details

CES task id

AppMgmt_AppMgmt_ImportTemplate_D20160113T051745_d85_1

25.  Create ML Application Using Master Cube Method

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"

        }

    }, {

        "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/AppMgmt_DeployApplication_D20160127T030614_464",

        "action": "GET",

        "rel": "Job Status"

    }]

}

 

Process Type

Asynchronous

Request Parameters

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

 

Response Values

Parameter

Description

Example

Application Name

Application Name

ABks12

 

REST APIs common for Standard and Detailed Profitability

26.  Get Stages by Application

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

Request Parameters

Parameter

Description

Example

Application name

Application Name

 

Response Values

Parameter

Description

Example

List of stages

Stages

 

27.  Import from Staging (SP & DP)

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

Request Parameters

Parameter

Description

Example

importConfigName

Name of the import configuration to be executed

importConfigName

Response Values

Parameter

Description

Example

result

CES Task ID generated for executing the Import Configuration.

Ex3F3_Ex3F3_ExportTemplate_D20160113T051000_d66_1

28.  Copy SP & DP POV data

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

Request Parameters

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.
For example, when passing POVs at a time, please use this to delimit POVs
_ Eg: 2009_January_ActuaL when passing POV MEMBERS TO 2009, January , Actual

_

Response Values

Parameter

Description

Example

details

CES task id

BksSP82_BksSP82_CopyPOV_D20160112T015313_580_1

29.  Clear SP & DP POV data

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

Request Parameters

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
For example, when passing POVs at a time, please use this to delimit POVs
_ Eg: 2009_January_ActuaL when passing POV MEMBERS TO 2009, January , Actual

 

Response Values

Parameter

Description

Example

Success message

Cleared POV Successfully

 

 

REST APIs for Standard Profitability

30.  SP Deploy Cube

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

Request Parameters

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

Response Values

Parameter

Description

Example

details

CES task id

BksSP82_BksSP82_DeployCube_D20160113T062359_8e8_1

31.  Run SP calculation

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

Request Parameters

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
For example, when passing POVs at a time, please use this to delimit POVs
_ Eg: 2009_January_ActuaL when passing POV MEMBERS TO 2009, January , Actual

_

Response Values

Parameter

Description

Example

details

CES task id

BksSP82_BksSP82_CalcScripts_D20160113T062311_401_1

32.  Run SP Genealogy Execution paths

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

Request Parameters

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

Response Values

Parameter

Description

Example

details

CES task id

BksSP82_BksSP82_GenScrptCreate_D20160113T062216_915_1

33.  Clear ASO Cube (SP)

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

Request Parameters

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
For example, when passing POVs at a time, please use this to delimit POVs
Eg: 2009_January_ActuaL when passing POV MEMBERS TO 2009, January , Actual

This is optional field.

_

Response Values

Parameter

Description

Example

 

 

 

 

 

 

34.  Run SP Genealogy Execution Paths without ASO Cube Clear

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

Request Parameters

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

Response Values

Parameter

Description

Example

 

 

 

 

 

 

 

35.  Run SP Multi POV Calculation

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

Request Parameters

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

Response Values

Parameter

Description

Example

 

 

 

 

 

 

 

REST APIs for Detailed Profitability

36.  Prepare Detailed Views for Reporting (DP)

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

{
"dimensions":"Scenario_TScenario"
}

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

Request Parameters

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

Response Values

Parameter

Description

Example

 

 

 

 

 

 

37.  Apply Bulk Edit (DP)

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

Request Parameters

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
For example, when passing POVs at a time, please use this to delimit POVs
Eg: 2009_January_ActuaL when passing POV MEMBERS TO 2009, January , Actual

This is optional field.

_

Response Values

Parameter

Description

Example

 

 

 

 

 

 

38.  Get DP Driver Definitions

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

Response Values

Parameter

Description

Example

 

 

 

 

 

 

39.  Run DP Calculation

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

        }

    }, {

        "href": "http://SLC06VYA.mydomain.com:19000/profitability/rest/v1/applications/jobs/ChecktaskStatusJob/BksDP30_BksDP30_RunCalcs_D20160113T072425_5fc_1",

        "action": "GET",

        "rel": "Job status"

    }],

    "status": -1,

    "details": "BksDP30_BksDP30_RunCalcs_D20160113T072425_5fc_1",

    "statusMessage": "IN_PROGRESS"

}

 

Process Type

Asynchronous

Request Parameters

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
For example, when passing POVs at a time, please use this to delimit POVs,
such as: 2009_January_ActuaL when passing POV MEMBERS TO 2009, January , Actual

This parameter is optional.

_

Response Values

Parameter

Description

Example

 

 

 

 

 

 

40.  Get Assignment Rule Definitions (DP)

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": [{

        "href": "http://slc06vya.mydomain.com:19000/profitability/rest/v1/applications/BksDP30/assignmentRules?queryParameter=%7B%22stageName%22:%22Customer%20Activity%20Cost%22%7D",

        "action": "GET",

        "rel": "self",

        "data": {

            "stageName": "Customer Activity Cost"

        }

    }],

    "status": 0,

    "details": "",

    "statusMessage": "Success"

}

 

Process Type

Synchronous

Response Values

Parameter

Description

Example

 

 

 

 

 

 


REFERENCES

Sample Code for Authentication

 

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());

                            }

                        }

    }

 

Sample Client

Using the Profitability and Cost Management Sample REST Client File

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.

Setting Up the Sample Client Environment

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:
SET JAVA_HOME= C:\Oracle\Middleware\Oracle_Home\oracle_common\jdk

For Linux:
JAVA_HOME=/usr/c/Oracle/Middleware/Oracle_Home/oracle_common/jdk

MIDDLEWARE_HOME

Location in which Oracle Middleware home is installed.

For Windows:
SET MIDDLEWARE_HOME=C:\Oracle\Middleware
For Linux:
export MIDDLEWARE_HOME=/usr/c/Oracle/Middleware

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.

Using the Sample Client File

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>>

Example 1: List All Applications

For example, to obtain a list of all available applications, enter the command:

hpm_ws_client.bat getApplications

Example 2: List All POVs

For example, to obtain a list of all POVs for a given application, enter the command:

hpm_ws_rest_client.bat getPovs <<application name>>

Example 3: Get Stages

For example, to retrieve the stages for an application, enter the command:

hpm_ws_rest_client.bat getStages <<application name>>

Compiling the Code

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