When running the Student Periodic ILR Creation Tool to create missing periodic records it reports that there are no records found when in fact records may exist without periodic records which would end up excluded from the ILR (the tool crashes in the background so returns no records but the no records error is misleading).
Capita have confirmed this is a bug and is due to them making all the queries used by screens parameterised in preparation for full Unicode support in the 4.36 release. They are currently working on a fix.
The UNIT-e event log contains the following error when this occurs:
Code: Select all
System.Data.SqlClient.SqlException (0x80131904): The incoming request has too many parameters. The server supports a maximum of 2100 parameters. Reduce the number of parameters and resend the request.
The system is not correctly catching the exception being thrown so reporting that there were no records to update rather than informing the user an error occurred. Due to this there is a danger the error may not be picked up by colleges leading to students with missing periodics being excluded from the ILR.
I ran a tracelog for them using the SQL Activity Monitor when the task was being completed and all I could see was this command:
Code: Select all
exec sp_executesql N'select set_key,user_ref,user_ref user_group,cfg_ref,set_system,set_value,set_useredit,set_usersave from caps_settings left outer join caps_users on user_id=set_for_user left outer join caps_configs on cfg_id=set_config_cfg where user_ref is null and cfg_ref is null and set_system = ''-1'' and set_key like @key and set_key is not null',N'@key nvarchar(61)',@key=N'Application\ILRToolsXml\StudentPeriodicILRCreation\Inprogress'
Process to replicate the issue:
Open the Student Periodic ILR Creation Tool and click the "Creation" button: Set date parameters in the Module ILR Search for modules starting in academic year 2016/2017: Setup the Periodic ILR Creation Tool to create 2016/2017 records: No records found message is different to the normal message you would receive if the tool had run correctly leading the user to believe there are no missing records when records may be missing: