vw_Aftersales_Rechnungen_fuer_tbl.sql 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. SET QUOTED_IDENTIFIER ON
  2. GO
  3. SET ANSI_NULLS ON
  4. GO
  5. CREATE VIEW [dbo].[vw_Aftersales_Rechnungen_fuer_tbl] AS
  6. SELECT ' ' AS [Acct Nr]
  7. ,' ' AS [Ledger Accts Name]
  8. ,' ' AS [Product Group]
  9. ,' ' AS [Repair Group]
  10. ,CAST(Rg.[Order Number]AS VARCHAR (50)) AS [Order Number]
  11. ,CAST(Rg.[Invoice Type]AS VARCHAR (50)) AS [RG-Typ]
  12. ,CAST(Rg.[Invoice Number]AS VARCHAR (50)) AS [RG-Nummer]
  13. ,Rg.[Invoice_Type_Invoice_Number] AS [RG-Typ-Nr]
  14. ,Rg.[Hauptbetrieb Id] AS [Rechtseinheit_ID]
  15. ,Rg.[Hauptbetrieb Name] AS [Rechtseinheit_Name]
  16. ,' ' AS [Fabrikat_Order_By]
  17. ,Rg.[Standort Id] AS [Betrieb_ID]
  18. ,Rg.[Standort Name] AS [Betrieb_Name]
  19. ,Rg.[Serviceberater] AS [Serviceberater]
  20. ,Rg.[Umsatzart] AS [Umsatzart]
  21. ,Rg.[Time Units]/10 AS [verk. Stunden]
  22. -- ,COUNT(Invoice_Type_Invoice_Number) OVER (PARTITION BY [Order Number]) AS "Anzahl"
  23. ,CAST(ben_AW.Summe_Duration_Minutes / 60.0 AS DECIMAL(26,12)) AS [benutzte Zeit (Auftrag)]
  24. -- ,CAST(ben_AW.Summe_Duration_Minutes / 60.0 AS DECIMAL(26,12)) / COUNT(Invoice_Type_Invoice_Number) OVER (PARTITION BY [Order Number]) AS [benutzte Zeit (Auftrag)]
  25. ,0 AS [DG]
  26. ,' ' AS [Zuordnung_Funktion]
  27. ,Rg.[Zuordnung] AS [Zuordnung_Produktbuchungsgruppe]
  28. ,Rg.[Produktbuchungsgruppe] AS [Produktbuchungsgruppe]
  29. ,Rg.[Kostenstelle] AS [Kostenstelle]
  30. ,Rg.[Auftragsart] AS [Auftragsart]
  31. ,Rg.[Kunde_Auftrag] AS [Kunde]
  32. ,' ' AS [Kundenart]
  33. ,CAST(Rg.[Order Number] AS VARCHAR(50)) + ' - ' + CAST(Rg.[Kunde_Auftrag] AS VARCHAR(255)) AS [Order_Desc_100]
  34. ,Rg.[Auftragsposition] AS [Auftragsposition]
  35. ,' ' AS [Repair_Group_Desc]
  36. ,'Rechnung' AS [Rechnung/Gutschrift]
  37. ,' ' AS [FZG-Altersstaffel]
  38. ,' ' AS [VK < EK]
  39. ,' ' AS [PLZ_1_Stelle]
  40. ,' ' AS [PLZ_2_Stelle]
  41. ,' ' AS [PLZ_3_Stelle]
  42. ,' ' AS [PLZ_4_Stelle]
  43. ,' ' AS [PLZ]
  44. ,Rg.[Invoice Date] AS [Invoice Date]
  45. ,Rg.[Lohn]
  46. ,Rg.[NL Lohn]
  47. ,Rg.[Fremdl.]
  48. ,Rg.[EW Fremdl.]
  49. ,Rg.[Teile] AS [Teile_gesamt]
  50. ,Rg.[EW Teile] AS [EW Teile_gesamt]
  51. ,Rg.[NL Teile]
  52. ,Rg.[Mietw.]
  53. ,Rg.[Sonst.]
  54. ,0 AS [EW Sonst.]
  55. ,0 AS [EW Mietw.]
  56. ,Rg.[Rebate Percent] AS [NL %]
  57. ,Rg.[Goodwill Percent] AS [Kulanz %]
  58. ,CASE
  59. WHEN Rg.[Source Table] = 'labours' AND Rg.[NL Lohn] <> 0 THEN Rg.[Rebate Percent]
  60. ELSE NULL
  61. END AS [NL Lohn %]
  62. ,CASE
  63. WHEN Rg.[Source Table] = 'parts' AND Rg.[NL Teile] <> 0 THEN Rg.[Rebate Percent]
  64. ELSE NULL
  65. END AS [NL Teile %]
  66. ,CASE
  67. WHEN Rg.[Source Table] = 'labours' AND Rg.[NL Lohn] <> 0 THEN Rg.[Goodwill Percent]
  68. ELSE NULL
  69. END AS [Kul. Lohn %]
  70. ,CASE
  71. WHEN Rg.[Source Table] = 'parts' AND Rg.[NL Teile] <> 0 THEN Rg.[Goodwill Percent]
  72. ELSE NULL
  73. END AS [Kul. Teile %]
  74. ,Rg.[Time Units]/10 AS [verk. Std. Monteur]
  75. ,Rg.[Hauptbetrieb Id] AS [Gruppe Id]
  76. ,' ' AS [Woche]
  77. ,Rg.[Standort Name] AS [Gruppe Name]
  78. ,Rg.[Fabrikat] AS [Fabrikat operativ]
  79. ,' ' AS [Fabrikat_GC_Marken_Order_Line]
  80. ,Rg.[Position] AS [Position]
  81. ,Rg.[Kunde] AS [Kunde_RG]
  82. ,Rg.[Source Table]
  83. ,CAST (Rg.[Invoice Date] as DATE) AS [Datum]
  84. ,FORMAT(Rg.[Invoice Date], 'yyyy/MM') AS [Jahr/Monat]
  85. ,CAST(GETDATE() AS DATE) AS [Aktueller Tag]
  86. ,CAST (DATEADD(month, DATEDIFF(month, 0, Rg.[Invoice Date]), 0) as Date) AS [Monatserster]
  87. ,EOMONTH(Rg.[Invoice Date]) AS Monatsletzter
  88.     ,'("' +
  89.     CONVERT(VARCHAR, DATEADD(month, DATEDIFF(month, 0, Rg.[Invoice Date]), 0), 23) +
  90.     '","' +
  91.     CONVERT(VARCHAR, EOMONTH(Rg.[Invoice Date]), 23) +
  92.     '")' AS MUN_DATE
  93. --[20250201-20250228]
  94. ,CONVERT(VARCHAR, DATEADD(month, DATEDIFF(month, 0, Rg.[Invoice Date]), 0), 112) +
  95. '-' +
  96. CONVERT(VARCHAR, EOMONTH(Rg.[Invoice Date]), 112) AS Mitgliedsname
  97. ,DATEFROMPARTS(YEAR(Rg.[Invoice Date]), 1, 1) AS [Beginn Geschäftsjahr]
  98. ,FORMAT(Rg.[Invoice Date], 'MMM', 'de') + './' + FORMAT(Rg.[Invoice Date], 'yyyy', 'de') AS Monat_Jahr
  99. ,AnzahlRechnungen.[Anz. Rg.] AS [Anz. Rg.]
  100. ,'Anz. Rg.: ' + CAST(AnzahlRechnungen.[Anz. Rg.] AS VARCHAR(10)) AS [Anz. Rg. / Auftr.]
  101. FROM [LOCOSOFT].[dbo].[vw_Aftersales_Rechnungen_operativ] Rg
  102. LEFT JOIN [LOCOSOFT].[ims].[ben_AW_Order_Number] ben_AW
  103. ON ben_AW.Order_Number = Rg.[Order Number]
  104. CROSS APPLY (
  105. SELECT COUNT(DISTINCT Rg2.[Invoice Number]) AS [Anz. Rg.]
  106. FROM [LOCOSOFT].[dbo].[vw_Aftersales_Rechnungen_operativ] Rg2
  107. WHERE Rg2.[Order Number] = Rg.[Order Number]
  108. ) AS AnzahlRechnungen
  109. GO
  110. SET QUOTED_IDENTIFIER OFF
  111. GO
  112. SET ANSI_NULLS OFF
  113. GO
  114. GO