SAP Knowledge Base Article - Public

2333808 - LMS Content Structure Knowledge Support and Tips


Click to go back to the main page



These KBA it is to learn how the LMS content Structure in LMS to your advantage. This guide highlights the mains structure and settings of Online Content within LMS. It shows the relations between entities and how they are maintained in the database. Online Content Timeout setting is also explained.

1. Item Online Content 

1.1. Content Package 

1.2. Content Object 

1.3. Exam Object 

1.4. Quiz 

1.5. Questionnaire Survey 

2. Item Settings

3. Timeout Settings

3.1. Flag contentStructurePageKeepAliveinterval 

3.2. Flag contentStructurePageExpireDuration 

4. Database Tables and queries

5. Common Troubleshooting


1. Item Online Content

Online content can contain different entities:


•Add Folder
•Add Content Object
•Add Exam
•Add Content Package
•Add Quiz
•Add Survey
 ***Important Note: If an item with online content has been assgined to users, and the content objects need to be updated or the online content section needs to be updated ( by adding a new content object, attempting to replace/edit an already added content object is not supported), it is recommended to revise the item or create new item prior to adding or updating the content so that the ingerity of the prior content can be retained. Failure to do this can result in un-recoverable issue with Learning history and Data reports***

1.1. Item Online Content – Content Package

Content Package:
Content Packages – A package is a collection of Content Objects.

You can attach a content package or content object(s) to items.

Additional info:

->Scorm2004 content objects must always be part of a package, it is due to Navigation and Sequencing rules that are applied between Scorm2004 object.

1.2. Item Online Content – Content Object

Content Object:
Content Objects – Entity that contains information about the online course. Filename (URL), content type, launch parameters, etc.


Content->Content Object

It can be added to the item directly or part of Content package:

->You can create and maintain content object information, including the content objects' title and description, identity and location of the associated content application, content player to be used for this application, the content object's associated objectives, and AICC Support.
->The record you create does not contain the content itself. It is a record that points to the content and describes it so that the system can track it and recognize its existence. The object itself is managed on a content server.
->If the Scorm content is stored on a different domain than LMS (* , Cross Domain solution will need to be implemented. This Cross-Domain tab needs to be filled if the Proxlet solution is implemented.

1.3. Item Online Content – Exam Object

Exam Object:
Exam Object is hosted by LMS, Questions are created on LMS





Each question is built with PQE (Plateau Question Editor)



Exam on User Side:



1.4. Item Online Content – Quiz


A quiz is a set of questions that users must answer correctly to receive a passing grade. You build quizzes in  Content  Quizzes . You assign quizzes to users through learning items in Learning  Items , usually as a part of a set of online learning content.

Each quiz is composed of questions and rules:

·Question: a test of users' knowledge. Each question in a quiz should be written to test a single fact.
·Rule: a rule determines how users are allowed to interact with the quiz. For example, can they stop the quiz and resume it later or are they forced to complete the quiz in one session.

Admin UI:


User UI:



1.5. Item Online Content – Questionnaire Survey

Questionnaire Survey :
Questionnaire Survey allows you to measure and evaluate user satisfaction and application of learning after users complete assigned items. You can create two types of surveys: item evaluations and follow-up evaluations.
In Learning->Evaluation Survey

Admin UI:


User UI:


Associate the Survey with an Item

This setting is in Item record->Evaluations




2. Item Settings

The Completion logic is defined at the Item level:

Note: Item Completion = Learning Event = Item moving to the Learning History

Note: Content Object Completion != Item Completion


On the content object level:
•Complete upon launch – just like it sounds.  This will give completion to the content object right when the object is launched. It is the only way to make a static doc (Type Browser) complete (Another way is to use AICC Wrapper, content becomes then dynamic, AICC type).
•Record Learning even when content Passed – This will give Item level completion when the object sends Complete or Passed lesson_status regardless of other objects.
•Record Learning event when content Failed – This will give item level Failure when the object sends Failed lesson_status regardless of other objects.
•You can add folders and enforce order for each folder meaning that the user must get current content object completion before they can launch the next content object.

On the Online Settings area:


•Content is Available for launch – If this is unchecked users will not be able to launch the course from the Learning Plan.
•Record Learning Event when all Content is Complete.  - Once a user gets content object level completion on all objects they will also get item level completion.
•Completion/Failure Status – The status that will show in the Learning History.
•Failure Action – What will occur when the user fails.
•Lock item after failure – The item will not be able to be launched without and admin modifying their object details.
•Remove item from the Learning Plan
•Times user can fail before action – The number of Failed Learning Events that can occur before the action takes place.
•If no action is chosen, then the item will be reassigned to the user (clean object details).
•Days from Launch to Expiration – The number of days before the Reset Online Item APM runs and clears the user’s object details.

AICC Max-Normal – The Max Normal is the maximum number of assignable units (content objects) that may be taken for credit simultaneously. That is, this value indicates how many content objects in an item (component) are allowed to  be incomplete at any given time. When the number of incomplete content objects exceeds the Max Normal value, subsequent launches of AICC content will be with credit="no credit" (AICC Lesson_Status and Score values cannot be updated).


->For example, if an item has 5 content objects and the max normal value for the item is set to 3, a student can access up to 3 content objects without completion. If they access and do not complete a fourth content object, any AICC content object they access afterwards will be launched with Credit="No Credit", and the Lesson_Status and Score values will be locked.
->It is important to note the completion value used for the Max Normal calculation is SuccessFactors' completion status, not AICC's. As a result, the Max Normal calculation is based on all content objects in an item whether they are AICC content objects or not (this also includes exam objects). However, only AICC (and SCORM) content objects are affected if the Max Normal value is exceeded.
->We recommend that this setting is always set to “99”.  If left blank or 0, it defaults to “1”.
->With Score and Scorm object:

If a Mastery score is set, the scorm/aicc course needs to send Score>80 AND lesson_status=completed/passed , the score alone will not trigger the Content Object Completion.

->Scorm/AICC object with ‘Record learning event when content passed’

In Scorm/AICC standard, lesson_status can have Completed or Passed.

‘Record learning event when content passed’ is triggered when lesson_status has value completed or passed. (it does not need to be necessary Passed)


3. Timeout Settings

When taking an online course, the course launches in a new window leaving the content structure page.  This content structure page has a yellow box explaining to users that they cannot navigate from the page in order to track progress.  User’s must have a valid session with the LMS in order for Content Communication to work.

As long has the content structure page is up it will ping the server at an interval defined in LMS_ADMIN -> contentStructurePageKeepAliveInterval.  This interval is typically 5 minutes (contentStructurePageKeepAliveInterval=300).

Each ping will extend the user’s session so they can take courses longer than 30 minutes.  Each ping, reload the User Session for an additional 30min. If integrated, this will also keep the Bizx session active.

->You can see this ping in fiddler via the request: https://<LMS-Domain>/learning/user/onlineaccess/

->This setting will never work if it is set above the httpSessionTimeout setting (System Configuration -> AUTHENTICATION).  Many customers are doing this in hopes it will fix their completion issues.(By Default httpSessionTimeout=1800)

If the user navigates away from the content structure page (yellow box) then the keep-alive will no longer function and the SCORM API will not be available to courses.

System Configuration->LMS_ADMIN





3.1. Timeout Settings - Flag contentStructurePageKeepAliveinterval

KeepAlive Ping is visible in network traces 'learning/onlineaccess/checkStudentStatus’, its occurrence is defined by flag contentStructurePageKeepAliveinterval.



3.2. Timeout Settings - Flag contentStructurePageExpireDuration

When the item has several Objects, when click Start/Continue from Learning plan Structure page showing Objects Structure is displayed.


This Initial Structure page (First page with No yellow rectangle) does not implement the keep alive ping, so the user session will not be renewed every 5 minutes (assuming contentStructurePageKeepAliveinterval=300 ) thus the user session will be lost in the next 30 minutes.



*****Note: This behavior will be fixed in 1711.

 A mechanism it is thus needed to keep the user session alive permanently, it is the role of contentStructurePageExpireDuration which forces the system to switch on the Launch Structure page (containing the yellow rectangle). Once the launch structure Page is displayed, the KeepAlive ping is then applied.





4. Database and Queries


Item-Content Object relation
Here are the main Tables defining online content structures :
PA_CPNT/PH_CPNT – Item entity
Query example : Get Item History
SELECT * from my_schema.PH_CPNT where cpnt_id='my_cpnt_id' order by LST_UPD_TSTMP desc;
PA_CBT_CPNT/PH_CBT_CPNT  - Item Online settings tab
PA_CBT_CPNT_MOD – Item Online Settings tab extended (like the settings button etc)
-> Column PRIMARY_PARAM is the Filename URL.
-> LAUNCH_TYPE from 0 to 6.(0->Content Player, 1->Document Type,2->AICC,3->Browser,4->Scorm1.2, 5->Scorm 2004 2ndEd, 6->Scorm 2004 4th Ed
Query example: Get content object history of a specific Item:
SELECT ap.* from my_schema.PA_CBT_CPNT_MOD md, my_schema.PH_CBT_APPLICATION ap where md.cpnt_id='my_cpnt_id' and  md.app_id=ap.app_id order by ap.LAST_UPD_TSTMP desc;
PA_CPNT_SURVEY – Survey associated to the item

Content-User relations
Online content tables associated with Student
PA_STUD_CPNT -> free float item assigned to user
PA_STUD_QUAL_CPNT -> curricula’s item assigned to user
PA_CBT_STUD_CPNT  - user online assignments, its info can be found in Object Details
PA_CBT_STUD_CPNT_MOD – user online assignment data modifications (course communications), its info can be found in Object Details






5. Common Troubleshooting


Track the history of online content
The best troubleshooting is to retrieve the history of entities. For example a user launches a content that have a wrong launch path, Check the history of this Object launch path, what was this value when the user got the item assigned:
SELECT ap.* from my_schema.PA_CBT_CPNT_MOD md, my_schema.PH_CBT_APPLICATION ap where md.cpnt_id='my_cpnt_id' and  md.app_id=ap.app_id order by ap.LAST_UPD_TSTMP desc;

Track History example : User cannot review the content
‘Allow user to review Content’ in Item Settings will be inherited  at assignment time. If an admin change this settings in the Item record->Online Content, the change will not be applied to student learning plan.
In the DB, check history of PH_CBT_CPNT column REVIEWABLE and compare with the assignment timestamp of the item to user learning plan (table PA_STUD_CPNT if free-float, PA_STUD_QUAL_CPNT if part of curricula)

Java Error or Null pointer when launching a course
It is important to always reassigned items to user when a change is made in the Item Online content. The item must be reassigned from the admin side through the reassignment wizard when the Online Settings are modified.  Note that this process does not reassign the item in a tradition way as assignment or due dates are not modified.  This resets the Object Details for the users.  On the database level only pa_cbt_stud_* tables are modified
KBA: 2315376 - Reassigning an Online Item with Reassignment Assistant



Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.


SAP SuccessFactors Learning


LMS Content, Content Structure , KBA , lms content structure , LOD-SF-LMS-CNT , Content , LOD-SF-LMS , Learning Management System , How To


SAP SuccessFactors Learning all versions