We are performing a simple XOG write action to update the Actual Hours on a Task. After the Time Slicing job completes, the ETC values are erased.
Steps to Reproduce:
- Administration > Project Management > Settings > Default Loading Pattern = Fixed
- Create a project (myProject100)
- Set 'Track Mode' = None, 'Open for Time Entry' = unchecked
- Add more than 2 or 3 Team Staff Members to the project
- Be sure each of the resources have Track Mode = None and Open for Time Entry = unchecked
- Create a task and assign the resources to the task (myTask100)
- Be sure the Task 'Open for Time Entry' = unchecked, Loading Pattern = 'Fixed'
- Open the Project in Open Workbench (OWB)
- Highlight the task (myTask100) > right-click > choose 'Modify...' > Go to Resources Tab
- Add Actual hours to all resources assigned > Set the 'Act Thru Date'
- Save the OWB Changes back to Clarity
- Executed 'Time Slicing' job
- View the Actuals, ETCs and Sliced ETCs on the Project Task Properties List View have been updated - ETCs show beginning in June 2012 because the 'Act Thru' Date was updated to 5/31/2012
- Open the Project in OWB again > Modify Resource01 to remove actual hours
- Save the project back into Clarity
- Execute 'Time Slicing' job
- View the Actuals, ETCs and Sliced ETCs on the Project Task Properties List - Actuals are updated to zero and ETC Slices remain as expected (Resource01 new start date 6/1/12)
- Create a simple XOG write file for updating the 'ActCurve' data for 'Resource02' and 'Resource03'
<?xml version="1.0" encoding="UTF-8"?> <NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_project.xsd"> <Header action="write" externalSource="NIKU" objectType="project" version="22.214.171.12432"/> <Projects> <Project name="myProject100" projectID="myProject100" > <Tasks> <Task name="myTask100" taskID="myTask100" outlineLevel="1"> <Assignments> <TaskLabor resourceID="resource02"> <ActCurve> <Segment start="2012-01-03T00:00:00" finish="2012-12-31T00:00:00" sum="0"/> </ActCurve> </TaskLabor> <TaskLabor resourceID="resource03"> <ActCurve> <Segment start="2012-01-03T00:00:00" finish="2012-05-31T00:00:00" sum="0"/> </ActCurve> </TaskLabor> </Assignments> </Task> </Tasks> </Project> </Projects> </NikuDataBus>
- Peform a XOG Write action using the file
- Execute 'Time Slicing' job
- View the Actuals, ETCs and Sliced ETCs on the Project Task Properties List
*** See how the ETCs for Resource02 are removed through 12/30/2012 ; this is NOT what we expected ***
ETC values can only appear on a Task Assignment as 'future' segments showing remaining ETC values after the 'Actuals Thru Date'.
When performing a XOG write action for the Task Labor ActCurve Segments, the 'finish' date should be set to a date that you want to effectively use as the 'Actuals Thru Date' (Act Thru).
In the example described above, the XOG write file contained ActCurve Segments with a future 'finish' date for 'Resource02'. This effectively set the 'Act Thru' date to be the same and therefore 'appeared' to erase the ETC values. What happened is that the future 'finish' date was for the end of the year (12/31/2012) and the view for the ETCs where shown only up to the end of the year. Upon scrolling forward or changing the TSV view to show more periods, the ETC values were seen after this effective 'Act Thru' date. NOTE: XOG dates take timestamps into consideration. In this example using 12/31/2012 midnight -- sets the curve data to end of day for 12/30. This is why we see 8 hours in December.
When Actual Units are updated on a Task Assignment, the 'Act Thru' date should reflect appropriately so that the remaining ETC values can be distributed as expected.
The XOG write file also had an ActCurve Segment finish date of 5/31/2012 for this example. After the XOG write action was performed, he remaining ETC values appeared as expected as illustrated for 'Resource03' in the last picture shown above.
Keywords: CLARITYKB, how-to, configuration.