SCORM Extension Error Codes
SCORM currently defines the following eight conditions:
Data Model Element Does Not Have Children
Data Model Element Cannot Have Count
Data Model Element Collection Set Out Of Order
Data Model Collection Element Request Out Of Range
Data Model Element Not Specified
Unique Identifier Constraint Violated
Smallest Permitted Maximum (SPM) Exceeded
Data Model Element Does Not Have Version.
Click the error conditions to learn more about them.
Data Model Element Does Not Have Children - A SCO attempted to retrieve a list of supported data model elements (children) for a data model element that does not have children (refer to the SCORM RTE Data Model for information regarding the data model elements). This error condition can only happen if the conceptual communication state is "Running". If this error condition is encountered, the conceptual communication state shall remain unchanged ("Running").
Data Model Element Cannot Have Count - A SCO attempted to retrieve the number of entries (count) currently stored in a data model element that is not an array (refer to the SCORM RTE Data Model for data model elements that are arrays and array handling). This error condition can only happen if the conceptual communication state is "Running". If this error condition is encountered, the conceptual communication state shall remain unchanged ("Running").
Data Model Element Collection Set Out Of Order - Indicates that a SCO attempted to set a value in an array where the index number used (n) is not the next available position in the array. All collections (Refer to the SCORM RTE document, Section 4.1.1.3: Handling Collections) are required to be packed arrays (no skipped positions). This error condition can only happen if the conceptual communication state is "Running". If this error condition is encountered, the conceptual communication state shall remain unchanged ("Running").
Data Model Collection Element Request Out Of Range - A SCO attempted to retrieve a data model element found in a collection and the index value provided is larger than what is currently being maintained by the LMS. All collections (Refer to the SCORM RTE document, Section 4.1.1.3: Handling Collections) are required to be packed arrays (no skipped positions). This error condition can only happen if the conceptual communication state is "Running". If this error condition is encountered, the conceptual communication state shall remain unchanged ("Running").
Data Model Element Not Specified - A SCO attempted to make a GetValue() or SetValue() API method call without providing any indication of the data model element to retrieve or store. Both of the API method calls require the presence of a data model element:
- GetValue(parameter_1)
- SetValue(parameter_1, parameter_2).
This error condition can only happen if the conceptual communication state is "Running". If this error condition is encountered, the conceptual communication state shall remain unchanged ("Running").
Unique Identifier Constraint Violated - Used by an API Instance if the value passed as parameter_2 in a SetValue() request is to be used to set an identifier for which the identifier is required to be unique. This error condition can only happen if the conceptual communication state is "Running". If this error condition is encountered, the conceptual communication state shall remain unchanged ("Running").
Smallest Permitted Maximum (SPM) Exceeded - Used in two situations:
- If the value passed as parameter_2 in a SetValue() request is to be used to set a data model element that has a SPM and the length of parameter_2 exceeds the SPM for the data model element
- If the value is being placed in a collection and the collection’s SPM has been exceeded.
This error condition can only happen if the conceptual communication state is "Running". If this error condition is encountered, the conceptual communication state shall remain unchanged ("Running").
Data Model Element Does Not Have Version - A SCO attempted to retrieve the version of the data model (_version) on a data model element for which it is not permitted. The _version keyword should only be applied to the base data model identified by the SCORM RTE Data Model (cmi._version). This error condition can only happen if the conceptual communication state is "Running". If this error condition is encountered, the conceptual communication state shall remain unchanged ("Running").