Behind the Blackboard! Disabled and Unavailable Student Enrollments in Merged Courses can no Longer be Enabled - Behind the Blackboard Skip Navigation
Download PDF  Icon Download PDF    Print article

Disabled and Unavailable Student Enrollments in Merged Courses can no Longer be Enabled

Date Published: Apr 06,2017


Category:Planned_First_Fix_Release:Learn_9_1_Q2_2017_Release,SaaS_Fixed; Product:Users_and_Role_Management_Learn,Data_Management_and_Integrations_Learn; Version:Learn_9_1_Q4_2016_3100_0_0_rel_107_401e,SaaS
Article No.: 000043346
Product:
Blackboard Learn
Release:
9.1;SaaS
Service Pack(s):
Learn 9.1 Q4 2016 (3100.0.0-rel.107+401e, SaaS
Issue Description:
Disabled and Unavailable Student Enrollments in Merged Courses can no longer be enabled after Upgrade from 3100 to 3100.6.
Steps to Repeat:
  1. Log in as Administrator
  2. Create Parent Course and Child Course Via SIS
  3. Enroll a Student into the child Course, with an available_ind of 'N' and row_status of 'disabled'
  4. Via SIS, attempt to update available_ind to 'Y' and row_status to 'enabled'
Expected Behavior:
Enrolled User is enabled.

Observed Behavior:
User is still disabled.

Symptoms:

Jan 19, 2017 07:56:23 PM - Membership [create/update, student]
An error occurred while processing MembershipPersistOperation
blackboard.persist.KeyNotFoundException: The specified object was not found.
at blackboard.persist.dao.impl.DAOSupport.checkForMissingKey(DAOSupport.java:341)
at blackboard.persist.dao.impl.DAOSupport.load(DAOSupport.java:275)
at blackboard.persist.course.impl.CourseMembershipDAO.loadByCourseUserStatusAvailable(CourseMembershipDAO.java:1301)
at blackboard.persist.course.impl.CourseMembershipDbLoaderImpl.loadByCourseAndUserId(CourseMembershipDbLoaderImpl.java:580)
at blackboard.persist.course.impl.CourseMembershipDbLoaderImpl.loadByCourseAndUserId(CourseMembershipDbLoaderImpl.java:549)
at blackboard.platform.dataintegration.operationdefinition.MembershipPersistOperationHandler.handleCrosslistMembership(MembershipPersistOperationHandler.java:219)
at blackboard.platform.dataintegration.operationdefinition.MembershipPersistOperationHandler.handleOperation(MembershipPersistOperationHandler.java:77)
at blackboard.platform.dataintegration.operationdefinition.MembershipPersistOperation.execute(MembershipPersistOperation.java:254)
at blackboard.platform.dataintegration.operationdefinition.BaseOperation.execute(BaseOperation.java:53)
at blackboard.platform.dataintegration.operationdefinition.impl.OperationManagerImpl.processOperation(OperationManagerImpl.java:99)
at blackboard.platform.dataintegration.operationdefinition.impl.OperationManagerImpl.executeOperation(OperationManagerImpl.java:43)
at blackboard.platform.dataintegration.operationdefinition.impl.OperationManagerImpl.executeOperation(OperationManagerImpl.java:34)
at blackboard.platform.dataintegration.mapping.impl.DataIntegrationObjectMappingManagerImpl.persistSISObject(DataIntegrationObjectMappingManagerImpl.java:237)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at blackboard.db.TransactionInterfaceFactory$TransactionHandler$1.run(TransactionInterfaceFactory.java:74)
at blackboard.db.ConnectionManager.performTransaction(ConnectionManager.java:561)
at blackboard.db.TransactionInterfaceFactory$TransactionHandler.invoke(TransactionInterfaceFactory.java:90)
at com.sun.proxy.$Proxy1338.persistSISObject(Unknown Source)
at blackboard.dataintegration.flatfile.mapping.handler.BaseDataHandler$1.run(BaseDataHandler.java:314)
at blackboard.platform.dataintegration.mapping.BatchCommitter$1$1.call(BatchCommitter.java:92)
at blackboard.platform.dataintegration.mapping.BatchCommitter$1$1.call(BatchCommitter.java:87)
at blackboard.db.DbUtil.callWithSavepointRollback(DbUtil.java:246)
at blackboard.db.DbUtil.callWithSavepointRollback(DbUtil.java:201)
at blackboard.platform.dataintegration.mapping.BatchCommitter$1.run(BatchCommitter.java:86)
at blackboard.db.ConnectionManager.performTransaction(ConnectionManager.java:587)
at blackboard.platform.dataintegration.mapping.BatchCommitter.commit(BatchCommitter.java:111)
at blackboard.dataintegration.flatfile.mapping.handler.BaseDataHandler.doAfter(BaseDataHandler.java:257)
at blackboard.dataintegration.flatfile.parser.FlatFileParser.parse(FlatFileParser.java:150)
at blackboard.dataintegration.flatfile.queue.FlatFileMessageQueueHandler.onMessage(FlatFileMessageQueueHandler.java:179)
at blackboard.platform.messagequeue.impl.activemq.ActiveMQMessageQueueConsumer$ConsumerThread.run(ActiveMQMessageQueueConsumer.java:191)


Resolution/Workaround:


Create a custom script to make the "Move Cross-listed Enrollment" Field Mapping of the Enrollments Advanced Configuration false.


Target Release:

Learn 9.1 Q2 2017 Release

SaaS - Fixed (3100.11.0)

Patch Available:

Yes

Patch Versions:

Learn 9.1 Q4 2016 (3100.0.0-rel.107+401e22b)

Patch Information:

Updates to resolve this issue are available for the following releases:
 
ReleaseCUPDATEUpdate Access
9.1 Q4 2016CU3*Access via installer in Cumulative Update 3 for Blackboard Learn, 9.1 Q4 2016 – Article #43706
*Note: Beginning with Cumulative Update 3 for Blackboard Learn 9.1, Q4 2016 release, utilizing an installer is required instead of the BbPatch Utility




The information contained in the Knowledge Base was written and/or verified by Blackboard Support. It is approved for client use. Nothing in the Knowledge Base shall be deemed to modify your license in any way to any Blackboard product. If you have comments, questions, or concerns, please send an email to kb@blackboard.com. © 2017 Blackboard Inc. All rights reserved