Hi Daniel,
Negative actuals usually occur due to a negative-quantity WIP transaction import or a timesheet adjustment, though other data anomalies can also cause this.
You can use the following troubleshooting queries.
Identify the Problematic Assignment
Replace <prj_object_id> with the PRJ_OBJECT_ID from your screenshot.
-- Replace <prj_object_id> with the PRJ_OBJECT_ID from your screenshot
SELECT a.prid AS assignment_id,
a.prresourceid AS resource_id,
a.prtaskid AS task_id,
a.practsum AS total_actuals_hrs,
a.practthru AS actuals_thru_date,
a.slice_status,
a.prstart,
a.prfinish
FROM PRASSIGNMENT a
WHERE a.prid = <prj_object_id>;
Query the Negative Values in Daily Slices
SELECT s.slice_request_id,
s.slice_date,
s.slice,
s.created_date
FROM PRJ_BLB_SLICES s
WHERE s.prj_object_id = <prj_object_id>
AND s.slice_request_id = 2
AND s.slice_date BETWEEN '2026-01-19' AND '2026-02-28'
ORDER BY s.slice_date;
Check the Timesheet Entries for this Assignment
SELECT te.prid AS time_entry_id,
te.prtimesheetid,
te.practsum AS entry_actual_hrs,
te.slice_status, -- non-null means curve needs re-slicing
te.prrmckdel, -- 1 = marked for delete (recall scenario)
te.prmodtime
FROM PRTIMEENTRY te
WHERE te.prassignmentid = <prj_object_id>
ORDER BY te.prmodtime;
Check for Negative WIP Transactions
-- Join via EXTERNALTRANSNO on PRTIMEENTRY.PRID or filter by investment/resource
SELECT w.transno,
w.transdate,
w.quantity,
w.resource_code,
w.project_code,
w.task_id,
w.sourcemodule,
w.status
FROM PPA_WIP w
WHERE w.investment_id = <project_id>
AND w.transdate BETWEEN '2026-01-19' AND '2026-02-28'
AND w.quantity < 0
ORDER BY w.transdate;
Review the following KB article to understand the steps to fix the negative actuals. Feel free to reach out to Broadcom support for any help on this.
https://knowledge.broadcom.com/external/article?articleId=18475
Thanks,
Sravani