WLF_COMMUNITY_ASSIGNMENTS_V
Details
-
Schema: FUSION
-
Object owner: WLF
-
Object type: VIEW
Columns
Name |
---|
EVENT_ASSIGNMENT_ID LEARNING_ITEM_ID NAME ASSIGNMENT_START_DATE ASSIGNMENT_DUE_DATE EFFECTIVE_START_DATE EFFECTIVE_END_DATE ATTRIBUTION_ID OVERDUE_COUNT COMPLETED_COUNT INCOMPLETE_COUNT WITHDRAWN_COUNT LEARNING_ITEM_TYPE THUMBNAIL_ID ALL_COMPLETED_FLAG CANCEL_FLAG STATUS DYNAMIC_ASSIGNMENT_ENABLE DYNAMIC_ASSIGNMENT_DUE_DAYS DYNAMIC_ASSIGNMENT_STOP_DATE CREATION_DATE |
Query
SQL_Statement |
---|
WITH FutureAssignments AS ( SELECT Events.LEARNING_ITEM_ID, Events.EVENT_ID, Events.EVENT_TYPE, Events.ATTRIBUTION_ID, Events.ATTRIBUTION_TYPE, Translations.NAME, Items.LEARNING_ITEM_TYPE, ( CASE WHEN Items.LEARNING_ITEM_TYPE = 'ORA_CLASS' THEN (SELECT learningitems.thumbnail_id FROM wlf_learning_items_f learningitems, wlf_li_hierarchies_f hiers WHERE learningitems.learning_item_id= hiers.learning_item_id AND learningitems.learning_item_type = 'ORA_COURSE' AND learningitems.STATUS = 'ORA_COU_ACTIVE' AND hiers.child_learning_item_id = Items.learning_item_id AND trunc(SYSDATE) BETWEEN learningitems.EFFECTIVE_START_DATE AND learningitems.EFFECTIVE_END_DATE AND trunc(SYSDATE) BETWEEN hiers.EFFECTIVE_START_DATE AND hiers.EFFECTIVE_END_DATE ) ELSE Items.thumbnail_id END) THUMBNAIL_ID, Assignments.EVENT_ASSIGNMENT_ID, Assignments.ASSIGNMENT_START_DATE, Assignments.EFFECTIVE_START_DATE, Assignments.EFFECTIVE_END_DATE, Assignments.STATUS, Assignments.CREATION_DATE, CASE WHEN Records.CALCULATED_DUE_DATE IS NULL THEN AssignRules.INITIAL_DUE_DATE ELSE Records.CALCULATED_DUE_DATE END AS ASSIGNMENT_DUE_DATE, AssignRules.INITIAL_DUE_DATE_OPTION, AssignRules.EXPIRY_OPTION, AssignRules.DYN_ENABLED DYNAMIC_ASSIGNMENT_ENABLE, AssignRules.DYN_DUE_DATE_OPTION, AssignRules.DYN_DUE_DATE, AssignRules.DYN_DUE_IN_DAYS DYNAMIC_ASSIGNMENT_DUE_DAYS, AssignRules.DYN_STOP_NEW_DATE DYNAMIC_ASSIGNMENT_STOP_DATE FROM WLF_EVENTS Events, WLF_EVENT_ASSIGNMENTS_F Assignments,WLF_ASSIGNMENT_RECORDS_F Records, WLF_ASSIGNMENT_RULES AssignRules, WLF_LEARNING_ITEMS_F Items, WLF_LEARNING_ITEMS_F_TL Translations WHERE Events.EVENT_ID = Assignments.EVENT_ID AND Events.LEARNING_ITEM_ID = Items.LEARNING_ITEM_ID AND Items.LEARNING_ITEM_ID = Translations.LEARNING_ITEM_ID AND Translations.LANGUAGE = SYS_CONTEXT('USERENV', 'LANG') AND (TRUNC(sysdate) BETWEEN Items.EFFECTIVE_START_DATE AND Items.EFFECTIVE_END_DATE) AND (TRUNC(sysdate) BETWEEN Translations.EFFECTIVE_START_DATE AND Translations.EFFECTIVE_END_DATE) AND Assignments.ASSIGNMENT_RULE_ID = AssignRules.ASSIGNMENT_RULE_ID(+) AND (Assignments.EVENT_ASSIGNMENT_ID = Records.EVENT_ASSIGNMENT_ID (+)) AND Events.EVENT_TYPE = 'ORA_REQUIRE_ASSIGNMENT' AND Events.ATTRIBUTION_TYPE = 'ORA_COMMUNITY' AND TRUNC(sysdate) < Assignments.ASSIGNMENT_START_DATE AND (TRUNC(sysdate) between Assignments.EFFECTIVE_START_DATE AND Assignments.EFFECTIVE_END_DATE) AND (TRUNC(sysdate) BETWEEN Records.EFFECTIVE_START_DATE(+) AND Records.EFFECTIVE_END_DATE(+)) ) , CurrentAssignments AS( SELECT Events.LEARNING_ITEM_ID, Events.EVENT_ID, Events.EVENT_TYPE, Events.ATTRIBUTION_ID, Events.ATTRIBUTION_TYPE, Translations.NAME, Items.LEARNING_ITEM_TYPE, ( CASE WHEN Items.LEARNING_ITEM_TYPE = 'ORA_CLASS' THEN (SELECT learningitems.thumbnail_id FROM wlf_learning_items_f learningitems, wlf_li_hierarchies_f hiers WHERE learningitems.learning_item_id= hiers.learning_item_id AND learningitems.learning_item_type = 'ORA_COURSE' AND learningitems.STATUS = 'ORA_COU_ACTIVE' AND hiers.child_learning_item_id = Items.learning_item_id AND trunc(SYSDATE) BETWEEN learningitems.EFFECTIVE_START_DATE AND learningitems.EFFECTIVE_END_DATE AND trunc(SYSDATE) BETWEEN hiers.EFFECTIVE_START_DATE AND hiers.EFFECTIVE_END_DATE ) ELSE Items.thumbnail_id END) THUMBNAIL_ID, Assignments.EVENT_ASSIGNMENT_ID, CASE WHEN Assignments.ASSIGNMENT_START_DATE IS NULL THEN Assignments.EFFECTIVE_START_DATE ELSE Assignments.ASSIGNMENT_START_DATE END AS ASSIGNMENT_START_DATE, Assignments.EFFECTIVE_START_DATE, Assignments.EFFECTIVE_END_DATE, Assignments.STATUS, Assignments.CREATION_DATE, CASE WHEN Records.CALCULATED_DUE_DATE IS NULL THEN AssignRules.INITIAL_DUE_DATE ELSE Records.CALCULATED_DUE_DATE END AS ASSIGNMENT_DUE_DATE, AssignRules.INITIAL_DUE_DATE_OPTION, AssignRules.EXPIRY_OPTION, AssignRules.DYN_ENABLED DYNAMIC_ASSIGNMENT_ENABLE, AssignRules.DYN_DUE_DATE_OPTION, AssignRules.DYN_DUE_DATE, AssignRules.DYN_DUE_IN_DAYS DYNAMIC_ASSIGNMENT_DUE_DAYS, AssignRules.DYN_STOP_NEW_DATE DYNAMIC_ASSIGNMENT_STOP_DATE, Records.LEARNER_ID, Records.ASSIGNMENT_RECORD_ID, CASE WHEN Records.STATUS IS NULL THEN NULL WHEN Records.STATUS = 'ORA_ASSN_REC_DELETED' THEN 'DELETED' WHEN Records.STATUS = 'ORA_ASSN_REC_WITHDRAWN' THEN 'WITHDRAWN' WHEN Records.STATUS = 'ORA_ASSN_REC_COMPLETE' THEN 'COMPLETED' WHEN ((Records.CALCULATED_DUE_DATE IS NULL AND (TRUNC(sysdate) > AssignRules.INITIAL_DUE_DATE)) OR TRUNC(sysdate) > Records.CALCULATED_DUE_DATE ) THEN 'OVERDUE' ELSE 'INCOMPLETE' END AS ASSN_STATUS, CASE WHEN AssignRules.DYN_ENABLED = 'Y' THEN AssignRules.DYN_STOP_NEW_DATE + AssignRules.DYN_DUE_IN_DAYS ELSE Records.CALCULATED_DUE_DATE END AS EVENT_ASSIGNMENT_DUE_DATE, CASE WHEN Records.ASSIGNMENT_RECORD_ID = (MAX(Records.ASSIGNMENT_RECORD_ID) OVER( PARTITION BY (Assignments.EVENT_ASSIGNMENT_ID))) THEN 'Y' WHEN Records.ASSIGNMENT_RECORD_ID IS NULL THEN 'Y' ELSE 'N' END AS LATEST_RECORD_FLAG FROM WLF_EVENTS Events, WLF_EVENT_ASSIGNMENTS_F Assignments, WLF_ASSIGNMENT_RECORDS_F Records, WLF_ASSIGNMENT_RULES AssignRules, WLF_LEARNING_ITEMS_F Items, WLF_LEARNING_ITEMS_F_TL Translations, WLF_ASSIGNMENT_RULES EventAssignRules WHERE Events.EVENT_ID = Assignments.EVENT_ID AND Events.LEARNING_ITEM_ID = Items.LEARNING_ITEM_ID AND Items.LEARNING_ITEM_ID = Translations.LEARNING_ITEM_ID AND Translations.LANGUAGE = SYS_CONTEXT('USERENV', 'LANG') AND (TRUNC(sysdate) BETWEEN Items.EFFECTIVE_START_DATE AND Items.EFFECTIVE_END_DATE) AND (TRUNC(sysdate) BETWEEN Translations.EFFECTIVE_START_DATE AND Translations.EFFECTIVE_END_DATE) AND (Assignments.ASSIGNMENT_RULE_ID = EventAssignRules.ASSIGNMENT_RULE_ID(+)) AND (Assignments.EVENT_ASSIGNMENT_ID = Records.EVENT_ASSIGNMENT_ID (+)) AND (Assignments.ASSIGNMENT_RULE_ID = AssignRules.ASSIGNMENT_RULE_ID (+)) AND Events.EVENT_TYPE = 'ORA_REQUIRE_ASSIGNMENT' AND Events.ATTRIBUTION_TYPE = 'ORA_COMMUNITY' AND (TRUNC(sysdate) BETWEEN Records.EFFECTIVE_START_DATE(+) AND Records.EFFECTIVE_END_DATE(+)) AND (ASSIGNMENT_START_DATE IS NULL OR (TRUNC(sysdate) >= Assignments.ASSIGNMENT_START_DATE)) AND (TRUNC(sysdate) between Assignments.EFFECTIVE_START_DATE AND Assignments.EFFECTIVE_END_DATE) ) SELECT DISTINCT (EVENT_ASSIGNMENT_ID), LEARNING_ITEM_ID, Name, ASSIGNMENT_START_DATE, CASE WHEN ASSIGNMENT_DUE_DATE IS NULL THEN EVENT_ASSIGNMENT_DUE_DATE ELSE ASSIGNMENT_DUE_DATE END AS ASSIGNMENT_DUE_DATE, EFFECTIVE_START_DATE, EFFECTIVE_END_DATE, ATTRIBUTION_ID, (SELECT COUNT(DISTINCT CA1.LEARNER_ID) FROM CurrentAssignments CA1 WHERE ASSN_STATUS = 'OVERDUE' AND CA1.EVENT_ASSIGNMENT_ID = CA.EVENT_ASSIGNMENT_ID) AS OVERDUE_COUNT, (SELECT COUNT(DISTINCT CA1.LEARNER_ID) FROM CurrentAssignments CA1 WHERE ASSN_STATUS = 'COMPLETED' AND CA1.EVENT_ASSIGNMENT_ID = CA.EVENT_ASSIGNMENT_ID) AS COMPLETED_COUNT, (SELECT COUNT(DISTINCT CA1.LEARNER_ID) FROM CurrentAssignments CA1 WHERE ASSN_STATUS = 'INCOMPLETE' AND CA1.EVENT_ASSIGNMENT_ID = CA.EVENT_ASSIGNMENT_ID) AS INCOMPLETE_COUNT, (SELECT COUNT(DISTINCT CA1.LEARNER_ID) FROM CurrentAssignments CA1 WHERE ASSN_STATUS = 'WITHDRAWN' AND CA1.EVENT_ASSIGNMENT_ID = CA.EVENT_ASSIGNMENT_ID) AS WITHDRAWN_COUNT, LEARNING_ITEM_TYPE, THUMBNAIL_ID, CASE WHEN ((SELECT COUNT(DISTINCT CA1.LEARNER_ID) FROM CurrentAssignments CA1 WHERE ASSN_STATUS = 'OVERDUE' AND CA1.EVENT_ASSIGNMENT_ID = CA.EVENT_ASSIGNMENT_ID) > 0) THEN 'N' WHEN ((SELECT COUNT(DISTINCT CA1.LEARNER_ID) FROM CurrentAssignments CA1 WHERE ASSN_STATUS = 'INCOMPLETE' AND CA1.EVENT_ASSIGNMENT_ID = CA.EVENT_ASSIGNMENT_ID) > 0) THEN 'N' WHEN ((SELECT COUNT(DISTINCT CA1.LEARNER_ID) FROM CurrentAssignments CA1 WHERE ASSN_STATUS = 'COMPLETED' AND CA1.EVENT_ASSIGNMENT_ID = CA.EVENT_ASSIGNMENT_ID) = 0) THEN 'N' WHEN (DYNAMIC_ASSIGNMENT_ENABLE = 'Y') AND (DYNAMIC_ASSIGNMENT_STOP_DATE IS NULL OR DYNAMIC_ASSIGNMENT_STOP_DATE + DYNAMIC_ASSIGNMENT_DUE_DAYS >= trunc(SYSDATE)) THEN 'N' ELSE 'Y' END AS ALL_COMPLETED_FLAG, CASE WHEN CA.EFFECTIVE_END_DATE < trunc(SYSDATE) AND CA.STATUS = 'ORA_ASSIGN_INACTIVE' THEN 'Y' ELSE 'N' END AS CANCEL_FLAG, STATUS, DYNAMIC_ASSIGNMENT_ENABLE, DYNAMIC_ASSIGNMENT_DUE_DAYS, DYNAMIC_ASSIGNMENT_STOP_DATE, CREATION_DATE FROM CurrentAssignments CA WHERE LATEST_RECORD_FLAG = 'Y' UNION SELECT DISTINCT (EVENT_ASSIGNMENT_ID), LEARNING_ITEM_ID, Name, ASSIGNMENT_START_DATE, ASSIGNMENT_DUE_DATE, EFFECTIVE_START_DATE, EFFECTIVE_END_DATE, ATTRIBUTION_ID, null,null,null, null, LEARNING_ITEM_TYPE, THUMBNAIL_ID, null, 'N' AS CANCEL_FLAG, STATUS, DYNAMIC_ASSIGNMENT_ENABLE, DYNAMIC_ASSIGNMENT_DUE_DAYS, DYNAMIC_ASSIGNMENT_STOP_DATE, CREATION_DATE FROM FutureAssignments FA ORDER BY LEARNING_ITEM_ID, ASSIGNMENT_START_DATE |