Publishing a Title

How To Resolve LMSSetValue errors in a SCORM Course

List of Common LMSSetValue errors and how to eliminate them in your Lectora courses. LMS Set Value is information being sent from your course to the LMS and the errors are being returned by the LMS to the course.

The LMS Set Value action is used to set variables that an LMS needs to provide accurate status about a learner's progress through a course.  Lectora automatically sets some values, while other values must be set by the course designer in Lectora.  The course designer is responsible for knowing which value their LMS requires.  For example, most LMS take "completed", but as you can see below, there are other possibilities for the "Correct" value for different LMS.

Here are some errors and the most likely reason for the error:

LMSSetValue Error: cmi.completion_status to [completed] Invalid argument error

This error is caused by setting the SCORM 2004 CMI_Completion_Status variable in a SCORM 1.2 course. This variable, and the corresponding LMS variable cmi.completion_status, is not used by SCORM 1.2. This variable is only used in a SCORM 2004 course.

Solution: In Lectora, find the action that is setting the Lectora variable “CMI_Completion_Status” and delete this action. 

LMSSetValue Error: cmi.core.lesson_status to (1)Incorrect Data Type

LMSSetValue Error: cmi.core.lesson_status to [done]Incorrect Data Type

This variable in SCORM 1.2 and SCORM 2004 wants a string like "completed". The cmi.core.lesson_status is set when you set the lectora variable "AICC_Lesson_status.  In this case, the value in the () is the value what the course designer has chosen to set. This action should be changed so that the "value" field is "completed", not "1" or "done" as shown in the error message. Refer to your LMS documentation if "completed" doesn't work Some other values that an LMS might use are "complete", "Completed", "Complete", "passed", "failed", "Incomplete", "browsed", "not attempted".  

Solution: Set the AICC_Lesson_Status variable to "completed" or the word your LMS uses to designate a course as completed.

LMSSetValue Error: cmi.interactions.NaN.id to [Question_2_47386]Not implemented error

LMSSetValue Error: cmi.interactions.NaN.type to [choice]Not Implemented error

LMSSetValue Error: cmi.interactions.NaN.latency to [00:00:00] Not implemented error

These errors show the Lectora course is trying to send more interaction data to the LMS.  The LMS is creating the error message because the LMS does not support detailed interaction information like this. 

Solution: To stop these errors, when publishing, in the SCORM options tab, in the LMS Information section, uncheck the checkbox next to "The published course will report Test/Survey Question Interaction to the LMS. Now the course will not send this information to the LMS.

LMSSetValue Error: Data Model Element Type Mismatch

The course is setting variable CMI_Completion_Status to a value that the LMS doesn’t accept. For example, “completed” with a D at the end and a lower case C is the most common setting for most LMS. If you set this variable to “complete” without the D, this message will show on most LMS.  Some LMS need other versions including “Completed” with a capital C, and other values for not completed like “incomplete”, “not attempted”, or “unknown”.  The Lectora variable CMI_Completion_Status sets the SCORM 2004 LMS variable cmi.compeltion_status.

Solution: In SCORM 2004 courses, set the CMI_Completion_Status to values that your LMS supports.

LMSSetValue Error: cmi.core.score.raw to [VAR]Incorrect Data Type

This variable is being set because the course author manually set the Lectora variable AICC_Score.  In this case, it was a typo and they were setting this numeric score to the string VAR.  Most likely they wanted to use the VAR() Lectora command with a variable.  

Solution: If you have an automatically scored test, Lectora will set this variable to the aggregated score when the user completes the course. Setting it manually is not needed.  If you don’t have an automatically scored test, then make sure this value is a number.