Create or Update Manual Activity Sheet

Post /ws/rest/service/v2/activity/sheet/activitysheet

Purpose

Creates or updates an activity sheet in a specified Unifier shell based on a project number. Only one activity sheet can be created per request.

The REST service creates an activity sheet if the request data[] contains an activity sheet name which is not present in the system.

The REST service updates an activity sheet if the request data[] contains activities for an existing activity sheet name for a project in the system.

Note:

Finish dates, such as Finish, Planned Finish, and so on, must be set to December 31, 9999 or earlier. If you enter a date later than that, an error occurs.

Additional Information about P6 Activity Picker

  • • The P6 Activity Picker is supported when creating records through CSV import and RESTful services.
  • • When a P6/Oracle Primavera Cloud project is associated with the System Activity Sheet, the CSV template or the RESTful call accepts the following format for P6 Activity Picker value: <P6/Oracle Primavera Cloud Project ID> ~~ <Activity ID>

Prerequisites

Ensure you have:

  • The required Activity Sheet Services permissions under Activity Manager
  • Created a shell

Request Format

Send an API request as a JSON Map with the following structure:

{

"options":{"project_number": "<value>"},

"data":[]

}

Request Parameters - Options Map

Specify the following parameters in the Options JSON map:

Request Parameter Required? Data Type Description
project_number Yes String A valid 'Active' shell number.

Request Parameters - Data [] List

Specify the following parameters in the Options JSON map:

Request Parameter Required? Data Type Description
name Yes String Name of the manual activity sheet. It must be unique for each activity sheet in the shell.
schedule_type Yes String The schedule type of the activity. Valid values include: "Duration" and "Resource".
timezone Yes String

The time zone configured in Unifier.

Note:

timezone is not updated when you choose to update the activity sheet.
description No String A description of the manual activity sheet.
status No String

The status of the manual activity sheet. Valid values include: "Active" (default) or "Inactive"

Status is not considered when you choose to create a manual activity sheet using this REST service.

calendar No String The name of a calendar associated with a project/shell. Defaults to "Project/Shell Calendar".
act_sch_attr_start No String The data source for the project schedule start date. Valid values include: "Manual" (default) and "From Shell Attribute".
act_sch_start_date No Date

The project schedule start date.

When creating an Activity Sheet, if a Schedule Start Date is not provided, it defaults to the current date.

If the schedule type is From Shell Details, it uses the start date from the shell details.

When updating an activity sheet that already has a start date, if act_sch_start_date is not provided in the request, it will consider the existing start date and process

uuu_duration_type No String Valid values include: "Fixed Duration" (default), "Fixed Units", or "Fixed units/time".
act_id_prefix No String Defaults to "A".
act_id_suffix No Integer An activity ID suffix value between 1 to 999999. Defaults to 1000.
act_id_incr No Integer An activity ID increment value between 1 to 1000. Defaults to "10".
planning_rate_sheet No String An existing rate sheet associated with the activity sheet. Defaults to the "Master Rate Sheet".
actual_rate_sheet No String An existing actual rate sheet associated with the activity sheet. Defaults to the "Master Rate Sheet".
uuu_P6ETCComputeType No Integer

Specify a valid value 1 through 5, wherein uuu_P6ETCComputeType is computed as follows:

"1" (default): Remaining Cost for Activity

"2": 1 x (BAC - EV)

"3": (1 / CPI) x (BAC - EV)

"4": (1 / (CPI x SPI)) x (BAC - EV)

"5": (BAC-EV)

uuu_P6ETCUserValue No Float

If ETCTechnique is 5 , this value(Performance Factor) is accepted as a positive floating value.

If ETCTechnique in the request is between 1 and 4, this value is ignored and is updated as 0.0

created by No String Defaults to the full name of the Owner company administrator. If the field has not been passed, or has a null or empty value, the Company Administrator's name is considered.

Response Format

A JSON object is returned in the following format:

{

"data": [],

"message": [<list of messages>],

"status": <REST status code value>,

"rest_audit_id": <id from the audit table>

}

A successful response displays a status code 200.

A failed response displays a message with a status code.

Sample Success Request

{

"options": {

"project_number": "P-0038"

},

"data": [

{

"name": "ManualSheetSample",

"description": "This is a sample activity sheet",

"status": "Active",

"calendar": "custom4",

"act_sch_attr_start" : "Manual",

"act_sch_start_date":"2023-08-25",

"uuu_duration_type": "Fixed Duration",

"schedule_type" : "Resource",

"timezone" : "UTC-10:00",

"act_id_prefix" : "A",

"act_id_suffix" : 1000,

"act_id_incr" : 10,

"planning_rate_sheet": "RS1",

"actual_rate_sheet":"RS1",

"uuu_P6ETCComputeType": 5 ,

"uuu_P6ETCUserValue": 0.5

}

]

}

Sample Success Response

To create a manual activity sheet, send a request in the following format:

{

"data": [

{

"calendar": "Project/Shell Calendar",

"schedule_type": "Resource",

"planning_rate_sheet": "Master Rate Sheet",

"uuu_P6ETCComputeType": 5,

"timezone": "(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius",

"uuu_P6ETCUserValue": 0.25,

"act_id_suffix": 1000,

"description": "des",

"created by": "Unifier Unifier",

"act_id_prefix": "A",

"act_id_incr": 10,

"act_sch_attr_start": "Manual",

"actual_rate_sheet": "Master Rate Sheet",

"name": "24",

"act_sch_start_date": "2013-02-28",

"id": 323,

"status": "Active",

"uuu_duration_type": "Fixed Duration"

}

],

"message": [

"Field: [planning_rate_sheet] has been updated. Perform recosting to see the updated cost data in the sheet.",

"Field: [actual_rate_sheet] has been updated. Perform recosting to see the updated cost data in the sheet.",

"success"

],

"rest_audit_id": 1368,

"status": 200

}

Sample Success Response with Warning Messages

A successful response with status code 200 displays in the following format:

{

"data": [

{

"calendar": "custom1",

"schedule_type": "Resource",

"planning_rate_sheet": "Master Rate Sheet",

"uuu_P6ETCComputeType": 5,

"timezone": "(UTC+10:00) Hobart",

"uuu_P6ETCUserValue": "0.4",

"act_id_suffix": 100,

"description": "This is a sample activity sheet update1",

"created by": "Unifier Unifier",

"act_id_prefix": "$",

"act_id_incr": 10,

"act_sch_attr_start": "Manual",

"actual_rate_sheet": "Master Rate Sheet",

"name": "test",

"act_sch_start_date": "2022-12-10",

"id": 309,

"status": "Active",

"uuu_duration_type": "Fixed Units"

}

],

"message": [

"Field: [planning_rate_sheet] has been updated. Perform recosting to see the updated cost data in the sheet.",

"Field: [uuu_P6ETCComputeType] has been updated. Perform recosting to see the updated cost data in the sheet.",

"Field: [uuu_P6ETCUserValue] has been updated. Perform recosting to see the updated cost data in the sheet.",

"Field: [actual_rate_sheet] has been updated. Perform recosting to see the updated cost data in the sheet.",

"Field: [act_sch_start_date] has been updated. Perform scheduling to see the updated schedule data in the sheet. ",

"success"

],

"rest_audit_id": 1242,

"status": 200

}

Sample Failed Response

A failed response to create a manual activity sheet displays the corresponding status code in the following format:

{

"data": [],

"message": [

"The API request contains an empty value for: [name]."

],

"rest_audit_id": 1241,

"status": 12703

}

Supported Validation Messages and Status Codes

The following validation messages and status codes display in the response when incorrect values are provided in the request.

Field Name Use-case Scenario Status Code Error Message
project_number project_number is not specified. 12018 The project number field is empty. Enter a valid project number.
project_number Invalid project_number. 602 Project/Shell Number is not correct.
project_number Inactive project_number. 12020 The project number [project_number] is currently inactive or on-hold . Verify its status in Unifier before proceeding.
name The name of the manual activity sheet is not specified in the request. 12702 The API request is missing the required information: [name].
name Activity sheet is blank. 12703 The API request contains an empty value for:[name].
name Activity Sheet exceeds 50 characters. 12704 Invalid value was found in a field: [name]. Allowed length: [50].
name name is "System Activity Sheet." 12705 Invalid value was found in a field: [name]. Manual Activity Sheet name cannot be selected as System Activity Sheet.
name An invalid name value (non-String) is specified in the request. 12733 Invalid value was found in a field [name]. Allowed only string values.
schedule_type schedule_type is not specified. 12706 The API request is missing the required information: [schedule_type].
schedule_type An invalid schedule_type value (non-String), or null or empty value is specified in the request. 12707 Invalid value was found in a field [schedule_type]. Allowed values: [Duration, Resource].
timezone time zone is not specified. 12729 The API request is missing the required information: [timezone].
timezone An invalid time zone value (non-String) is specified in the request. 12715 The API request contains an invalid value: [timezone].
timezone time zone is not configured in Unifier. 12716 Invalid value was found in a field [timezone]. Please check if this timezone has been defined in shell.
description description of the activity sheet exceeds 400 characters. 12708 Invalid value was found in a field: [description]. Allowed length: [400]
description An invalid description value (non-String) is specified in the request. 12734 Invalid value was found in a field [description]. Allowed only string values.
status An invalid status value, (non-String), or null or empty value is specified in the request. 12709 Invalid value was found in a field [status]. Allowed only string values.
status The status of the activity sheet is not specified as "Active" or "Inactive". 12710 Invalid value was found in a field: [status]. Allowed value: [Active, Inactive]
calendar An invalid calendar value, (non-String), or null or empty value is specified in the request. 12730 Invalid value was found in a field : calendar. Allowed only string values.
calendar time zone is not configured in Unifier project/shell. 12731 Invalid value was found in a field [calendar]. Allowed only Calendars configured in the respective Unifier Project/Shell.
act_sch_attr_start An invalid act_sch_attr_start value, (non-String), or null or empty value is specified in the request. 12711 Invalid value was found in a field [act_sch_attr_start]. Allowed only string values.
act_sch_attr_start Project Schedule Start Date Data source value is an invalid value, other than "Manual" and "From Shell Attribute". 12712 Invalid value was found in a field: [act_sch_attr_start]. Allowed value: [Manual & From Shell Attribute]
act_sch_start_date An invalid act_sch_start_date format, or null or empty value is specified in the request. 12713 The API request contains an invalid value: [act_sch_start_date]. Correct date format [yyyy-MM-dd].
act_sch_start_date In the update, the activity sheet has an in progress or completed activity. 12714 Cannot change Project Schedule Start date. One or more activities are in Complete or In-Progress.
act_sch_start_date The schedule Type is selected as "From Shell Details", and the Project start date is not specified in the shell details. 12735 Project Schedule Start Date: Input Required
uuu_duration_type An invalid uuu_duration_type format, or null or empty value is specified in the request. 12717 Invalid value was found in a field [uuu_duration_type]. Allowed values: [Fixed Duration, Fixed Units, Fixed units/time].
act_id_prefix An invalid act_id_prefix format, or null or empty value is specified in the request, or act_id_prefix exceeds 20 characters. 12718 Invalid value was found in a field: [act_id_prefix]. Allowed length: [20].
act_id_suffix An invalid act_id_suffix value, (non-Integer), null or empty, negative, or a value greater than 999999 is specified in the request. 12719 Invalid value was found in a field [act_id_suffix]. Allowed values between 1 to 999999.
act_id_incr An invalid act_id_incr value, (non-Integer), null or empty, negative, or value greater than 999999 is specified in the request. 12720 Invalid value was found in a field [act_id_incr]. Allowed values between 1 to 1000.
planning_rate_sheet A non-existent rate sheet value is specified in the request. 12721 Invalid value was found in a field [planning_rate_sheet]. Please check if this ratesheet has been defined in the respective shell.
actual_rate_sheet A non-existent rate sheet value is specified in the request. 12722 Invalid value was found in a field [actual_rate_sheet]. Please check if this ratesheet has been defined in the respective shell.
uuu_P6ETCComputeType uuu_P6ETCComputeType is not a number between 1 and 5. 12723 Invalid value was found in the field: [uuu_P6ETCComputeType]. Only integer values are allowed from 1 to 5.
uuu_P6ETCComputeType uuu_P6ETCComputeType value is empty or null. 12724 The API request contains empty value for: [uuu_P6ETCComputeType]. Only integer values are allowed from 1 to 5.
uuu_P6ETCUserValue uuu_P6ETCComputeType is 5, and uuu_P6ETCUserValue is not specified in the request. 12725 The API request is missing the required information: [uuu_P6ETCUserValue].
uuu_P6ETCUserValue uuu_P6ETCUserValue is a null value. 12726 The API request contains empty value for: [uuu_P6ETCUserValue]. Only numeric values are allowed and should be greater than or equal to 0.01.
uuu_P6ETCUserValue Value is less than 0.01. 12727 Invalid value was found in a field: [uuu_P6ETCUserValue]. Only numeric values are allowed and should be greater than or equal to 0.01.
created by Invalid user 900 Enter a valid or an active user.