Primavera to Aspose.Tasks for .NET properties mapping

Aspose.Tasks API is based on object model of Microsoft Project which differs from model used in Primavera software. This can lead to confusion, particularly when certain properties share the same name in both models but are calculated differently. To provide clarity, this article will outline the mapping of Primavera properties to properties of Aspose.Tasks API.

Task properties

Primavera has two distinct entities for tasks: the WBS (Work Breakdown Structure) entity for summary tasks and the Activity entity for leaf tasks. However, Aspose.Tasks does not differentiate between these entities and uses the Task entity for mapping in both cases. Task have PrimaveraPropeties property where values of Primavera-specific properties can be found. The properties are read only and are filled when project is read from Primavera format (XER of P6XML). The values of these properties are not recalculated during lifecycle of the project. Contrary to this the properties which are mapped to Task’s properties are recalculated according to Microsoft Project’s logic during lifecycle of the project.

Name in Primavera P6Aspose.Tasks for .NET propertyName in XER fileName in Primavera XML fileComment
Planned StartTask.Starttarget_start_datePlannedStartDateThe scheduled start date of a task
Planned FinishTask.Finishtarget_end_datePlannedFinishDateThe scheduled finish date of a task
Actual StartTask.ActualStartact_start_dateActualStartDateThe date and time when a task actually began
Actual FinishTask.ActualFinishact_end_dateActualFinishDateThe date when a task was completed
Remaining Early StartTask.PrimaveraProperties.RemainingEarlyStartrestart_dateRemainingEarlyStartDateThe remaining early start is the same as the early start unless the ‘Preserve scheduled early and late dates’ option with resource leveling is used.
Remaining Early FinishTask.PrimaveraProperties.RemainingEarlyFinishreend_dateRemainingEarlyFinishDateThe remaining early finish is the same as the early finish unless the ‘Preserve scheduled early and late dates’ option with resource leveling is used.
Remaining Late StartTask.PrimaveraProperties.RemainingLateStartrem_late_start_dateRemainingLateStartDateThe latest date the remaining work for the task should begin without delaying the project finish date.
Remaining Late FinishTask.PrimaveraProperties.RemainingLateFinishrem_late_end_dateRemainingLateFinishDateThe latest date the remaining work for the task should finish without delaying the project finish date.
Original/Planned DurationTask.Durationtarget_drtn_hr_cntPlannedDurationThe total working time from the task planned start date to the planned finish date.
Actual Duration-ActualDurationTotal working time from the activity actual start date to the actual finish date (for completed tasks) or to the current data date for in-progress tasks.
Remaining DurationTask.RemainingDurationremain_drtn_hr_cntRemainingDurationThe total working time from the task remaining start date to the remaining finish date.
At Completion Duration-AtCompletionDurationCan be calculated as Task.ActualDuration + Task.RemainingDuration. The total working time from the task’s current start date to the current finish date.
Actual Labor UnitsTask.ActualWork, Task.PrimaveraProperties.ActualLaborUnitsact_work_qtyActualLaborUnitsThe actual units for all labor resources assigned to the task.
Remaining Labor UnitsTask.RemainingWorkremain_work_qtyRemainingLaborUnitsThe remaining units for all labor resources assigned to the task.
Planned Labor UnitsTask.Worktarget_work_qtyPlannedLaborUnitsThe planned units for all labor resources assigned to the task.
At Completion Labor Units--AtCompletionLaborUnitsCan be calculated as Task.RemainingWork + Task.ActualWork.
Actual Non Labor UnitsTask.PrimaveraProperties.ActualNonLaborUnitsact_equip_qtyActualNonLaborUnitsThe actual units for all nonlabor resources assigned to the task.
Remaining Non Labor UnitsTask.PrimaveraProperties.RemainingNonLaborUnitsremain_equip_qtyRemainingNonLaborUnitsThe remaining units for all nonlabor resources assigned to the task.
Actual Total CostTask.ActualCost--Calculated as a sum of task’s assignments actual costs.
Remaining Total CostTask.RemainingCost--Calculated as a sum of task’s assignments remaining costs.
Planned (Budgeted) Total CostTask.Cost--Calculated as a sum of task’s assignments budgeted costs.
At Completion Total Cost---Can be calculated as a sum of Task.ActualCost and Task.RemainingCost.
Actual Expense CostTask.PrimaveraProperties.ActualExpenseCost--Is calculated as a sum of actual costs of task’s expense entries.
Remaining Expense CostTask.PrimaveraProperties.RemainingExpenseCost--Is calculated as a sum of remaining costs of task’s expense entries.
At Completion Expense Cost---Can be calculated as Task.PrimaveraProperties.ActualExpenseCost + Task.PrimaveraProperties.RemainingExpenseCost.

Resource Assignment properties

Aspose.Tasks’s ResourceAssignment entity has PrimaveraPropeties property where values of Primavera-specific properties can be found. The properties are read only and are filled when project is read from Primavera format (XER of P6XML). The values of these properties are not recalculated during lifecycle of the project. Contrary to this the properties which are mapped to ResourceAssignment’s properties are recalculated according to Microsoft Project’s logic during lifecycle of the project.

Name in Primavera P6Aspose.Tasks for .NET propertyName in XER fileName in Primavera XML fileComment
Planned StartResourceAssignment.Starttarget_start_datePlannedStartDateThe date the resource is scheduled to begin working on the task.
Planned FinishResourceAssignment.Finishtarget_end_datePlannedFinishDateThe date the resource is scheduled to finish working on the task.
Actual StartResourceAssignment.ActualStartact_start_dateActualStartDateThe date when the resource actually started working on the task.
Actual FinishResourceAssignment.ActualFinishact_end_dateActualFinishDateThe date when the resource actually finished working on the activity.
Original LagResourceAssignment.Delaytarget_lag_drtn_hr_cntPlannedLagThe planned time lag between the task’s planned start date and the resource’s planned start date of work on the task.
Remaining Units / TimeResourceAssignment.Unitsremain_qty_per_hrRemainingUnitsPerTimeThe units per time at which the resource will be performing work on the remaining portion of the task.
Actual Overtime UnitsResourceAssignment.ActualOvertimeWorkact_ot_qtyActualOvertimeUnitsThe actual overtime units worked by the resource on the task.
Actual Regular Units-act_reg_qtyActualRegularUnitsThe actual nonovertime units worked by the resource on the task. Can be calculated as ResourceAssignment.ActualWork - ResourceAssignment.ActualOvertimeWork.
Actual UnitsResourceAssignment.ActualWork-ActualUnitsThe actual nonovertime plus overtime units worked by the resource on the task.
Remaining UnitsResourceAssignment.RemainingWorkremain_qtyRemainingUnitsThe remaining units of work to be performed by the resource on the task.
Budgeted UnitsResourceAssignment.Worktarget_qtyPlannedUnitsThe budgeted (or planned) units of work for the resource assignment.
At Completion Units--AtCompletionUnitsCan be calculated as ResourceAssignment.ActualWork + ResourceAssignment.RemainingWork.
Actual Regular Cost-act_reg_costActualRegularCostThe actual nonovertime cost for the resource assignment. Can be calculated as ResourceAssignment.ActualCost - ResourceAssignment.ActualOvertimeCost.
Actual CostResourceAssignment.ActualCost-ActualCostThe actual nonovertime plus overtime cost .
Actual Overtime CostResourceAssignment.ActualOvertimeCostact_ot_costActualOvertimeCostThe actual overtime cost for the resource assignment.
Remaining CostResourceAssignment.RemainingCostremain_costRemainingCostThe remaining cost for the resource assignment.
Budgeted (Planned) CostResourceAssignment.Costtarget_costPlannedCostThe budgeted or planned cost for the resource assignment.
At Completion Cost--AtCompletionCostCan be calculated as ResourceAssignment.ActualCost + ResourceAssignment.RemainingCost.
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.