36Public Business Events

This chapter contains the following:

Public Business Events

A public event, also known as business event, is a definable logical occurrence in a business scenario. It can be a high-level occurrence such as project creation or a specialized event such as status change.

If you want to perform operations in other systems based on public events in Oracle Project Portfolio Management cloud, then you can use public event features. Project application administrators must enable public event features if they aren't enabled by default.

After you enable these features, Oracle PPM Cloud sends a signal, along with a payload containing information about the public event, whenever an event occurs. The public event signal is also known as public event.

Note: Oracle PPM Cloud sends signals irrespective of the source or cause of the event. For example, the application sends a project creation signal when a project is created using file-based data import, REST service, SOAP service, or user interface.

Integration developers and administrators can subscribe to public events from the Oracle Integration Cloud using the Oracle ERP Cloud Adapter. Then, they can use the information in the payload to configure event handlers that perform business operations. For more information, refer to Oracle ERP Cloud Adapter Capabilities and Developing Integrations with Oracle Integration Cloud Service.

Public event payload contains specific information pertaining to the event. You can use callback services to retrieve additional information from Oracle PPM cloud.

Public Events for Project Financial Management

This table describes the public events supported by Project Financial Management.

Cloud Product Supported Public Event Description Enabled by Default First Release Available Callback Service

Project Financial Management

Publishing Financial Project Progress

Signals whenever financial project progress is published.

No

18C

REST Service: Project Plan

Operation: Publish Project Progress

Project Financial Management

Financial Project Plan Changes

Signals whenever financial project plan changes.

No

18C

REST Service: Project Plans

Operation: Project Plan Change

Project Financial Management

Project Status Change

Signals whenever financial project plan status changes.

No

17D

REST Service: Project Plans

Operation: Project Plan Change

Public Events for Financial Project Plan Changes

If you want Oracle PPM Cloud to signal whenever task assignments are created or modified in a financial project plan, then you must opt in for the Generate Public Events on Change in Financial Project Plan feature. You can enable it from the from the Edit Features: Project Control page.

For example, if you want to generate revenue whenever financial project progress is published, then:

  1. You, as a project application administrator, must enable this feature. Oracle PPM Cloud signals when financial project progress is published.

  2. Integration developers must create event handlers that subscribe to these signals and generate revenue whenever financial project progress is published.

Attributes in the Payload for Financial Project Plan Changes Event

This table lists and describes the attributes in the payload.

Attribute Description

planVersionId

The unique identifier of the financial project plan version.

projectId

The identifier of the project.

projectNumber

The number of the project.

eventType

The type of public event.

taskId

Identifier of the project task that's modified as part of the financial project plan changes.

taskNumber

Number of the task.

resourceName

Name of the resource assigned to the task in the financial project plan.

rbsElementId

Identifier of the resource included in the financial project plan.

resourceClass

Resource class of the resource. For, example, LABOR for Labor resources and, EQUIPMENT for equipment type resources.

planningCurrency

The currency in which the resource is planned.

unitOfMeasure

Unit of measure for the planned amounts. For example, HOURS for a Labor resource assignment.

planningStartDate

Planned start date of the resource assignment. This element contains both old and new values.

planningEndDate

Planned end date of the resource assignment. This element contains both old and new values. A new resource assignment to the task has the same value for oldValue and newValue attributes.

totalQuantity

Total planned quantity for the resource assignment. This element contains both old and new values. A new resource assignment to the task has the same value for oldValue and newValue attributes..

totalTcRawCost

Total transaction currency raw cost value of the resource assignment. This element contains both old and new values. A new resource assignment to the task has the same value for oldValue and newValue attributes.

totalTcBrdndCost

Total transaction currency burdened cost value of the resource assignment. This element contains both old and new values. A new resource assignment to the task has the same value for oldValue and newValue attributes.

tcRawCostRate

Total transaction currency raw cost rate value of the resource assignment. A new resource assignment to the task has the same value for oldValue and newValue attributes.

tcBrdndCostRate

Total transaction currency burdened cost rate value of the resource assignment. A new resource assignment to the task has the same value for oldValue and newValue attributes.

totalPcRawCost

Total project currency raw cost value of the resource assignment. A new resource assignment to the task has the same value for oldValue and newValue attributes.

totalPcBrdndCost

Total project currency burdened cost value of the resource assignment. A new resource assignment to the task has the same value for oldValue and newValue attributes.

totalPfcRawCost

Total project functional currency raw cost value of the resource assignment. A new resource assignment to the task has the same value for oldValue and newValue attributes.

totalPfcBrdndCost

Total project functional currency burdened cost value of the resource assignment. A new resource assignment to the task has the same value for oldValue and newValue attributes.

Let's look at a sample payload that's generated when a new resource is added to a task.

<eb:business-event xmlsn:eb="http://ora.com/fabric/businessEvent" xmlsn:ob="http://xmlns.ora.com/apps/projects/control/projectPlan/planChange/PlanChangeEvent">

<eb:name>ob:PlanChangeEvent<eb:name>

<eb:content>

<ns0:PlanChangeEventInfo>
<planVersionId>100100075548718100100075548718</planVersionId>
<projectId>300100152392374</projectId>
<projectNumber>sk_pub_event</projectNumber>
<eventType>PLAN_UPDATE</eventType>
<planningResource>

<taskId>100100075548714</taskId>

<taskNumber>1</taskNumber>

<resourceName>Labor</ResourceName>

<rbsElementId>100000011550441</rbsElementId>

<resourceClass>PEOPLE</resourceClass>

<planningCurrency>USD</planningCurrency>

<unitOfMeasure>HOURS</unitOfMeasure>


<planningStartDate>

<newValue>2018-09-04</newValue>

<oldValue>2018-09-04</oldValue>

</planningStartDate>


<planningEndDate>

<newValue>2018-12-02</newValue>

<oldValue>2018-12-02</oldValue>

</planningEndDate>


<totalQuantity>

<newValue>234.00000000</newValue>

<oldValue>234.00000000</oldValue>

</totalQuantity>


<totalTcRawCost>

<newValue>2340.00000000</newValue>

<oldValue>2340.00000000</oldValue>

</totalTcRawCost>


<totalTcBrdndCost>

<newValue>3346.20000000</newValue>

<oldValue>3346.20000000</oldValue>

</totalTcBrdndCost>


<tcRawCostRate>

<newValue>10.00000000</newValue>

<oldValue>10.00000000</oldValue>

</tcRawCostRate>


<tcBrdndCostRate>

<newValue>14.30000000</newValue>

<oldValue>14.30000000</oldValue>

</tcBrdndCostRate>


<totalPcRawCost>

<newValue>2340.00000000</newValue>

<oldValue>2340.00000000</oldValue>

</totalPcRawCost>


<totalPcBrdndCost>

<newValue>3346.20000001</newValue>

<oldValue>3346.20000001</oldValue>

</totalPcBrdndCost>


<totalPfcRawCost>

<newValue>2340.00000000</newValue>

<oldValue>2340.00000000</oldValue>

</totalPfcRawCost>


<totalPfcBrdndCost>

<newValue>3346.20000001</newValue>

<oldValue>3346.20000001</oldValue>

</totalPfcBrdndCost>

</planningResource>

<nso:PlanChangeEventInfo>

</eb:content>
</eb:business-event>

Public Events for Publishing Financial Project Progress

If you want Oracle PPM Cloud to signal whenever financial project progress is published, then you must opt in for the Generate Public Events When Publishing Financial Project Progress feature. You can enable it from the Edit Features: Project Control page.

For example, if you want to generate revenue whenever financial project progress is published, then:

  1. You, as a project application administrator, must enable this feature. Oracle PPM Cloud signals when financial project progress is published.

  2. Integration developers must create event handlers that subscribe to these signals and generate revenue whenever financial project progress is published.

Attributes in the Payload for Publishing Financial Project Progress Event

This table lists and describes the attributes in the payload.

Attribute Description

projectID

Unique identifier of the project.

projectNumber

Number of the project.

asOfDate

The project progress as of the system date.

physicalPercentComplete

The physical work completion percentage.

previousPhysicalPercentComplete

The physical work completion percentage of previous instance.

primaryPhysicalPercentCompleteBasis

The basis of the physical percent complete for primary resource.

etcCost

The estimate-to-complete cost.

eacCost

The estimate-at-complete cost.

baselinedPlannedCost

The value of the planned cost at baseline.

etcEffort

The estimate-to-complete effort.

eacEffort

The estimate-at-complete effort.

baselinedPlannedEffort

The value of the baseline planned effort.

earnedValueCost

The value of the earned value cost.

earnedValueEffort

The value of the earned value effort.

currencyCode

The code of the currency used.

publishedDate

The project progress publish date in YYYY-MM-DD format.

publishedBy

The name of the person who published the project progress.

Let's look at a sample payload that's generated when financial project progress is published.

<eb:business-event xmlsn:eb="http://ora.com/fabric/businessEvent" xmlsn:ob="http://xmlns.ora.com/apps/projects/control/progress/publishProgress/PublishProgressEvent">

<eb:name>ob:PublishProgressEvent<eb:name>

<eb:content>

<ns0:PublishProgressEventInfo>

<ns0:projectId>300100005141135</ns0:projectId>

<ns0:projectNumber>0001 PJO CDRM AM</ns0:projectNumber>

<ns0:projectName>0001 PJS CDRM AM</ns0:projectName>

<ns0:asOfDate>2018-06-26</ns0:asOfDate>

<ns0:physicalPercentComplete>21.3306265828</ns0:physicalPercentComplete>

<ns0:previousPhysicalPercentComplete>0</ns0:previousPhysicalPercentComplete>

<ns0:primaryPhysicalPercentCompleteBasis>COST</ns0:primaryPhysicalPercentCompleteBasis>

<ns0:etcCost>59199.75</ns0:etcCost>

<ns0:eacCost>1492099.75</ns0:eacCost>

<ns0:baselinedPlannedCost>63849.7500000699875</ns0:baselinedPlannedCost>

<ns0:etcEffort>1373</ns0:etcEffort>

<ns0:eacEffort>51373</ns0:eacEffort>

<ns0:baselinedPlannedEffort>1683</ns0:baselinedPlannedEffort>

<ns0:earnedValueCost>13619.5517465487276026185568</ns0:earnedValueCost>

<ns0:earnedValueEffort>739.5762330717</ns0:earnedValueEffort>

<ns0:currencyCode>USD</ns0:currencyCode>

<ns0:publishedDate>2018-06-26</ns0:publishedDate>

<ns0:publishedBy>ABRAHAM.MASON</ns0:publishedBy>

</ns0:PublishProgressEventInfo>

</eb:content>

</eb:business-event>

Public Events for Project Status

If you want Oracle PPM Cloud to signal whenever a project is created or a project status is changed, then you must opt in for the Publish Public Events on Project Status Change feature. You can enable it from the Edit Features: Project Financial Management page in the Project Financial Management offering.

For example, if you want to create a contract whenever project status changes to Approved, then:

  1. You, as a project application administrator, must enable this feature. Oracle PPM Cloud signals when a project status changes to Approved.

  2. Integration developers must create event handlers that subscribe to these signals and create a contract whenever project status changes to Approved.

Attributes in the Payload for Public Events on Project Status Change

This table lists and describes the attributes in the payload.

Attribute Description

projectID

Unique identifier of the project.

projectName

Name of the project.

projectNumber

Number of the project.

projectDescription

Description of the project.

projectStatus

System code of the project status. Typical project status codes are ACTIVE and CLOSED.

projectStatusName

Name of the project status. Typical project statuses are Active and Closed.

projectOrganization

Name of the project owning organization.

projectType

Name of the project type associated to the project.

projectManagerName

Name of the project manager.

projectManagerUserName

User name of the project manager.

statusComment

Comment provided during status change.

startDate

Start date of the project. Valid format is YYYY-MM-DD.

finishDate

Finish date of the project. Valid format is YYYY-MM-DD.

projectUnit

Name of the project unit associated to the project.

businessUnit

Name of the business unit associated to the project.

Let's look at a sample payload that's generated when project status is changed.

<ns0:ProjectStatusEventInfo>

<ns0:projectId>300100005141135</ns0:projectId>

<ns0:projectName>0001 PJS CDRM AM</ns0:projectName>

<ns0:projectNumber>0001 PJS CDRM AM</ns0:projectNumber>

<ns0:projectDescription>Template to be Employed for PMEA RRF Flow.</ns0:projectDescription>

<ns0:projectStatus>APPROVED</ns0:projectStatus>

<ns0:projectStatusName>Approved</ns0:projectStatusName>

<ns0:projectOrganization>Vision Operations</ns0:projectOrganization>

<ns0:projectType>PJS CPBF Billable</ns0:projectType>

<ns0:projectManagerName>Abraham Mason</ns0:projectManagerName>

<ns0:projectManagerUserName>ABRAHAM.MASON</ns0:projectManagerUserName>

<ns0:statusComment/>

<ns0:startDate>2010-10-01</ns0:startDate>

<ns0:finishDate>2012-10-31</ns0:finishDate>

<ns0:projectUnit>Project Operations</ns0:projectUnit>

<ns0:businessUnit>Vision Operations</ns0:businessUnit>

</ns0:ProjectStatusEventInfo>