Original class function creates an SQL query and executes it. Since there is an syntax error in the query it throws an error. What's the correct way to achieve fixation? Class extension does not work, because CoC executes the complete original function.
originalFunction(..)
{
createSomeSQLQueryWithSyntayErrorInIt();
executeQuery();
}
The class in question is ReqDemPlanMissingForecastFiller
. In method insertMissingDatesForecastEntries
a direct SQL statement string is generated. The date variable nonFrozenForecastStartDate
is added to the string, but is not escaped correctly as it seems.
If the SQL statement is executed, a syntax error occurs. If the statement is fixed, it can be executed e.g. in SQL Server Management Studio (SSMS).
In this specific case, based on your comments, you may be able to sidestep.
Create a new class
ReqDemPlanMissingForecastFiller_Fix
extendingReqDemPlanMissingForecastFiller
then copy/paste the erroneous function and correct the mistake.Create an extension class and change the
newParameters
static funcion.Code above was based on AX 2012 code. Stupid solution to a stupid problem.
It goes almost without saying that you should report the problem to Microsoft.