Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2011
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 4.17 KB | None | 0 0
  1. /* BENUTZER */
  2. DECLARE @Benutzer int;
  3. SET @Benutzer = 14;
  4.  
  5. /* Deklarationsblock */
  6. DECLARE @sxtng_Dauer_H int;
  7. DECLARE @sxtng_Dauer_M int;
  8. DECLARE @sxtng_Dauer_L int;
  9. DECLARE @bda_Dauer_H int;
  10. DECLARE @bda_Dauer_M int;
  11. DECLARE @bda_Dauer_L int;
  12. DECLARE @liu_Dauer_H int;
  13. DECLARE @liu_Dauer_M int;
  14. DECLARE @liu_Dauer_L int;
  15.  
  16. /* Festlegen der Werte für die Variablen */
  17. /* H = High; M = Medium; L = Low */
  18.  
  19. /* Erlaubte Dauer bei x Tagen nicht geändert nach Prio: */
  20. SET @sxtng_Dauer_H = 1;
  21. SET @sxtng_Dauer_M = 4;
  22. SET @sxtng_Dauer_L = 10;
  23. /* Beginn der Arbeit */
  24. SET @bda_Dauer_H = 0;
  25. SET @bda_Dauer_M = 2;
  26. SET @bda_Dauer_L = 6;
  27. /* Lösung ist überfällig */
  28. SET @liu_Dauer_H = 3;
  29. SET @liu_Dauer_M = 5;
  30. SET @liu_Dauer_L = 20;
  31.  
  32. /* Abfrage Seit X Tagen nicht geändert */
  33. SELECT T0.[callID] as TicketNr, T0.[subject] as Betreff, T0.[custmrName] as Kunde,T1.[U_NAME] as Bearbeiter, T0.[priority] as Priorität, 'Seit mehreren Tagen nicht geändert' as Grund, DATEDIFF(DAY, T0.[updateDate], GetDate()) - DATEDIFF(wk, T0.[updateDate], GetDate()) % 7 * 2 as 'Tage in Alarmzustand'
  34. FROM OSCL T0
  35. INNER JOIN OUSR T1 ON T0.[assignee] = T1.[USERID]
  36. WHERE (T0.[priority] = 'L' AND DATEDIFF(DAY, T0.[updateDate], GetDate()) - DATEDIFF(wk, T0.[updateDate], GetDate()) % 7 * 2 > @sxtng_Dauer_L) AND T0.[assignee] = @Benutzer AND T0.[status] != '-1'
  37. OR (T0.[priority] = 'M' AND DATEDIFF(DAY, T0.[updateDate], GetDate()) - DATEDIFF(wk, T0.[updateDate], GetDate()) % 7 * 2 > @sxtng_Dauer_M) AND T0.[assignee] = @Benutzer AND T0.[status] != '-1'
  38. OR (T0.[priority] = 'H' AND DATEDIFF(DAY, T0.[updateDate], GetDate()) - DATEDIFF(wk, T0.[updateDate], GetDate()) % 7 * 2 > @sxtng_Dauer_H) AND T0.[assignee] = @Benutzer AND T0.[status] != '-1'
  39.  
  40. UNION ALL /* Zusammenfügen */
  41.  
  42. /* Beginn der Arbeit */
  43. SELECT T0.[callID] as TicketNr, T0.[subject] as Betreff, T0.[custmrName] as Kunde, T1.[U_NAME] as Bearbeiter , T0.[priority] as Priorität, 'Arbeit noch nicht begonnen' as Grund, DATEDIFF(DAY, T0.[createDate], GetDate()) - DATEDIFF(wk, T0.[createDate], GetDate()) % 7 * 2 as 'Tage in Alarmzustand'
  44. FROM OSCL T0
  45. INNER JOIN OUSR T1 ON T0.[assignee] = T1.[USERID]
  46. WHERE (T0.[priority] = 'L' AND T0.[status] = '-3' AND DATEDIFF(DAY, T0.[createDate], GetDate()) - DATEDIFF(wk, T0.[createDate], GetDate()) % 7 * 2 > @bda_Dauer_L) AND T0.[assignee] = @Benutzer
  47. OR (T0.[priority] = 'M' AND T0.[status] = '-3' AND DATEDIFF(DAY, T0.[createDate], GetDate()) - DATEDIFF(wk, T0.[createDate], GetDate()) % 7 * 2 > @bda_Dauer_M) AND T0.[assignee] = @Benutzer
  48. OR (T0.[priority] = 'H' AND T0.[status] = '-3' AND DATEDIFF(DAY, T0.[createDate], GetDate()) - DATEDIFF(wk, T0.[createDate], GetDate()) % 7 * 2 > @bda_Dauer_H) AND T0.[assignee] = @Benutzer
  49.  
  50. UNION ALL /* Zusammenfügen */
  51.  
  52. /* Nächster Kontakt Heute oder Überfällig */
  53. SELECT T0.[callID] as TicketNr, T0.[subject] as Betreff, T0.[custmrName] as Kunde,T1.[U_NAME] as Bearbeiter, T0.[priority] as Priorität, 'Kontakt heute oder überfällig' as Grund, DATEDIFF(DAY, T0.U_nContact, GetDate()) as 'Tage in Alarmzustand'
  54. FROM OSCL T0
  55. INNER JOIN OUSR T1 ON T0.[assignee] = T1.[USERID]
  56. WHERE (T0.U_nContact <= GetDate()) AND T0.[assignee] = @Benutzer AND T0.[status] != '-1'
  57.  
  58. UNION ALL /* Zusammenfügen */
  59.  
  60. /* Lösung ist überfällig */
  61. SELECT T0.[callID] as TicketNr, T0.[subject] as Betreff, T0.[custmrName] as Kunde, T1.[U_NAME] as Bearbeiter, T0.[priority] as Priorität, 'Lösung überfällig' as Grund, DATEDIFF(DAY, T0.[createDate], GetDate()) - DATEDIFF(wk, T0.[createDate], GetDate()) % 7 * 2 as 'Tage in Alarmzustand'
  62. FROM OSCL T0
  63. INNER JOIN OUSR T1 ON T0.[assignee] = T1.[USERID]
  64. WHERE (T0.[priority] = 'L' AND DATEDIFF(Day, T0.createDate, GetDate()) - DATEDIFF(wk, T0.[createDate], GetDate()) % 7 * 2 > @liu_Dauer_L) AND T0.[assignee] = @Benutzer AND T0.[status] != '-1'
  65. OR (T0.[priority] = 'M' AND DATEDIFF(Day, T0.createDate, GetDate()) - DATEDIFF(wk, T0.[createDate], GetDate()) % 7 * 2 > @liu_Dauer_M) AND T0.[assignee] = @Benutzer AND T0.[status] != '-1'
  66. OR (T0.[priority] = 'H' AND DATEDIFF(Day, T0.createDate, GetDate()) - DATEDIFF(wk, T0.[createDate], GetDate()) % 7 * 2 > @liu_Dauer_H) AND T0.[assignee] = @Benutzer AND T0.[status] != '-1'
  67. ORDER BY T0.[callID]
  68.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement