load.Zeit_gesamt.sql 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. SET QUOTED_IDENTIFIER ON
  2. GO
  3. SET ANSI_NULLS ON
  4. GO
  5. CREATE VIEW [load].[Zeit_gesamt] AS
  6. -- 1. From Time_Clock_Entry
  7. SELECT
  8. c.[Client_DB],
  9. c.[Employee No] AS [No],
  10. '' AS [Document No],
  11. c.[Duration] AS [Zeitdauer],
  12. c.[Task Type Code] AS [Stempel-Code],
  13. c.[Monteur],
  14. c.[Datum],
  15. c.[Department No],
  16. c.[Order Number],
  17. c.[Employment Date],
  18. d.[Hauptbetrieb_ID],
  19. d.[Hauptbetrieb_Name],
  20. d.[Standort_ID],
  21. d.[Standort_Name],
  22. t.[Activity_Codes_Group1],
  23. t.[Activity_Codes_Group2],
  24. t.[Activity_Desc],
  25. m.[First Name],
  26. m.[Last Name],
  27. m.[Task Type Group],
  28. m.[Function Code],
  29. m.[Group No_ 1],
  30. m.[Group No_ 2],
  31. m.[Group No_ 3],
  32. m.[Monteur_Gruppe],
  33. m.[Monteur_Gruppe_2],
  34. CASE WHEN t.[Activity_Codes_Group1] = 'prod.' THEN c.[Duration] ELSE 0 END AS [prod.],
  35. CASE WHEN t.[Activity_Codes_Group1] = 'W-var. Std.' THEN c.[Duration] ELSE 0 END AS [unprod.],
  36. CASE WHEN t.[Activity_Codes_Group1] = 'W-fix Std.' THEN c.[Duration] ELSE 0 END AS [Abw.],
  37. CASE WHEN t.[Activity_Codes_Group2] = 'extern' THEN c.[Duration] ELSE 0 END AS [Extern],
  38. CASE WHEN t.[Activity_Codes_Group2] = 'intern' THEN c.[Duration] ELSE 0 END AS [Intern],
  39. 0 AS [fakt. Std.],
  40. 0 AS [Umsatz Lohn],
  41. 0 AS [Nachlass],
  42. 0 AS [ben. Std.],
  43. 0 as [Sollzeit],
  44. 'Time_Clock_Entry' AS [Source Table]
  45. FROM [transform].[Time_Clock_Entry] c
  46. LEFT JOIN [transform_basis].[Department_Standort] d ON c.[Client_DB] = d.[Client_DB] AND c.[Department No] = d.[Department No_]
  47. LEFT JOIN [x_data].[Task_Type] t ON c.[Client_DB] = t.[Client_DB] AND c.[Task Type Code] = t.[Task Type Code]
  48. LEFT JOIN [x_data].[Mitarbeiter] m ON c.[Client_DB] = m.[Client_DB] AND c.[Employee No] = m.[Employee No_]
  49. UNION ALL
  50. -- 2. From Zeit_2_Ryma
  51. SELECT
  52. z.[Client_DB],
  53. z.[Employee No] AS [No],
  54. '' AS [Document No],
  55. z.[Zeitdauer],
  56. z.[Time Account No] AS [Stempel-Code],
  57. z.[Monteur],
  58. z.[Datum],
  59. z.[Department No],
  60. z.[Order Number],
  61. z.[Employment Date],
  62. d.[Hauptbetrieb_ID],
  63. d.[Hauptbetrieb_Name],
  64. d.[Standort_ID],
  65. d.[Standort_Name],
  66. t.[Activity_Codes_Group1],
  67. t.[Activity_Codes_Group2],
  68. t.[Activity_Desc],
  69. m.[First Name],
  70. m.[Last Name],
  71. m.[Task Type Group],
  72. m.[Function Code],
  73. m.[Group No_ 1],
  74. m.[Group No_ 2],
  75. m.[Group No_ 3],
  76. m.[Monteur_Gruppe],
  77. m.[Monteur_Gruppe_2],
  78. 0 AS [prod.],
  79. 0 AS [unprod.],
  80. CASE WHEN t.[Activity_Codes_Group1] = 'W-fix Std.' THEN z.[Zeitdauer] ELSE 0 END AS [Abw.],
  81. 0 AS [Extern],
  82. 0 AS [Intern],
  83. 0 AS [fakt. Std.],
  84. 0 AS [Umsatz Lohn],
  85. 0 AS [Nachlass],
  86. 0 AS [ben. Std.],
  87. z.[Sollzeit],
  88. 'Zeit_2_Ryma' AS [Source Table]
  89. FROM [transform].[Zeit_2_Ryma] z
  90. LEFT JOIN [transform_basis].[Department_Standort] d ON z.[Client_DB] = d.[Client_DB] AND z.[Department No] = d.[Department No_]
  91. LEFT JOIN [x_data].[Time_Account] t ON z.[Client_DB] = t.[Client_DB] AND z.[Time Account No] = t.[Time Account No_]
  92. LEFT JOIN [x_data].[Mitarbeiter] m ON z.[Client_DB] = m.[Client_DB] AND z.[Employee No] = m.[Employee No_]
  93. UNION ALL
  94. -- 3. From Add_Serv_Ledger_Entry_fakt_AW_Monteur
  95. SELECT
  96. a.[Client_DB],
  97. a.[No],
  98. a.[Document No],
  99. 0 AS [Zeitdauer],
  100. 'fakt. Std.' AS [Stempel-Code],
  101. a.[Monteur],
  102. a.[Datum],
  103. a.[Department No],
  104. a.[Order Number],
  105. a.[Employment Date],
  106. d.[Hauptbetrieb_ID],
  107. d.[Hauptbetrieb_Name],
  108. d.[Standort_ID],
  109. d.[Standort_Name],
  110. 'fakt. Std.' AS [Activity_Codes_Group1],
  111. 'fakt. Std.' AS [Activity_Codes_Group2],
  112. 'fakt. Std.' AS [Activity_Desc],
  113. m.[First Name],
  114. m.[Last Name],
  115. m.[Task Type Group],
  116. m.[Function Code],
  117. m.[Group No_ 1],
  118. m.[Group No_ 2],
  119. m.[Group No_ 3],
  120. m.[Monteur_Gruppe],
  121. m.[Monteur_Gruppe_2],
  122. 0 AS [prod.],
  123. 0 AS [unprod.],
  124. 0 AS [Abw.],
  125. 0 AS [Extern],
  126. 0 AS [Intern],
  127. a.[fakt Stunden] AS [fakt. Std.],
  128. a.[Umsatz Lohn],
  129. a.[Nachlass],
  130. 0 AS [ben. Std.],
  131. 0 as [Sollzeit],
  132. 'Add_Serv_Ledger_Entry_fakt_AW_Monteur' AS [Source Table]
  133. FROM [transform].[Add_Serv_Ledger_Entry_fakt_AW_Monteur] a
  134. LEFT JOIN [transform_basis].[Department_Standort] d ON a.[Client_DB] = d.[Client_DB] AND a.[Department No] = d.[Department No_]
  135. LEFT JOIN [x_data].[Mitarbeiter] m ON a.[Client_DB] = m.[Client_DB] AND a.[No] = m.[Employee No_]
  136. UNION ALL
  137. -- 4. From Stempelzeiten_Monteurlisten_aus_ims
  138. SELECT
  139. s.[Client_DB],
  140. s.[No],
  141. '' AS [Document No],
  142. 0 AS [Zeitdauer],
  143. 'ben. Std' AS [Stempel-Code],
  144. s.[Monteur],
  145. s.[Datum],
  146. s.[Department No],
  147. s.[Order Number],
  148. s.[Employment Date],
  149. d.[Hauptbetrieb_ID],
  150. d.[Hauptbetrieb_Name],
  151. d.[Standort_ID],
  152. d.[Standort_Name],
  153. 'ben. Std.' AS [Activity_Codes_Group1],
  154. 'ben. Std.' AS [Activity_Codes_Group2],
  155. 'ben. Std.' AS [Activity_Desc],
  156. m.[First Name],
  157. m.[Last Name],
  158. m.[Task Type Group],
  159. m.[Function Code],
  160. m.[Group No_ 1],
  161. m.[Group No_ 2],
  162. m.[Group No_ 3],
  163. m.[Monteur_Gruppe],
  164. m.[Monteur_Gruppe_2],
  165. 0 AS [prod.],
  166. 0 AS [unprod.],
  167. 0 AS [Abw.],
  168. 0 AS [Extern],
  169. 0 AS [Intern],
  170. 0 AS [fakt. Std.],
  171. 0 AS [Umsatz Lohn],
  172. 0 AS [Nachlass],
  173. s.[Summe Produktiv Monteur Auftrag] AS [ben. Std.],
  174. 0 as [Sollzeit],
  175. 'Stempelzeiten_Monteurlisten_aus_ims' AS [Source Table]
  176. FROM [transform].[Stempelzeiten_Monteurlisten_aus_ims] s
  177. LEFT JOIN [transform_basis].[Department_Standort] d ON s.[Client_DB] = d.[Client_DB] AND s.[Department No] = d.[Department No_]
  178. LEFT JOIN [x_data].[Mitarbeiter] m ON s.[Client_DB] = m.[Client_DB] AND s.[No] = m.[Employee No_]
  179. GO
  180. SET QUOTED_IDENTIFIER OFF
  181. GO
  182. SET ANSI_NULLS OFF
  183. GO
  184. GO