When performing various tasks in Infor SyteLine (such as creating a Job Order) you receive an error message “The definition of object ‘ApsSyncBomPrtSp’ has changed since it was compiled”.


Another variation of the error message is show below.

Error during execution of Global script class [SyteLine.GlobalScripts.LaunchConfig]
Exception Message: Exception has been thrown by the target of an invocation.
The definition of object ‘ApsSyncBomPrtSp’ has changed since it was compiled.


As per Infor following tasks need to be executed to correct the problem:

  • Purge Next Keys
  • Shrink Database
  • Drop Temp Tables
  • Update Statistics
  • Disallow Page Locks
  • Rebuild Indexes

These tasks can be ran from the Database Maintenance form. However, these tasks should be a part of a regular nightly routine as they are meant to run when no users are logged on to the system and there are no Active Background tasks – meaning the process is service disruptive.

Prior to running above tasks you want issue the following queries against the appropriate _app databaseSleeping half-moon via the SQL Management Studio:

select * from ActiveBGTasks

to check whether there are any active tasks running on the server, and

dbcc OpenTran

to make sure there are no open transactions being processed in the background.

Lastly you’ll want to run APS Resync All.


This solved the problem for us and the error message went away.

However, there is another way we used to correct the problem which is significantly less complex and time consuming and more importantly – it is not intrusive (does not require system down time).

It is actually quite simple. Using the SQL Management Studio connect to the database server and issue query shown below against the appropriate _app databaseSleeping half-moon.

sp_recompile ApsSyncBomPrtSp

%d bloggers like this: