function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Matthew Kowalski 3Matthew Kowalski 3 

Financial Force PSE Dependent class is invalid and needs recompilation

Hello,

We have been receiving this error in our Sandbox and can no longer use the Timecards app in Financial Force PSE:

Insert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, pse.TimecardHeaderTrigger: execution of BeforeInsert caused by: line 36, column 16: Dependent class is invalid and needs recompilation: Class pse.EstVsActualsManager : Dependent class is invalid and needs recompilation: Class pse.ResourceScheduleManager : Dependent class is invalid and needs recompilation: Class pse.Assignments : Dependent class is invalid and needs recompilation: Class pse.ProjectSelector : Dependent class is invalid and needs recompilation: Class pse.ProjectApplication : Dependent class is invalid and needs recompilation: Class pse.OpportunitySelector : Variable does not exist: ForecastCategoryName: [] An unexpected error has occurred. Your solution provider has been notified. (pse)

I recompiled all Apex classes and it doesn't fix the error. The undeclared variable is in a managed package so I cannot view or modify the Apex code. I opened a case with FinancialForce, but they have been unhelpful so far. Has anyone else dealt with this before?

Thank you,
Matt Kowalski
Charles Hill 18Charles Hill 18
Hi Matt,

Yes, we are experiencing the same issue.  Did you find a solution?

Thanks,
Robb
Matthew Kowalski 3Matthew Kowalski 3
Hey Charles, the suggestion from FinancialForce was to upgrade the Saleforce API version of the Apex classes causing the errors. 

Setup > Apex Classes > Click on the class(es) causing the error(s) > Edit > Version Settings

I would definitely try this in a sandbox first and run your test classes to make sure nothing else was affected. We never tried updating the version because we had too many changes in the sandbox that needed to pushed first. Once they were moved, we could just refresh the sandbox. Our production instance was never affected.