WLF_LRNR_COMPLETION_SUMMARY_V
Details
-
Schema: FUSION
-
Object owner: WLF
-
Object type: VIEW
Columns
Name |
---|
PARENT_LEARNING_ITEM_ID PARENT_LEARNING_ITEM_TYPE LEARNER_ID ASSIGNMENT_RECORD_ID PASSING_SCORE EXPECTED_EFFORT EFFORT_UNITS EFFORT_UNITS_MEANING COMPLETION_REQUIREMENT COMPLETION_REQUIREMENT_UNITS CMPLTN_REQRMNT_UNITS_MEANING ACTUAL_SCORE ACTUAL_EFFORT COMPLETION_PROGRESS STATUS VIDEO_DURATION_UOM VIDEO_DURATION |
Query
SQL_Statement |
---|
SELECT /*WLF_LRNR_COMPLETION_SUMMARY_V*/ PARENT_LEARNING_ITEM_ID, PARENT_LEARNING_ITEM_TYPE, LEARNER_ID, ASSIGNMENT_RECORD_ID, PASSING_SCORE, EXPECTED_EFFORT, EFFORT_UNITS, EFFORT_UNITS_MEANING, COMPLETION_REQUIREMENT, COMPLETION_REQUIREMENT_UNITS, CMPLTN_REQRMNT_UNITS_MEANING, ACTUAL_SCORE, ACTUAL_EFFORT, COMPLETION_PROGRESS, STATUS, VIDEO_DURATION_UOM, VIDEO_DURATION FROM (WITH PRIMARY_OFFERING_ASG AS( SELECT AR_RELATIONS.RELATED_OBJECT_ID, SUM(CONTENT.MASTERY_SCORE) AS PASSING_SCORE, SUM(CASE WHEN CONTENT.MASTERY_SCORE IS NOT NULL THEN 1 ELSE 0 END) AS TOTAL_SCORED_ACTIVITIES, SUM(ACTIVITY_LI.DURATION) AS EXPECTED_EFFORT, COUNT( CASE WHEN ACTIVITY.ACTIVITY_TYPE = 'ORA_DEF_QUESTIONNAIRE' THEN CASE WHEN ACTIVITY.RELATED_CONTENT_ID = -1 THEN DECODE((SELECT MANDATORY_FLAG FROM WLF_LI_RELATIONS_F WHERE LEARNING_ITEM_ID = -1 AND TYPE_OF_USAGE = OFFERING.DELIVERY_MODE AND TRUNC(NVL(OFFERING_ASG_RECORDS.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN EFFECTIVE_START_DATE AND EFFECTIVE_END_DATE) , 'Y', 1 , NULL) ELSE DECODE(ACTIVITY.COMPLETION_TYPE , 'ORA_REQUIRED', 1 , null) END ELSE DECODE(ACTIVITY.COMPLETION_TYPE , 'ORA_REQUIRED', 1 , null) END) AS COMPLETION_REQUIREMENT, SUM ( CASE WHEN ACTIVITY_TYPE = 'ORA_ONLINE_SP' THEN (SELECT NVL(SCORE,0) FROM (SELECT SCORE, ROW_NUMBER() OVER (PARTITION BY RELATED_OBJECT_ID ORDER BY ATTEMPT_COMPLETION_DATE DESC) AS LATEST_ATTEMPT_ROW_NUM FROM WLF_ATTEMPT_RELATIONS ATTEMPT WHERE ATTEMPT.RELATED_OBJECT_ID = ASG_TASKS.ASSIGNMENT_TASK_ID AND ATTEMPT.LEARNER_ID = ASG_TASKS.TASK_OWNER_ID) WHERE LATEST_ATTEMPT_ROW_NUM = 1 ) ELSE ASG_TASKS.SCORE END) AS ACTUAL_SCORE, SUM(ASG_TASKS.EFFORT) AS ACTUAL_EFFORT, COUNT( CASE WHEN ASG_TASKS.TASK_STATUS = 'ORA_ASSN_TASK_COMPLETED' THEN (CASE WHEN ACTIVITY.ACTIVITY_TYPE = 'ORA_DEF_QUESTIONNAIRE' THEN CASE WHEN ACTIVITY.RELATED_CONTENT_ID = -1 THEN DECODE((SELECT MANDATORY_FLAG FROM WLF_LI_RELATIONS_F WHERE LEARNING_ITEM_ID = -1 AND TYPE_OF_USAGE = OFFERING.DELIVERY_MODE AND TRUNC(NVL(OFFERING_ASG_RECORDS.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN EFFECTIVE_START_DATE AND EFFECTIVE_END_DATE) , 'Y', 1 , NULL) ELSE DECODE(ACTIVITY.COMPLETION_TYPE , 'ORA_REQUIRED', 1 , null) END ELSE 1 END) WHEN ASG_TASKS.TASK_STATUS = 'ORA_ASSN_TASK_EXEMPTED' THEN 1 ELSE NULL END) AS COMPLETION_PROGRESS FROM WLF_AR_RELATIONS_F AR_RELATIONS, WLF_ASSIGNMENT_RECORDS_F OFFERING_ASG_RECORDS, WLF_LI_CLASSES_F OFFERING, WLF_LI_ACTIVITIES_F ACTIVITY, WLF_LEARNING_ITEMS_F ACTIVITY_LI, WLF_ASSIGNMENT_TASKS_F ASG_TASKS, WLF_LI_CONTENT_F CONTENT WHERE AR_RELATIONS.RELATED_OBJECT_TYPE = 'ORA_COURSE' AND AR_RELATIONS.RELATION_TYPE = 'ORA_OFFERING_COURSE' AND AR_RELATIONS.PRIMARY_FLAG = 'Y' AND TRUNC(SYSDATE) BETWEEN AR_RELATIONS.EFFECTIVE_START_DATE AND AR_RELATIONS.EFFECTIVE_END_DATE AND OFFERING_ASG_RECORDS.ASSIGNMENT_RECORD_ID = AR_RELATIONS.ASSIGNMENT_RECORD_ID AND TRUNC(SYSDATE) BETWEEN OFFERING_ASG_RECORDS.EFFECTIVE_START_DATE AND OFFERING_ASG_RECORDS.EFFECTIVE_END_DATE AND OFFERING_ASG_RECORDS.EVENT_TYPE IN ( 'ORA_JOIN_ASSIGNMENT', 'ORA_REQUIRE_ASSIGNMENT') AND OFFERING.LEARNING_ITEM_ID = OFFERING_ASG_RECORDS.LEARNING_ITEM_ID AND TRUNC(NVL(OFFERING_ASG_RECORDS.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN OFFERING.EFFECTIVE_START_DATE AND OFFERING.EFFECTIVE_END_DATE /* AND HRCHY_OFFERING.LEARNING_ITEM_ID = TO_FILTER_OFFERING_ASG.LEARNING_ITEM_ID AND TRUNC(SYSDATE) BETWEEN HRCHY_OFFERING.EFFECTIVE_START_DATE AND HRCHY_OFFERING.EFFECTIVE_END_DATE AND HRCHY_SECTION.LEARNING_ITEM_ID = HRCHY_OFFERING.CHILD_LEARNING_ITEM_ID AND TRUNC(SYSDATE) BETWEEN HRCHY_SECTION.EFFECTIVE_START_DATE AND HRCHY_SECTION.EFFECTIVE_END_DATE */ AND ACTIVITY.PARENT_LEARNING_ITEM_ID = OFFERING.LEARNING_ITEM_ID AND TRUNC(NVL(OFFERING_ASG_RECORDS.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN ACTIVITY.EFFECTIVE_START_DATE AND ACTIVITY.EFFECTIVE_END_DATE AND ACTIVITY_LI.LEARNING_ITEM_ID = ACTIVITY.LEARNING_ITEM_ID AND TRUNC(NVL(OFFERING_ASG_RECORDS.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN ACTIVITY_LI.EFFECTIVE_START_DATE AND ACTIVITY_LI.EFFECTIVE_END_DATE AND ASG_TASKS.LEARNING_ITEM_ID(+) = ACTIVITY.LEARNING_ITEM_ID AND TRUNC(SYSDATE) BETWEEN ASG_TASKS.EFFECTIVE_START_DATE(+) AND ASG_TASKS.EFFECTIVE_END_DATE(+) AND ASG_TASKS.ASSIGNMENT_RECORD_ID(+) = OFFERING_ASG_RECORDS.ASSIGNMENT_RECORD_ID AND CONTENT.LEARNING_ITEM_ID(+) = ACTIVITY.RELATED_CONTENT_ID AND TRUNC(NVL(OFFERING_ASG_RECORDS.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN CONTENT.EFFECTIVE_START_DATE(+) AND CONTENT.EFFECTIVE_END_DATE(+) GROUP BY AR_RELATIONS.RELATED_OBJECT_ID ) SELECT ASG_RECORDS.LEARNING_ITEM_ID AS PARENT_LEARNING_ITEM_ID, COURSE_LI.LEARNING_ITEM_TYPE AS PARENT_LEARNING_ITEM_TYPE, ASG_RECORDS.LEARNER_ID, ASG_RECORDS.ASSIGNMENT_RECORD_ID, CASE WHEN PRIMARY_OFFERING_ASG.TOTAL_SCORED_ACTIVITIES = 1 THEN PRIMARY_OFFERING_ASG.PASSING_SCORE ELSE NULL END AS PASSING_SCORE, CASE WHEN (COURSE.MINIMUM_TRAINING_HOURS IS NOT NULL AND COURSE.MAXIMUM_TRAINING_HOURS IS NOT NULL) THEN DECODE(COURSE.MINIMUM_TRAINING_HOURS, COURSE.MAXIMUM_TRAINING_HOURS, TO_CHAR(COURSE.MINIMUM_TRAINING_HOURS), (COURSE.MINIMUM_TRAINING_HOURS || ' - ' || COURSE.MAXIMUM_TRAINING_HOURS)) WHEN (COURSE.MINIMUM_TRAINING_HOURS IS NOT NULL AND COURSE.MAXIMUM_TRAINING_HOURS IS NULL) THEN TO_CHAR(COURSE.MINIMUM_TRAINING_HOURS) WHEN (COURSE.MINIMUM_TRAINING_HOURS IS NULL AND COURSE.MAXIMUM_TRAINING_HOURS IS NOT NULL) THEN TO_CHAR(COURSE.MAXIMUM_TRAINING_HOURS) ELSE NULL END AS EXPECTED_EFFORT, 'ORA_DUR_HOUR' AS EFFORT_UNITS, NULL AS EFFORT_UNITS_MEANING, PRIMARY_OFFERING_ASG.COMPLETION_REQUIREMENT, CASE WHEN PRIMARY_OFFERING_ASG.RELATED_OBJECT_ID IS NOT NULL THEN 'ORA_REQUIRED_ACTIVITIES' ELSE NULL END COMPLETION_REQUIREMENT_UNITS, NULL AS CMPLTN_REQRMNT_UNITS_MEANING, PRIMARY_OFFERING_ASG.ACTUAL_SCORE, PRIMARY_OFFERING_ASG.ACTUAL_EFFORT, CASE WHEN PRIMARY_OFFERING_ASG.RELATED_OBJECT_ID IS NOT NULL THEN PRIMARY_OFFERING_ASG.COMPLETION_PROGRESS ELSE NULL END COMPLETION_PROGRESS, ASG_RECORDS.STATUS, NULL AS VIDEO_DURATION_UOM, NULL AS VIDEO_DURATION FROM WLF_LEARNING_ITEMS_F COURSE_LI, WLF_ASSIGNMENT_RECORDS_F ASG_RECORDS, WLF_LI_COURSES_F COURSE, PRIMARY_OFFERING_ASG WHERE ASG_RECORDS.LEARNING_ITEM_ID = COURSE_LI.LEARNING_ITEM_ID AND ASG_RECORDS.EVENT_TYPE IN ( 'ORA_JOIN_ASSIGNMENT', 'ORA_REQUIRE_ASSIGNMENT') AND TRUNC(SYSDATE) BETWEEN ASG_RECORDS.EFFECTIVE_START_DATE AND ASG_RECORDS.EFFECTIVE_END_DATE AND COURSE_LI.LEARNING_ITEM_TYPE = 'ORA_COURSE' AND TRUNC(NVL(ASG_RECORDS.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN COURSE_LI.EFFECTIVE_START_DATE AND COURSE_LI.EFFECTIVE_END_DATE AND COURSE.LEARNING_ITEM_ID = ASG_RECORDS.LEARNING_ITEM_ID AND TRUNC(NVL(ASG_RECORDS.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN COURSE.EFFECTIVE_START_DATE AND COURSE.EFFECTIVE_END_DATE AND PRIMARY_OFFERING_ASG.RELATED_OBJECT_ID(+) = ASG_RECORDS.ASSIGNMENT_RECORD_ID UNION ALL SELECT * FROM (WITH SPECIALIZATION_ASG AS ( SELECT ASG_RECORDS.LEARNING_ITEM_ID, ASG_RECORDS.LEARNER_ID, ASG_RECORDS.ASSIGNMENT_RECORD_ID, ASG_RECORDS.LI_EFFECTIVE_DATE, ASG_RECORDS.STATUS, ASG_RECORDS.COMPLETION_DATE AS SPEC_COMPLETION_DATE FROM WLF_ASSIGNMENT_RECORDS_F ASG_RECORDS WHERE ASG_RECORDS.EVENT_TYPE IN ( 'ORA_JOIN_ASSIGNMENT', 'ORA_REQUIRE_ASSIGNMENT') AND TRUNC(SYSDATE) BETWEEN ASG_RECORDS.EFFECTIVE_START_DATE AND ASG_RECORDS.EFFECTIVE_END_DATE ), SECTION_COURSE_INFO AS ( SELECT SPECIALIZATION_ASG.LEARNING_ITEM_ID AS PARENT_LEARNING_ITEM_ID, SPECIALIZATION_ASG.LEARNER_ID, SPECIALIZATION_ASG.ASSIGNMENT_RECORD_ID, HRCHY_SPEC.CHILD_LEARNING_ITEM_ID AS SECTION_LEARNING_ITEM_ID, SECTION.NO_OF_MANDATORY_ITEMS, HRCHY_SECTION.CHILD_LEARNING_ITEM_ID AS COURSE_LEARNING_ITEM_ID, SPECIALIZATION_ASG.SPEC_COMPLETION_DATE FROM SPECIALIZATION_ASG, WLF_LEARNING_ITEMS_F SPEC_LI, WLF_LI_HIERARCHIES_F HRCHY_SPEC, WLF_LI_SECTIONS_F SECTION, WLF_LI_HIERARCHIES_F HRCHY_SECTION WHERE SPEC_LI.LEARNING_ITEM_TYPE = 'ORA_SPECIALIZATION' AND TRUNC(NVL(SPECIALIZATION_ASG.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN SPEC_LI.EFFECTIVE_START_DATE AND SPEC_LI.EFFECTIVE_END_DATE AND HRCHY_SPEC.LEARNING_ITEM_ID = SPEC_LI.LEARNING_ITEM_ID AND TRUNC(NVL(SPECIALIZATION_ASG.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN HRCHY_SPEC.EFFECTIVE_START_DATE AND HRCHY_SPEC.EFFECTIVE_END_DATE AND SECTION.LEARNING_ITEM_ID = HRCHY_SPEC.CHILD_LEARNING_ITEM_ID AND TRUNC(NVL(SPECIALIZATION_ASG.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN SECTION.EFFECTIVE_START_DATE AND SECTION.EFFECTIVE_END_DATE AND HRCHY_SECTION.LEARNING_ITEM_ID = HRCHY_SPEC.CHILD_LEARNING_ITEM_ID AND TRUNC(NVL(SPECIALIZATION_ASG.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN HRCHY_SECTION.EFFECTIVE_START_DATE AND HRCHY_SECTION.EFFECTIVE_END_DATE ), COURSE_ASG_INFO AS ( SELECT COURSE_ASG_RECORDS.ASSIGNMENT_RECORD_ID AS COURSE_ASG_RECORD_ID, COURSE_ASG_RECORDS.STATUS AS COURSE_ASG_STATUS, COURSE_ASG_RECORDS.LEARNING_ITEM_ID AS COURSE_LEARNING_ITEM_ID, CASE WHEN COURSE_ASG_RECORDS.STATUS ='ORA_ASSN_REC_COMPLETE' THEN ROW_NUMBER() OVER (PARTITION BY SECTION_COURSE_INFO.ASSIGNMENT_RECORD_ID,SECTION_COURSE_INFO.SECTION_LEARNING_ITEM_ID,SECTION_COURSE_INFO.COURSE_LEARNING_ITEM_ID,COURSE_ASG_RECORDS.LEARNER_ID ORDER BY COURSE_ASG_RECORDS.ASSIGNED_ON_DATE DESC) ELSE NULL END AS COMPLETED_COURSE_ASG_FOR_SPEC, CASE WHEN COURSE_ASG_RECORDS.STATUS <> 'ORA_ASSN_REC_COMPLETE' THEN ROW_NUMBER() OVER (PARTITION BY SECTION_COURSE_INFO.ASSIGNMENT_RECORD_ID,SECTION_COURSE_INFO.SECTION_LEARNING_ITEM_ID,SECTION_COURSE_INFO.COURSE_LEARNING_ITEM_ID,COURSE_ASG_RECORDS.LEARNER_ID ORDER BY COURSE_ASG_RECORDS.ASSIGNED_ON_DATE DESC) ELSE NULL END AS INCOMPLETE_COURSE_ASG_FOR_SPEC FROM SECTION_COURSE_INFO, WLF_ASSIGNMENT_RECORDS_F COURSE_ASG_RECORDS WHERE COURSE_ASG_RECORDS.LEARNING_ITEM_ID = SECTION_COURSE_INFO.COURSE_LEARNING_ITEM_ID AND TRUNC(SYSDATE) BETWEEN COURSE_ASG_RECORDS.EFFECTIVE_START_DATE AND COURSE_ASG_RECORDS.EFFECTIVE_END_DATE AND COURSE_ASG_RECORDS.LEARNER_ID = SECTION_COURSE_INFO.LEARNER_ID AND COURSE_ASG_RECORDS.EVENT_TYPE IN ( 'ORA_JOIN_ASSIGNMENT', 'ORA_REQUIRE_ASSIGNMENT') AND TRUNC(COURSE_ASG_RECORDS.ASSIGNED_ON_DATE) <= TRUNC(NVL(SECTION_COURSE_INFO.SPEC_COMPLETION_DATE,SYSDATE)) AND TRUNC(NVL(COURSE_ASG_RECORDS.COMPLETION_DATE,SYSDATE)) <= TRUNC(NVL(SECTION_COURSE_INFO.SPEC_COMPLETION_DATE,SYSDATE)) AND TRUNC(NVL(COURSE_ASG_RECORDS.EXPIRATION_DATE,SYSDATE)) >= TRUNC(NVL(SECTION_COURSE_INFO.SPEC_COMPLETION_DATE,SYSDATE)) AND COURSE_ASG_RECORDS.EVENT_TYPE IN ('ORA_REQUIRE_ASSIGNMENT','ORA_JOIN_ASSIGNMENT') AND COURSE_ASG_RECORDS.STATUS <> 'ORA_ASSN_REC_WITHDRAWN' AND COURSE_ASG_RECORDS.STATUS <> 'ORA_ASSN_REC_REQ_REJECTED' AND COURSE_ASG_RECORDS.STATUS <> 'ORA_ASSN_REC_DELETED' AND (SECTION_COURSE_INFO.SPEC_COMPLETION_DATE IS NULL OR ( SECTION_COURSE_INFO.SPEC_COMPLETION_DATE IS NOT NULL AND COURSE_ASG_RECORDS.COMPLETION_DATE IS NOT NULL ) OR ( SECTION_COURSE_INFO.SPEC_COMPLETION_DATE IS NOT NULL AND COURSE_ASG_RECORDS.COMPLETION_DATE IS NULL AND COURSE_ASG_RECORDS.ASSIGNMENT_RECORD_ID = -1) ) ), LATEST_COURSE_ASG_INFO AS ( SELECT COURSE_ASG_INFO.COURSE_ASG_RECORD_ID, COURSE_ASG_INFO.COURSE_ASG_STATUS, COURSE_ASG_INFO.COURSE_LEARNING_ITEM_ID FROM COURSE_ASG_INFO WHERE ( (COMPLETED_COURSE_ASG_FOR_SPEC IS NOT NULL AND COMPLETED_COURSE_ASG_FOR_SPEC = 1) OR ( COMPLETED_COURSE_ASG_FOR_SPEC IS NULL AND INCOMPLETE_COURSE_ASG_FOR_SPEC IS NOT NULL AND INCOMPLETE_COURSE_ASG_FOR_SPEC=1 ) ) ), SECTION_COURSE_ASG_INFO AS ( SELECT SECTION_COURSE_INFO.PARENT_LEARNING_ITEM_ID, SECTION_COURSE_INFO.ASSIGNMENT_RECORD_ID, SECTION_COURSE_INFO.SECTION_LEARNING_ITEM_ID, SECTION_COURSE_INFO.NO_OF_MANDATORY_ITEMS, SECTION_COURSE_INFO.COURSE_LEARNING_ITEM_ID, LATEST_COURSE_ASG_INFO.COURSE_ASG_RECORD_ID, LATEST_COURSE_ASG_INFO.COURSE_ASG_STATUS FROM SECTION_COURSE_INFO, LATEST_COURSE_ASG_INFO WHERE LATEST_COURSE_ASG_INFO.COURSE_LEARNING_ITEM_ID(+) = SECTION_COURSE_INFO.COURSE_LEARNING_ITEM_ID ), SECTION_DETAILS AS ( SELECT PARENT_LEARNING_ITEM_ID, SECTION_LEARNING_ITEM_ID, COUNT(COURSE_LEARNING_ITEM_ID) TOTAL_COURSES, CASE WHEN (NO_OF_MANDATORY_ITEMS = -1) THEN COUNT(COURSE_LEARNING_ITEM_ID) ELSE NO_OF_MANDATORY_ITEMS END AS MANDATORY_COURSES, SUM(CASE WHEN COURSE_ASG_STATUS = 'ORA_ASSN_REC_COMPLETE' THEN 1 ELSE 0 END) COMPLETED_COURSES FROM SECTION_COURSE_ASG_INFO GROUP BY PARENT_LEARNING_ITEM_ID,SECTION_LEARNING_ITEM_ID,NO_OF_MANDATORY_ITEMS ) ,SECTION_COMPLETION_DETAILS AS( SELECT PARENT_LEARNING_ITEM_ID, SECTION_LEARNING_ITEM_ID, SUM(MANDATORY_COURSES) AS MANDATORY_COURSES, SUM( CASE WHEN ( COMPLETED_COURSES > MANDATORY_COURSES) THEN MANDATORY_COURSES ELSE COMPLETED_COURSES END ) AS COMPLETED_COURSES FROM SECTION_DETAILS GROUP BY PARENT_LEARNING_ITEM_ID,SECTION_LEARNING_ITEM_ID ), SPECILIZATION_PROGRESS AS( SELECT PARENT_LEARNING_ITEM_ID, SUM(MANDATORY_COURSES) MANDATORY_COURSES, SUM(COMPLETED_COURSES) COMPLETED_COURSES FROM SECTION_COMPLETION_DETAILS GROUP BY PARENT_LEARNING_ITEM_ID ) SELECT SPECIALIZATION_ASG.LEARNING_ITEM_ID AS PARENT_LEARNING_ITEM_ID, 'ORA_SPECIALIZATION' AS PARENT_LEARNING_ITEM_TYPE, SPECIALIZATION_ASG.LEARNER_ID, SPECIALIZATION_ASG.ASSIGNMENT_RECORD_ID AS ASSIGNMENT_RECORD_ID, NULL AS PASSING_SCORE, CASE WHEN (SPEC.MINIMUM_TRAINING_HOURS IS NOT NULL AND SPEC.MAXIMUM_TRAINING_HOURS IS NOT NULL) THEN DECODE(SPEC.MINIMUM_TRAINING_HOURS, SPEC.MAXIMUM_TRAINING_HOURS, TO_CHAR(SPEC.MINIMUM_TRAINING_HOURS), (SPEC.MINIMUM_TRAINING_HOURS || ' - ' || SPEC.MAXIMUM_TRAINING_HOURS)) WHEN (SPEC.MINIMUM_TRAINING_HOURS IS NOT NULL AND SPEC.MAXIMUM_TRAINING_HOURS IS NULL) THEN TO_CHAR(SPEC.MINIMUM_TRAINING_HOURS) WHEN (SPEC.MINIMUM_TRAINING_HOURS IS NULL AND SPEC.MAXIMUM_TRAINING_HOURS IS NOT NULL) THEN TO_CHAR(SPEC.MAXIMUM_TRAINING_HOURS) ELSE NULL END AS EXPECTED_EFFORT, 'ORA_DUR_HOUR' AS EFFORT_UNITS, NULL AS EFFORT_UNITS_MEANING, SPECILIZATION_PROGRESS.MANDATORY_COURSES AS COMPLETION_REQUIREMENT, 'ORA_REQUIRED_ACTIVITIES' AS COMPLETION_REQUIREMENT_UNITS, NULL AS CMPLTN_REQRMNT_UNITS_MEANING, NULL AS ACTUAL_SCORE , NULL AS ACTUAL_EFFORT, SPECILIZATION_PROGRESS.COMPLETED_COURSES AS COMPLETION_PROGRESS, SPECIALIZATION_ASG.STATUS, NULL AS VIDEO_DURATION_UOM, NULL AS VIDEO_DURATION FROM SPECILIZATION_PROGRESS, SPECIALIZATION_ASG, WLF_LI_SPECIALIZATIONS_F SPEC WHERE SPECILIZATION_PROGRESS.PARENT_LEARNING_ITEM_ID = SPECIALIZATION_ASG.LEARNING_ITEM_ID AND SPEC.LEARNING_ITEM_ID = SPECIALIZATION_ASG.LEARNING_ITEM_ID AND TRUNC(SYSDATE) BETWEEN SPEC.EFFECTIVE_START_DATE AND SPEC.EFFECTIVE_END_DATE ) UNION ALL SELECT ASG_RECORDS.LEARNING_ITEM_ID AS PARENT_LEARNING_ITEM_ID, LI.LEARNING_ITEM_TYPE AS PARENT_LEARNING_ITEM_TYPE, ASG_RECORDS.LEARNER_ID, ASG_RECORDS.ASSIGNMENT_RECORD_ID, NULL AS PASSING_SCORE, CASE WHEN LI.LEARNING_ITEM_TYPE in ('ORA_VIDEO','ORA_NON_CATALOG') THEN TO_CHAR(LI.DURATION) ELSE NULL END AS EXPECTED_EFFORT, CASE WHEN LI.LEARNING_ITEM_TYPE = 'ORA_VIDEO' THEN 'ORA_DUR_HOUR' WHEN LI.LEARNING_ITEM_TYPE = 'ORA_LEGACY' THEN ASG_RECORDS.EFFORT_UOM WHEN LI.LEARNING_ITEM_TYPE = 'ORA_NON_CATALOG' THEN LI.DURATION_UOM ELSE NULL END AS EFFORT_UNITS, NULL AS EFFORT_UNITS_MEANING, CASE WHEN LI.LEARNING_ITEM_TYPE in ('ORA_VIDEO','ORA_NON_CATALOG') THEN LI.DURATION ELSE (SELECT COUNT(CHILD_LEARNING_ITEM_ID) AS CHILD_LEARNING_ITEMS_COUNT FROM WLF_LI_HIERARCHIES_F TUTORIAL_HRCHY, WLF_LEARNING_ITEMS_F CHAPTER_LI WHERE TRUNC(NVL(ASG_RECORDS.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN TUTORIAL_HRCHY.EFFECTIVE_START_DATE AND TUTORIAL_HRCHY.EFFECTIVE_END_DATE AND TUTORIAL_HRCHY.LEARNING_ITEM_ID = ASG_RECORDS.LEARNING_ITEM_ID AND TUTORIAL_HRCHY.CHILD_LEARNING_ITEM_ID = CHAPTER_LI.LEARNING_ITEM_ID AND CHAPTER_LI.STATUS NOT LIKE '%_INACTIVE' AND TRUNC(NVL(ASG_RECORDS.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN CHAPTER_LI.EFFECTIVE_START_DATE AND CHAPTER_LI.EFFECTIVE_END_DATE GROUP BY TUTORIAL_HRCHY.LEARNING_ITEM_ID ) END AS COMPLETION_REQUIREMENT, CASE WHEN LI.LEARNING_ITEM_TYPE in ('ORA_VIDEO','ORA_NON_CATALOG') THEN 'ORA_DUR_HOUR' WHEN LI.LEARNING_ITEM_TYPE = 'ORA_TUTORIAL' THEN 'ORA_CHAPTERS' ELSE NULL END AS COMPLETION_REQUIREMENT_UNITS, NULL AS CMPLTN_REQRMNT_UNITS_MEANING, CASE WHEN LI.LEARNING_ITEM_TYPE = 'ORA_NON_CATALOG' THEN ASG_RECORDS.ACTUAL_SCORE ELSE NULL END AS ACTUAL_SCORE, CASE WHEN LI.LEARNING_ITEM_TYPE in ('ORA_LEGACY','ORA_NON_CATALOG') THEN ASG_RECORDS.TOTAL_ACTUAL_EFFORT ELSE NULL END AS ACTUAL_EFFORT, CASE WHEN LI.LEARNING_ITEM_TYPE = 'ORA_VIDEO' THEN (SELECT CASE WHEN (EVENT_ATTEMPTS.LAST_UPDATE_DATE > (SELECT EVENT_ASG.CREATION_DATE FROM WLF_EVENT_ASSIGNMENTS_F EVENT_ASG WHERE EVENT_ASG.EVENT_ASSIGNMENT_ID = ASG_RECORDS.EVENT_ASSIGNMENT_ID AND TRUNC(SYSDATE) BETWEEN EVENT_ASG.EFFECTIVE_START_DATE AND EVENT_ASG.EFFECTIVE_END_DATE ) ) THEN EVENT_ATTEMPTS.PROGRESS_MEASURE ELSE 0 END AS PROGRESS_MEASURE FROM WLF_EVENT_ATTEMPTS EVENT_ATTEMPTS WHERE EVENT_ATTEMPTS.EVENT_ID = (SELECT MAX(EVENTS.EVENT_ID) AS EVENT_ID FROM WLF_EVENTS EVENTS WHERE EVENTS.EVENT_TYPE = 'ORA_LI_ATTEMPT' AND EVENTS.CREATED_BY_ID = ASG_RECORDS.LEARNER_ID AND EVENTS.LEARNING_ITEM_ID = ASG_RECORDS.LEARNING_ITEM_ID ) ) WHEN LI.LEARNING_ITEM_TYPE = 'ORA_TUTORIAL' THEN (SELECT count(e.learning_item_id) FROM wlf_event_attempts ea, wlf_events e WHERE e.event_id = ea.event_id AND e.created_by_id = NVL(ASG_RECORDS.LEARNER_ID, HRC_SESSION_UTIL.GET_USER_PERSONID) AND ea.completion_status ='C' AND ea.completion_date IS NOT NULL AND ea.root_attempt_id = (SELECT event_attempt_id FROM wlf_events event, wlf_event_attempts attempt WHERE event.event_id = attempt.event_id AND event.event_type ='ORA_LI_ATTEMPT' AND event.learning_item_id = LI.LEARNING_ITEM_ID AND event.created_by_id = NVL(ASG_RECORDS.LEARNER_ID, HRC_SESSION_UTIL.GET_USER_PERSONID) AND NVL(attempt.completion_status, 'I') = 'I' AND attempt.completion_date IS NULL AND attempt_End_date IS NULL )) WHEN LI.LEARNING_ITEM_TYPE = 'ORA_NON_CATALOG' THEN LI.DURATION ELSE NULL END AS COMPLETION_PROGRESS, ASG_RECORDS.STATUS, CASE WHEN LI.LEARNING_ITEM_TYPE = 'ORA_VIDEO' THEN LI.DURATION_UOM ELSE NULL END AS VIDEO_DURATION_UOM, CASE WHEN LI.LEARNING_ITEM_TYPE = 'ORA_VIDEO' THEN LI.DURATION ELSE NULL END AS VIDEO_DURATION FROM WLF_LEARNING_ITEMS_F LI, WLF_ASSIGNMENT_RECORDS_F ASG_RECORDS WHERE ASG_RECORDS.LEARNING_ITEM_ID = LI.LEARNING_ITEM_ID AND ASG_RECORDS.EVENT_TYPE IN ( 'ORA_JOIN_ASSIGNMENT', 'ORA_REQUIRE_ASSIGNMENT') AND TRUNC(SYSDATE) BETWEEN ASG_RECORDS.EFFECTIVE_START_DATE AND ASG_RECORDS.EFFECTIVE_END_DATE AND ((LI.LEARNING_ITEM_TYPE IN ('ORA_TUTORIAL','ORA_VIDEO','ORA_LEGACY') OR LI.LEARNING_ITEM_TYPE = 'ORA_NON_CATALOG' AND ASG_RECORDS.STATUS = 'ORA_ASSN_REC_COMPLETE')) AND TRUNC(NVL(ASG_RECORDS.LI_EFFECTIVE_DATE,SYSDATE)) BETWEEN LI.EFFECTIVE_START_DATE AND LI.EFFECTIVE_END_DATE /*end LearnerLearningCompletionSummaryVO*/ ) CompletionSummary |