1212

   

  

--====================================================================================      

--Created Date  06/05/2021  Author: Jeevan S Shekhar    

--Descrition: Snapshot of Open Task on daily Basis.    

    

--Note: We have handlded to run this SP once a day,     

   --if there is any back track request we should delete the current days data and then back track    

      --Back track can be handled only current day.    

    

--=====================================================================================      

       

CREATE PROCEDURE [dbo].[CW_Open_Task_Snapshot_SP]           

            

AS                

          

--================= Delete from data older than 2 months =================                    

              

--Delete from  [ODS_CW].dbo.open_Task_snapshot               

--Where Snapshot_Date < DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) - 3, 0)             

          

--=================Check if the Load is completed for the day =================                    

                  

Declare @Confirm INT = 0                  

Set @Confirm = (                  

Select Case when Max(Snapshot_Date) = CONVERT(date, getdate()) then 0 else 1 end                  

from SYN_CW_OPEN_TASK_SNAPSHOT)                  

                  

if @Confirm=1                  

                  

          

          

--=====================================================================================                    

                  

BEGIN                    

DECLARE @RecordCount INT = 0                    

SET NOCOUNT ON;                    

BEGIN TRY                    

                  

                  

BEGIN TRAN                    

                

                  

--=================LOADING DATA INTO STAGE=================       

    

Insert into SYN_CW_OPEN_TASK_SNAPSHOT     

(    

TaskId,    

Taskname,    

Summary,    

Tasktype,    

Priority,    

Status,    

Assignee,    

Assignee_Support_Group,    

Company,    

Region,    

Site_Group,    

Site,    

Submited_Date,    

Actual_Start_Date_Time,    

Actual_End_Date_Time,    

Scheduled_Start_Date_Time,    

Scheduled_End_Date_Time,    

Operational_Categorization_Tier_1,    

Operational_Categorization_Tier_2,    

Modified_Date,    

Assignee_Support_Organization,    

Workorder_Number,    

Task_Group,    

Submitter,    

Affected_User,    

Affected_User_Email,    

Last_Modified_By,    

Business_Group,    

Reassignment_Count,    

Urgency,    

Impact,    

Detailed_Description,    

Snapshot_Date,    

Snapshot_Datetime,  

datasourceid  

)    

SELECT    

 WO_Task.Task_Number as TaskId,    

 WO_Task.TASKNAME as Taskname,    

 WOO_Transaction.Headline as Summary,    

 WO_Task.TASKTYPE as Tasktype,    

 WOO_Transaction.Priority as Priority,    

 WO_Task.STATUS as Status,    

 WOT_Assignee.FULL_NAME as Assignee,    

 WOT_Assigneegroup.SUPPORT_GROUP_NAME as Assignee_Support_Group,    

 'Cushman & Wakefield' as Company,    

 WO_Customer.REGION as Region,    

 WO_Customer.SITE_GROUP as Site_Group,    

 WO_Customer_Site.SITE as Site,    

 WO_Task.SUBMIT_DATE as Submited_Date,    

 WO_Task.ACTUAL_START_DATE as Actual_Start_Date_Time,    

 WO_Task.ACTUAL_END_DATE as Actual_End_Date_Time,    

 WO_Task.SCHEDULED_START_DATE as Scheduled_Start_Date_Time,    

 WO_Task.SCHEDULED_END_DATE as Scheduled_End_Date_Time,    

 WOO_Transaction.Categorization_Tier_1 as Operational_Categorization_Tier_1,    

 WOO_Transaction.Categorization_Tier_2 as Operational_Categorization_Tier_2,    

 WO_Task.LAST_MODIFIED_DATE as Modified_Date,    

 WOT_Assigneegroup.SUPPORT_ORGANIZATION as Assignee_Support_Organization,    

 Workorder.WorkOrder_Number as Workorder_Number,    

 WO_Task.TaskGroup_Name as Task_Group,    

 WO_Task.SUBMITTER as Submitter,    

 WO_Customer.FULL_NAME as Affected_User,    

 WO_Customer.REMEDY_LOGIN_ID as Affected_User_Email,    

 WO_Task.LAST_MODIFIED_BY as Last_Modified_By,    

 WOT_Assigneegroup.Business_Group as Business_Group,    

 WO_Task.ESCALATION_Count as Reassignment_Count,    

 WOO_Transaction.Urgency as Urgency,    

 WOO_Transaction.Impact as Impact,    

 WOO_Transaction.Description as Detailed_Description,    

 CONVERT(date, getdate()) as Snapshot_Date,        

 Getdate() as Snapshot_Datetime,  

 WO_Task.datasourceid as datasourceid  

FROM  

  

  

SYN_CW_TASK WO_Task (nolock)  

LEFT OUTER JOIN SYN_ODS_CW_ITIL_TRANSACTION  WOO_Transaction (nolock)

 ON (WO_Task.Transaction_ID=WOO_Transaction.Transaction_ID and WO_Task.DataSourceID=WOO_Transaction.DataSourceID)  

LEFT OUTER JOIN SYN_PERSON  WO_Customer (nolock) ON (WO_Customer.PERSON_SK=WOO_Transaction.PERSON_SK AND WO_Customer.DataSourceID=WOO_Transaction.DataSourceID)  

LEFT OUTER JOIN SYN_CW_WORKORDER  Workorder (nolock)ON (WO_Task.DataSourceID=WORKORDER.DataSourceID and WO_Task.ROOTREQUESTID=WORKORDER.Transaction_ID)   

LEFT OUTER JOIN SYN_SUPPORTGROUP  WOT_Assigneegroup (nolock) ON (WOO_Transaction.DataSourceID=WOT_Assigneegroup.DataSourceID and WOO_Transaction.ASSIGNED_GROUP_ID=WOT_Assigneegroup.SUPPORT_GROUP_ID)  

LEFT OUTER JOIN SYN_PERSON  WOT_Assignee (nolock) ON (WOT_Assignee.DataSourceID=WOO_Transaction.DataSourceID and WOT_Assignee.PERSON_SK=WOO_Transaction.Assignee_Login_ID)  

LEFT OUTER JOIN SYN_ODS_CW_SITE  WO_Customer_Site (nolock) ON (WO_Customer.SITE_SK=WO_Customer_Site.SITE_SK AND WO_Customer.DataSourceID=WO_Customer_Site.DataSourceID)  

WHERE  

  (    

     WO_Task.STATUS  NOT IN  ( 'Closed' ,'Closed Complete','Closed Incomplete','Closed Skipped','Cancelled','Completed','Closed Successful','Closed Cancelled' ,'Closed Rejected')  

    AND WO_Task.SUBMIT_DATE  >= '2020-10-29'  

 and WOO_Transaction.Transaction_Type = 'Catalog Task'  

     )  

    

  

  

COMMIT TRAN                    

                  

SELECT ReturnCode=0                    

 END TRY                    

                    

BEGIN CATCH                     

 ROLLBACK TRAN                    

                    

 DECLARE @ERROR_SEVERITY INT = ERROR_SEVERITY()                    

 DECLARE @ERROR_STATE INT = ERROR_STATE()                    

 DECLARE @ERROR_NUMBER INT = ERROR_NUMBER()                    

 DECLARE @ERROR_LINE INT = ERROR_LINE()                    

 DECLARE @ERROR_MESSAGE NVARCHAR(4000) = ERROR_MESSAGE()                     

                  

                    

 SELECT ReturnCode=1                    

                    

END CATCH                    

                  

                  

END   

Comments

Popular posts from this blog

java chapter11 practice question on abstruct class and interfaces

DAY 12 -AZURE DP900(Microsoft Azure Data Fundamentals: Explore non-relational data in Azure)

java exercise4