Skip to content

Commit fc6c6bd

Browse files
Bill LeoutsakosBill Leoutsakos
authored andcommitted
feat(oracle-epm-planning): add data maps approvals and insights
1 parent e09af09 commit fc6c6bd

39 files changed

Lines changed: 3195 additions & 34 deletions

apps/docs/content/docs/integrations/oracle_epm_planning.mdx

Lines changed: 249 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Oracle EPM Planning & FreeForm
3-
description: Manage Planning and FreeForm metadata, variables, rules, jobs, grids, forms and files
3+
description: Manage Planning and FreeForm data, jobs, approvals, user variables and IPM insights
44
---
55

66
import { BlockInfoCard } from "@/components/ui/block-info-card"
@@ -12,7 +12,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
1212

1313
## Usage Instructions
1414

15-
Connect an Oracle EPM service-account credential to Planning and FreeForm. Discover applications, cubes and dimensions; manage dynamic members and substitution variables; run rules and configured jobs; transfer data slices, forms and repository files; and perform explicit cube refresh and login-access changes. Job submission and waiting are separate. Inline results are limited to 16 MiB and downloaded Sim files to 100 MiB. Discovery permissions may be broader than execution permissions: manual names remain available.
15+
Connect an Oracle EPM service-account credential to Planning and FreeForm. Discover applications, cubes and dimensions; manage dynamic members and substitution variables; run rules and configured jobs; transfer data slices, forms and repository files; and perform explicit cube refresh and login-access changes. Run data maps with explicit target clearing, manage user-variable values, inspect owned planning units and perform explicit approval actions, and retrieve or summarize IPM insights. Planning application modules use tenant-configured cubes and rules, not separate integrations. Insight retrieval defaults to existing results; recomputation is explicit and permission-dependent. Job submission and waiting are separate. Inline results are limited to 16 MiB and downloaded Sim files to 100 MiB. Discovery permissions may be broader than execution permissions: manual names remain available.
1616

1717

1818

@@ -723,4 +723,251 @@ Change application login access. Administrators mode logs off Interactive Users
723723
|`descriptiveStatus` | string | Human-readable status |
724724
|`detailedStatus` | number | Detailed Oracle status |
725725

726+
### Oracle EPM Planning Run Data Map
727+
728+
Submit a configured data map once. Service Administrator required. Clearing the target is destructive; clearData must be explicit (Oracle defaults to true). Use Wait for Job separately.
729+
730+
#### Input
731+
732+
| Parameter | Type | Required | Description |
733+
| --------- | ---- | -------- | ----------- |
734+
| `oauthCredential` | string | Yes | Oracle EPM service-account credential |
735+
| `application` | string | Yes | Application name, exactly as configured in Oracle. |
736+
| `jobName` | string | Yes | Configured job, deployed rule or ruleset name. |
737+
| `clearData` | boolean | Yes | Explicitly clear the target region before copying. Destructive when true; Sim defaults to false, while Oracle defaults to true. |
738+
| `overrideMembersMap` | json | No | Optional dimension-to-member-selection map, for example \{"Period":"ILvl0Descendants\(Q1\)"\}. Values must be strings. |
739+
| `overrideExclusionMembersMap` | json | No | Optional dimension-to-excluded-member-selection map, for example \{"Period":"Jan"\}. Values must be strings. |
740+
741+
#### Output
742+
743+
| Parameter | Type | Description |
744+
| --------- | ---- | ----------- |
745+
| `job` | json | Planning job snapshot |
746+
|`jobId` | number | Job ID |
747+
|`status` | number | Planning status: -1 processing, 0 success, 2 cancel pending; other values are failures |
748+
|`details` | string | Job details |
749+
|`jobName` | string | Job name |
750+
|`descriptiveStatus` | string | Human-readable status |
751+
|`detailedStatus` | number | Detailed Oracle status |
752+
753+
### Oracle EPM Planning List User Variable Values
754+
755+
Read one bounded page of user-variable values. Administrators can read all users; other users can read their own. No completion indicator is provided by Oracle.
756+
757+
#### Input
758+
759+
| Parameter | Type | Required | Description |
760+
| --------- | ---- | -------- | ----------- |
761+
| `oauthCredential` | string | Yes | Oracle EPM service-account credential |
762+
| `application` | string | Yes | Application name, exactly as configured in Oracle. |
763+
| `offset` | number | No | Zero-based page offset \(default 0\). |
764+
| `limit` | number | No | Page size, 1–1000 \(default 100\). |
765+
766+
#### Output
767+
768+
| Parameter | Type | Description |
769+
| --------- | ---- | ----------- |
770+
| `userVariableValues` | array | One page of user-variable values; Oracle provides no completion flag |
771+
|`userName` | string | userName |
772+
|`name` | string | name |
773+
|`dimension` | string | dimension |
774+
|`member` | string | member |
775+
776+
### Oracle EPM Planning Set User Variable Values
777+
778+
Set a batch of user-variable values, distinct from substitution variables. Administrators can update other users; non-administrators can update their own values. Oracle does not guarantee transactional batch behavior.
779+
780+
#### Input
781+
782+
| Parameter | Type | Required | Description |
783+
| --------- | ---- | -------- | ----------- |
784+
| `oauthCredential` | string | Yes | Oracle EPM service-account credential |
785+
| `application` | string | Yes | Application name, exactly as configured in Oracle. |
786+
| `userVariableValues` | array | Yes | 1–1000 user-variable values: \[\{userName, name, dimension, member\}\]. Names are tenant-specific; do not assume batch atomicity. |
787+
788+
#### Output
789+
790+
| Parameter | Type | Description |
791+
| --------- | ---- | ----------- |
792+
| `updated` | boolean | Oracle returned HTTP 204 for the update request; no per-item results or atomicity guarantee |
793+
794+
### Oracle EPM Planning List Planning Units
795+
796+
Read one page of planning units owned by the requesting Service Administrator for a scenario and version. This is not discovery of every user’s units; no completion flag is documented.
797+
798+
#### Input
799+
800+
| Parameter | Type | Required | Description |
801+
| --------- | ---- | -------- | ----------- |
802+
| `oauthCredential` | string | Yes | Oracle EPM service-account credential |
803+
| `application` | string | Yes | Application name, exactly as configured in Oracle. |
804+
| `scenario` | string | Yes | Exact scenario member name for the planning units. |
805+
| `planningVersion` | string | Yes | Exact version member name for the planning units, not the REST API version. |
806+
| `offset` | number | No | Zero-based page offset \(default 0\). |
807+
| `limit` | number | No | Page size, 1–1000 \(default 100\). |
808+
809+
#### Output
810+
811+
| Parameter | Type | Description |
812+
| --------- | ---- | ----------- |
813+
| `planningUnits` | array | One page of owned planning units; numeric puId is not a compound identifier |
814+
|`owner` | string | owner |
815+
|`version` | string | version |
816+
|`entity` | string | entity |
817+
|`status` | string | status |
818+
|`scenario` | string | scenario |
819+
|`formattedValue` | string | formattedValue |
820+
|`puName` | string | puName |
821+
|`subStatus` | string | subStatus |
822+
|`puAlias` | string | puAlias |
823+
|`name` | string | name |
824+
|`secMember` | string | secMember |
825+
|`scenarioAlias` | string | scenarioAlias |
826+
|`versionAlias` | string | versionAlias |
827+
|`value` | number | Planning unit value |
828+
|`puId` | number | Numeric unit ID, not the compound REST path identifier |
829+
830+
### Oracle EPM Planning Get Planning Unit Actions
831+
832+
List available approval actions for units owned by the requesting Service Administrator. Does not change ownership or status.
833+
834+
#### Input
835+
836+
| Parameter | Type | Required | Description |
837+
| --------- | ---- | -------- | ----------- |
838+
| `oauthCredential` | string | Yes | Oracle EPM service-account credential |
839+
| `application` | string | Yes | Application name, exactly as configured in Oracle. |
840+
| `puhIdentifier` | string | Yes | Raw Oracle planning-unit hierarchy identifier for scenario and version, including required quotes and :: separators. Not a numeric puId or a URL. Maximum 255 UTF-8 bytes; do not percent-encode. |
841+
| `pmMembers` | string | Yes | Oracle PM-member selection \(Entity: Secondary member\), preserving tenant-specific quoting and comma-separated member names. |
842+
| `approvalOptions` | number | No | 0 for limited approvals or 1 for full approvals \(default 1\). |
843+
844+
#### Output
845+
846+
| Parameter | Type | Description |
847+
| --------- | ---- | ----------- |
848+
| `planningUnitActions` | array | Available actions without performing any transition |
849+
|`actionId` | number | Action ID |
850+
|`name` | string | Action name |
851+
852+
### Oracle EPM Planning Get Planning Unit History
853+
854+
Read a bounded page of history and annotations for an owned planning unit. Any application user can read their own units; use sequence identifiers to request replies explicitly.
855+
856+
#### Input
857+
858+
| Parameter | Type | Required | Description |
859+
| --------- | ---- | -------- | ----------- |
860+
| `oauthCredential` | string | Yes | Oracle EPM service-account credential |
861+
| `application` | string | Yes | Application name, exactly as configured in Oracle. |
862+
| `puIdentifier` | string | Yes | Raw Oracle compound planning-unit identifier including scenario, version and PM-member context. Not the numeric puId or a URL. Preserve its exact quoting/separators; maximum 255 UTF-8 bytes. Do not percent-encode. |
863+
| `annotSeq` | number | No | Annotation sequence to retrieve replies; -1 \(default\) with logSeq -1 retrieves parent nodes. |
864+
| `logSeq` | number | No | History sequence to retrieve replies; -1 \(default\) with annotSeq -1 retrieves parent nodes. |
865+
| `offset` | number | No | Zero-based page offset \(default 0\). |
866+
| `limit` | number | No | Page size, 1–1000 \(default 100\). |
867+
868+
#### Output
869+
870+
| Parameter | Type | Description |
871+
| --------- | ---- | ----------- |
872+
| `planningUnitHistory` | array | One page of owned-unit history and annotations |
873+
|`comment` | string | comment |
874+
|`authorImagePath` | string | authorImagePath |
875+
|`commentTitle` | string | commentTitle |
876+
|`commentDate` | string | commentDate |
877+
|`commentSubTitle` | string | commentSubTitle |
878+
|`hasHistory` | boolean | hasHistory |
879+
|`staticImage` | boolean | staticImage |
880+
|`isChildNode` | boolean | isChildNode |
881+
|`logSeq` | number | logSeq |
882+
|`parentAnntSeq` | number | parentAnntSeq |
883+
|`type` | string | Oracle history type |
884+
885+
### Oracle EPM Planning Change Planning Unit Status
886+
887+
Perform one explicitly chosen approval action. Service Administrator required; units must be owned by the caller and have compatible hierarchy levels and statuses. May change status or ownership; no automatic preflight or retry.
888+
889+
#### Input
890+
891+
| Parameter | Type | Required | Description |
892+
| --------- | ---- | -------- | ----------- |
893+
| `oauthCredential` | string | Yes | Oracle EPM service-account credential |
894+
| `application` | string | Yes | Application name, exactly as configured in Oracle. |
895+
| `puhIdentifier` | string | Yes | Raw Oracle planning-unit hierarchy identifier for scenario and version, including required quotes and :: separators. Not a numeric puId or a URL. Maximum 255 UTF-8 bytes; do not percent-encode. |
896+
| `pmMembers` | string | Yes | Oracle PM-member selection \(Entity: Secondary member\), preserving tenant-specific quoting and comma-separated member names. |
897+
| `actionId` | number | Yes | Explicit action ID returned by Get Planning Unit Actions, such as 6 for Promote. May change status or ownership. |
898+
| `comments` | string | No | Optional comment for the explicit approval transition. |
899+
900+
#### Output
901+
902+
| Parameter | Type | Description |
903+
| --------- | ---- | ----------- |
904+
| `planningUnitAction` | json | Oracle confirmation returned in self-link data, not a job snapshot |
905+
|`pmMembers` | string | pmMembers |
906+
|`action` | string | action |
907+
|`comments` | string | comments |
908+
909+
### Oracle EPM Planning Get Insights
910+
911+
Retrieve IPM insights using the insight-specific slice. Defaults to existing insights. Recomputing requires a calendar and Administrator or IPM Manage role. Results may be incomplete; Oracle documents no pagination input.
912+
913+
#### Input
914+
915+
| Parameter | Type | Required | Description |
916+
| --------- | ---- | -------- | ----------- |
917+
| `oauthCredential` | string | Yes | Oracle EPM service-account credential |
918+
| `application` | string | Yes | Application name, exactly as configured in Oracle. |
919+
| `cube` | string | Yes | Cube / plan type name, not its numeric plan type ID. |
920+
| `insightSlice` | json | Yes | IPM slice: pov \{members:string\[\], dimensions:string\[\]\}; rowAxisDefinition and columnAxisDefinition each \{dimensions:string\[\], segments:string\[\]\[\]\[\]\}. Not a Planning data grid. |
921+
| `retrievalMode` | string | No | USE_EXISTING \(default\) reads stored insights. FORCE_RECOMPUTE generates insights and requires a calendar and Administrator or IPM Manage role. |
922+
| `calendar` | string | No | Tenant calendar name, required only when generating insights with FORCE_RECOMPUTE. |
923+
924+
#### Output
925+
926+
| Parameter | Type | Description |
927+
| --------- | ---- | ----------- |
928+
| `insights` | array | IPM insights in this response; inspect hasMore before treating the results as complete |
929+
|`id` | string | Oracle numeric insight ID normalized to a string for summaries |
930+
|`type` | string | Insight category |
931+
|`accountName` | string | accountName |
932+
|`sourceAccountName` | string | sourceAccountName |
933+
|`planType` | string | planType |
934+
|`actualImpact` | string | actualImpact |
935+
|`percentImpact` | string | percentImpact |
936+
|`createdDate` | string | createdDate |
937+
|`description` | string | description |
938+
|`standardVariance` | string | standardVariance |
939+
|`priority` | string | priority |
940+
|`pov` | string | pov |
941+
|`percentageDiff` | string | percentageDiff |
942+
|`anomalyPeriod` | string | anomalyPeriod |
943+
|`percentageDiffFromAnomaly` | string | percentageDiffFromAnomaly |
944+
|`outlierValue` | number | Raw anomaly outlier |
945+
|`actualImpactValue` | number | Raw impact value |
946+
| `totalResults` | number | Total insight count reported by Oracle |
947+
| `hasMore` | boolean | Oracle reports incomplete results when true; no pagination request is documented |
948+
949+
### Oracle EPM Planning Summarize Insights
950+
951+
Return an IPM text summary by insight IDs or by slice. Slice mode requires a cube and insight slice. Defaults to existing insights; recomputing requires a calendar and Administrator or IPM Manage role.
952+
953+
#### Input
954+
955+
| Parameter | Type | Required | Description |
956+
| --------- | ---- | -------- | ----------- |
957+
| `oauthCredential` | string | Yes | Oracle EPM service-account credential |
958+
| `application` | string | Yes | Application name, exactly as configured in Oracle. |
959+
| `summaryInputMode` | string | Yes | ids summarizes explicit insight IDs; slice summarizes an insight slice and requires cube plus insightSlice. |
960+
| `insightIds` | array | No | 1–1000 insight ID strings returned by Get Insights; required in ids summary mode. |
961+
| `cube` | string | No | Cube / plan type name, not its numeric plan type ID. |
962+
| `insightSlice` | json | No | IPM slice: pov \{members:string\[\], dimensions:string\[\]\}; rowAxisDefinition and columnAxisDefinition each \{dimensions:string\[\], segments:string\[\]\[\]\[\]\}. Not a Planning data grid. |
963+
| `retrievalMode` | string | No | USE_EXISTING \(default\) reads stored insights. FORCE_RECOMPUTE generates insights and requires a calendar and Administrator or IPM Manage role. |
964+
| `calendar` | string | No | Tenant calendar name, required only when generating insights with FORCE_RECOMPUTE. |
965+
| `summarySize` | number | No | Maximum summary length in words \(default 100; Sim range 1–10000\). Output format is always text. |
966+
967+
#### Output
968+
969+
| Parameter | Type | Description |
970+
| --------- | ---- | ----------- |
971+
| `summary` | string | Oracle IPM summary in text format |
972+
726973

0 commit comments

Comments
 (0)