Symptom
In 1611, the Learning Plan search API used to return scheduled offering ID.Since 1702, the schedule ID is not returning by the API call
Environment
Learning Management System
Successfactors Learning
Reproducing the Issue
1.Generate a token of user type
2.Call the learning plan API:
3.Sample response: in 1702 version
Response : (For Item : Vish-Course-Completion-SO-Title)
{
"@odata.context": "$metadata#UserTodoLearningItems",
"value": [
{
"sku": "SKU-165001",
"cpnt_classification": "TIME-BASED",
"isUserRequestsEnabled": true,
"title": "Vish-Course-Completion-SO-Title",
"description": "Vish-Course-Completion-SO-Desc",
"status": "Y,E,N,N,897275001,-7,-1,-1,N,N,N,N,N,Y,N,N,Y",
"userID": "PD-001",
"componentTypeID": "Vish-Course",
"componentTypeDesc": "Vish-Course",
"componentID": "Vish-Course-Completion-SO",
"componentKey": 159001,
"componentLength": 8,
"contactHours": null,
"creditHours": null,
"cpeHours": null,
"revisionDate": 1472470500000,
"assignedDate": 1456894800000,
"availableNewRevision": false,
"revisionNumber": "1",
"requiredDate": 1458100799000,
"daysRemaining": -342,
"addUser": "A",
"addUserName": "PAYEL,Dey ,, ",
"addUserTypeLabelID": "Admin",
"orderItemID": null,
"usedOrderTicketNumber": null,
"usedOrderTicketSequence": null,
"onlineLaunched": false,
"origin": "Directly Assigned",
"cdpGoalID": null,
"seqNumber": 209001,
"scheduleID": null,
"qualificationID": null,
"rootQualificationID": null,
"qualTitle": null,
"isRequired": true,
"orderItemStatusTypeID": null,
"showInCatalog": true,
"requirementTypeDescription": "REQ",
"requirementTypeId": "REQ",
"hasOnlinePart": false,
"itemDetailsDeeplink": null,
"courseDeeplink": null,
"criteria": null,
"linkedSchedules": [],
"programType": null,
"programEndDate": null,
"programStartDate": null,
"programDuration": null,
"programDurationType": null,
"programDeeplink": null,
"vlsLink": null,
"studentSurveyID": null,
"itemSurveyID": null,
"surveyID": null,
"surveyLevel": null,
"surveydesc": null,
"surveyStatusID": null,
"surveyDeepLink": null
}
,
{
"sku": "SKU-897213001",
"cpnt_classification": "BLENDED",
"isUserRequestsEnabled": true,
"title": "CM_TEST",
"description": "CM_TEST",
"status": "Y,N,N,N,-1,-1,-1,-1,N,N,N,N,N,Y,N,N,Y",
"userID": "PD-001",
"componentTypeID": "Ashok_Honeywell_ILT ",
"componentTypeDesc": "Ashok_Honeywell_ILT ",
"componentID": "897CM1",
"componentKey": 897202001,
"componentLength": null,
"contactHours": null,
"creditHours": null,
"cpeHours": null,
"revisionDate": 1474309085000,
"assignedDate": 1476849600000,
"availableNewRevision": false,
"revisionNumber": "1",
"requiredDate": 1478667599000,
"daysRemaining": -104,
"addUser": "A",
"addUserName": "System AP,, ",
"addUserTypeLabelID": "Admin",
"orderItemID": null,
"usedOrderTicketNumber": null,
"usedOrderTicketSequence": null,
"onlineLaunched": false,
"origin": "System AP",
"cdpGoalID": null,
"seqNumber": 897305002,
"scheduleID": null,
"qualificationID": null,
"rootQualificationID": null,
"qualTitle": null,
"isRequired": true,
"orderItemStatusTypeID": null,
"showInCatalog": true,
"requirementTypeDescription": "REQ",
"requirementTypeId": "REQ",
"hasOnlinePart": true,
"itemDetailsDeeplink": null,
"courseDeeplink": null,
"criteria": null,
"linkedSchedules": [],
"programType": null,
"programEndDate": null,
"programStartDate": null,
"programDuration": null,
"programDurationType": null,
"programDeeplink": null,
"vlsLink": null,
"studentSurveyID": null,
"itemSurveyID": null,
"surveyID": null,
"surveyLevel": null,
"surveydesc": null,
"surveyStatusID": null,
"surveyDeepLink": null
}
,
{
"sku": "SKU-897218001",
"cpnt_classification": "BLENDED",
"isUserRequestsEnabled": true,
"title": "Testing SSB_Item for fac and loc",
"description": "Testing SSB_Item for fac and loc",
"status": "Y,N,N,N,-1,-1,-1,-1,N,N,N,N,N,Y,N,N,Y",
"userID": "PD-001",
"componentTypeID": "BLENDED",
"componentTypeDesc": "BLENDED",
"componentID": "SSB_Item",
"componentKey": 225001,
"componentLength": 8,
"contactHours": null,
"creditHours": null,
"cpeHours": null,
"revisionDate": 1475530380000,
"assignedDate": 1475640000000,
"availableNewRevision": false,
"revisionNumber": "2",
"requiredDate": null,
"daysRemaining": null,
"addUser": "A",
"addUserName": "yparimi,Yashwanth, Parimi ,, ",
"addUserTypeLabelID": "Admin",
"orderItemID": null,
"usedOrderTicketNumber": null,
"usedOrderTicketSequence": null,
"onlineLaunched": false,
"origin": "Directly Assigned",
"cdpGoalID": null,
"seqNumber": 269422,
"scheduleID": null,
"qualificationID": null,
"rootQualificationID": null,
"qualTitle": null,
"isRequired": null,
"orderItemStatusTypeID": null,
"showInCatalog": true,
"requirementTypeDescription": null,
"requirementTypeId": null,
"hasOnlinePart": true,
"itemDetailsDeeplink": null,
"courseDeeplink": null,
"criteria": null,
"linkedSchedules": [],
"programType": null,
"programEndDate": null,
"programStartDate": null,
"programDuration": null,
"programDurationType": null,
"programDeeplink": null,
"vlsLink": null,
"studentSurveyID": null,
"itemSurveyID": null,
"surveyID": null,
"surveyLevel": null,
"surveydesc": null,
"surveyStatusID": null,
"surveyDeepLink": null
}
],
}
Resolution
When the user is assigned an Item and registers to SO (by admin or user directly), there will be two records and Learning plan search API picks up one of the records based on the required date (minimum of the all required dates corresponding to that item and SO). In this case the response with null Schedule ID corresponds to Item and this is an expected behavior .
Also if the user needs the details of enrolled scheduled offerings for a particular item, use the below mentioned API that returns the response with status and enrollment seat id .
http://<learning-server>/learning/odatav4/public/user/learningPlan/v1/LearningItemDetails('<Item-Name>')/scheduledofferings
Below are the API behavior with various scenarios tested:
1.User is registered in SO by admin, the schedule ID is returned by the API correctly.
2.User self-registers in the SO, the schedule ID is returned by the API correctly.
3.User is assigned the item by admin, then enrolled in SO by admin. The scheduleID is NOT returned by the API.
4.User self assigns item, then self registers in SO . The scheduleID is NOT returned by the API.
Keywords
ODATA,API,Learning plan search,SO,scheduleID,Offerings Schedule offering , KBA , LOD-SF-LMS-ODA , Web Services OData , Problem