service_ausgangsrechnung_c11.sql 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. select c246 as "Nr_Rechnung",
  2. c245 as "Verk An Deb -nr",
  3. c244 as "Rech An Deb -nr",
  4. c243 as "Auftragsdatum",
  5. c182 as "Buchungsdatum",
  6. c242 as "Lieferdatum",
  7. c241 as "Buchungsbeschreibung",
  8. c172 as "Markencode",
  9. c240 as "Debitorenbuchungsgruppe",
  10. c239 as "Geschäftsbuchungsgruppe",
  11. c238 as "Belegdatum",
  12. c237 as "Benutzer Id",
  13. c236 as "Fahrgestellnummer",
  14. c235 as "Amtliches Kennzeichen",
  15. c234 as "Modell",
  16. c144 as "Werkstattauftragsnummer",
  17. c233 as "Kundengruppencode",
  18. c232 as "Filialcode",
  19. c231 as "Serviceberaternr",
  20. c230 as "Nr_Rechnungskunde",
  21. c229 as "Name_Rechnungskunde",
  22. c228 as "Geschäftsbuchungsgruppe_Rechnungskunde",
  23. c227 as "Plz Code_Rechnungskunde",
  24. c226 as "Nachname_Rechnungskunde",
  25. c225 as "Vorname_Rechnungskunde",
  26. c224 as "Kundenart_Rechnungskunde",
  27. c223 as "Nr_Fahrer",
  28. c222 as "Name_Fahrer",
  29. c170 as "Geschäftsbuchungsgruppe_Fahrer",
  30. c163 as "Plz Code_Fahrer",
  31. c221 as "Nachname_Fahrer",
  32. c220 as "Vorname_Fahrer",
  33. c219 as "Kundenart_Fahrer",
  34. c218 as "Kundengruppe_Rechnungskunde",
  35. c217 as "Kundengruppe_Fahrer",
  36. '1' as "Hauptbetrieb",
  37. c181 as "Standort",
  38. c216 as "Nr_Employee",
  39. c215 as "Vorname_Employee",
  40. c214 as "Nachname_Employee",
  41. c213 as "Funktion_Employee",
  42. c180 as "Serviceberater",
  43. c179 as "Umsatzart",
  44. c212 as "Erstzulassung",
  45. c211 as "Fahrzeugalter_Tage",
  46. c210 as "Fahrzeugalter",
  47. c162 as "FZG-Altersstaffel",
  48. c173 as "Marke",
  49. c172 as "Fabrikat",
  50. 'Rechnung' as "Rechnung_Gutschrift",
  51. 'abgerechnet' as "Auftragsstatus",
  52. c158 as "Auftragsart",
  53. c209 as "Ländercode_Fahrer",
  54. c168 as "Land",
  55. c167 as "PLZ_1_Stelle",
  56. c166 as "PLZ_2_Stelle",
  57. c165 as "PLZ_3_Stelle",
  58. c164 as "PLZ_4_Stelle",
  59. c208 as "PLZ",
  60. c207 as "Zeilennr",
  61. c206 as "Werkst Auftragsnr_Verk_Rg_Zeile",
  62. c205 as "Werkst Auftragszeilennr_Verk_Rg_Zeile",
  63. c204 as "Art",
  64. c203 as "Nr_APO_Teile",
  65. c202 as "Beschreibung",
  66. c201 as "Einheit",
  67. c200 as "Menge_alles",
  68. c199 as "Einstandspreis (mw)",
  69. c198 as "Betrag",
  70. c197 as "Kostenstellencode",
  71. c196 as "Produktbuchungsgruppe",
  72. c195 as "Einstandspreis",
  73. c157 as "Umsatz Lohn",
  74. c156 as "Umsatz Teile",
  75. c154 as "Umsatz Sonst.",
  76. c153 as "verk. Std.",
  77. c194 as "Menge_Werkstattposten",
  78. c193 as "Einstandsbetrag_Werkstattposten",
  79. c155 as "Einsatz Teile",
  80. c192 as "Menge Pro Stunde",
  81. c191 as "Menge (stunde)",
  82. c190 as "Auftragsnr_Werkstattposten",
  83. c189 as "Auftragszeilennr_Werkstattposten",
  84. c188 as "Vorgabezeit_Arb_Wertposten",
  85. c152 as "Ist-zeit_Arb_Wertposten",
  86. c152 as "ben. Zeit",
  87. c151 as "Menge_Teile",
  88. 1 as "DG_1",
  89. COUNT(c205) OVER (partition by c144) as "DG_2",
  90. 1 / (COUNT(c205) OVER (partition by c144)) as "DG",
  91. c160 as "Nr_Artikel",
  92. c187 as "Gmpd Code_Artikel",
  93. c186 as "Gmpd Subcode_Artikel",
  94. c185 as "Bonuscode_Artikel",
  95. c184 as "GMPD_Group",
  96. c183 as "Repair_Group_Desc",
  97. c159 as "DB1_><_EK",
  98. c182 as "Date",
  99. '1' as "Company_ID",
  100. c181 as "Department_ID",
  101. 'Serviceberater' as "Employee_Function",
  102. c180 as "Service_Advisor_Name",
  103. c179 as "Turnover_Type_Desc",
  104. c178 as "Order_Desc_100",
  105. c177 as "Invoice_Desc_100",
  106. c176 as "Order_Desc_30",
  107. c175 as "Invoice_Desc_30",
  108. c174 as "Cost_Centre_ID",
  109. c173 as "Make_Desc",
  110. c172 as "Make_Group",
  111. c171 as "Model_Desc",
  112. c170 as "Customer_Group_Owner",
  113. c169 as "Customer_Name_Owner",
  114. c168 as "Cust_Zipcode_Country",
  115. c167 as "Cust_Zipcode_First",
  116. c166 as "Cust_Zipcode_Second",
  117. c165 as "Cust_Zipcode_Third",
  118. c164 as "Cust_Zipcode_Fourth",
  119. c163 as "Cust_Zipcode",
  120. c162 as "Car_Age",
  121. c161 as "Werkstattbuchungsgruppe",
  122. c160 as "Parts_Number",
  123. 'Rechnung' as "Invoice_Credit_Note",
  124. c159 as "Sign_DB1",
  125. 'abgerechnet' as "Order_Status",
  126. c158 as "Order_Type_Desc",
  127. c157 as "Job_Amount",
  128. c156 as "Parts_Amount",
  129. c155 as "Parts_Purch_Amount",
  130. c154 as "Misc_Amount",
  131. c153 as "Invoiced_Time",
  132. c152 as "Used_Time",
  133. c151 as "Quantity",
  134. (1 / (COUNT(c205) OVER (partition by c144))) as "Order_Count",
  135. c150 as "Rabatt Lohn %",
  136. c149 as "Rabatt Lohn",
  137. c148 as "Rabatt Teile %",
  138. c147 as "Rabatt Teile",
  139. c146 as "Rabatt Sonst. %",
  140. c145 as "Rabatt Sonst."
  141. from
  142. (select T1."Werkstattauftragsnummer" as c144,
  143. CASE WHEN ((CASE WHEN (((not T8."Produktbuchungsgruppe" IN ('W_KARO','W_MECH','W_LACK','W_KARO_AZK','W_LACK_AZE','W_ELEK','W_ELEK_NL','W_KARO_NL','W_LACK_NL','W_MECH_NL','W_SATT')) and (not T8."Produktbuchungsgruppe" LIKE 'T\_%' ESCAPE '\')) or (T8."Nr_" = 'E002540')) THEN (((T8."Betrag"))) ELSE (0) END) <> 0) THEN (((T8."Zeilenrabattbetrag"))) ELSE (0) END as c145,
  144. CASE WHEN ((CASE WHEN (((not T8."Produktbuchungsgruppe" IN ('W_KARO','W_MECH','W_LACK','W_KARO_AZK','W_LACK_AZE','W_ELEK','W_ELEK_NL','W_KARO_NL','W_LACK_NL','W_MECH_NL','W_SATT')) and (not T8."Produktbuchungsgruppe" LIKE 'T\_%' ESCAPE '\')) or (T8."Nr_" = 'E002540')) THEN (((T8."Betrag"))) ELSE (0) END) <> 0) THEN (((T8."Zeilenrabatt %"))) ELSE (0) END as c146,
  145. CASE WHEN ((CASE WHEN (T8."Produktbuchungsgruppe" LIKE 'T\_%' ESCAPE '\') THEN (((T8."Betrag"))) ELSE (0) END) <> 0) THEN (((T8."Zeilenrabattbetrag"))) ELSE (0) END as c147,
  146. CASE WHEN ((CASE WHEN (T8."Produktbuchungsgruppe" LIKE 'T\_%' ESCAPE '\') THEN (((T8."Betrag"))) ELSE (0) END) <> 0) THEN (((T8."Zeilenrabatt %"))) ELSE (0) END as c148,
  147. ((T8."Zeilenrabattbetrag")) as c149,
  148. ((T8."Zeilenrabatt %")) as c150,
  149. (CASE WHEN (T8."Produktbuchungsgruppe" LIKE 'T\_%' ESCAPE '\') THEN (((T8."Menge"))) ELSE (0) END) as c151,
  150. (((T10."Ist-Zeit"))) as c152,
  151. (CASE WHEN ((T8."Produktbuchungsgruppe" IN ('W_KARO','W_MECH','W_LACK','W_KARO_AZK','W_LACK_AZE')) and (T8."Nr_" <> 'E002540')) THEN (((T8."Menge"))) ELSE (0) END) as c153,
  152. (CASE WHEN (((not T8."Produktbuchungsgruppe" IN ('W_KARO','W_MECH','W_LACK','W_KARO_AZK','W_LACK_AZE','W_ELEK','W_ELEK_NL','W_KARO_NL','W_LACK_NL','W_MECH_NL','W_SATT')) and (not T8."Produktbuchungsgruppe" LIKE 'T\_%' ESCAPE '\')) or (T8."Nr_" = 'E002540')) THEN (((T8."Betrag"))) ELSE (0) END) as c154,
  153. (CASE WHEN (T8."Produktbuchungsgruppe" LIKE 'T\_%' ESCAPE '\') THEN (((T9."Einstandsbetrag"))) ELSE (0) END) as c155,
  154. (CASE WHEN (T8."Produktbuchungsgruppe" LIKE 'T\_%' ESCAPE '\') THEN (((T8."Betrag"))) ELSE (0) END) as c156,
  155. (CASE WHEN ((T8."Produktbuchungsgruppe" IN ('W_KARO','W_MECH','W_LACK','W_KARO_AZK','W_LACK_AZE','W_ELEK','W_ELEK_NL','W_KARO_NL','W_LACK_NL','W_MECH_NL','W_SATT')) and (T8."Nr_" <> 'E002540')) THEN (((T8."Betrag"))) ELSE (0) END) as c157,
  156. (CASE WHEN (T1."Nr_" LIKE 'T%') THEN ('Teile') WHEN (T1."Nr_" LIKE 'W%') THEN ('Service') ELSE null END) as c158,
  157. (CASE WHEN ((CASE WHEN (T8."Produktbuchungsgruppe" LIKE 'T\_%' ESCAPE '\') THEN (((T8."Betrag"))) ELSE (0) END) - (CASE WHEN (T8."Produktbuchungsgruppe" LIKE 'T\_%' ESCAPE '\') THEN (((T9."Einstandsbetrag"))) ELSE (0) END) < 0) THEN ('VK < EK') ELSE ('VK > EK') END) as c159,
  158. T10."Einheitencode" as c160,
  159. T9."Werkstattbuchungsgruppe" as c161,
  160. (CASE WHEN ((CASE WHEN (T7."Erstzulassung" <> convert(datetime, '1753-01-01 00:00:00.000')) THEN ((day(T1."Buchungsdatum" - T7."Erstzulassung"))) ELSE (0) END) / 365 BETWEEN 0.01 AND 0.99) THEN ('1') WHEN ((CASE WHEN (T7."Erstzulassung" <> convert(datetime, '1753-01-01 00:00:00.000')) THEN ((day(T1."Buchungsdatum" - T7."Erstzulassung"))) ELSE (0) END) / 365 BETWEEN 1.00 AND 1.99) THEN ('2') WHEN ((CASE WHEN (T7."Erstzulassung" <> convert(datetime, '1753-01-01 00:00:00.000')) THEN ((day(T1."Buchungsdatum" - T7."Erstzulassung"))) ELSE (0) END) / 365 BETWEEN 2.00 AND 2.99) THEN ('3') WHEN ((CASE WHEN (T7."Erstzulassung" <> convert(datetime, '1753-01-01 00:00:00.000')) THEN ((day(T1."Buchungsdatum" - T7."Erstzulassung"))) ELSE (0) END) / 365 BETWEEN 3.00 AND 3.99) THEN ('4') WHEN ((CASE WHEN (T7."Erstzulassung" <> convert(datetime, '1753-01-01 00:00:00.000')) THEN ((day(T1."Buchungsdatum" - T7."Erstzulassung"))) ELSE (0) END) / 365 BETWEEN 4.00 AND 4.99) THEN ('5') WHEN ((CASE WHEN (T7."Erstzulassung" <> convert(datetime, '1753-01-01 00:00:00.000')) THEN ((day(T1."Buchungsdatum" - T7."Erstzulassung"))) ELSE (0) END) / 365 BETWEEN 5.00 AND 5.99) THEN ('6') WHEN ((CASE WHEN (T7."Erstzulassung" <> convert(datetime, '1753-01-01 00:00:00.000')) THEN ((day(T1."Buchungsdatum" - T7."Erstzulassung"))) ELSE (0) END) / 365 BETWEEN 6.00 AND 6.99) THEN ('7') WHEN ((CASE WHEN (T7."Erstzulassung" <> convert(datetime, '1753-01-01 00:00:00.000')) THEN ((day(T1."Buchungsdatum" - T7."Erstzulassung"))) ELSE (0) END) / 365 BETWEEN 7.00 AND 7.99) THEN ('8') WHEN ((CASE WHEN (T7."Erstzulassung" <> convert(datetime, '1753-01-01 00:00:00.000')) THEN ((day(T1."Buchungsdatum" - T7."Erstzulassung"))) ELSE (0) END) / 365 BETWEEN 8.00 AND 8.99) THEN ('9') WHEN ((CASE WHEN (T7."Erstzulassung" <> convert(datetime, '1753-01-01 00:00:00.000')) THEN ((day(T1."Buchungsdatum" - T7."Erstzulassung"))) ELSE (0) END) / 365 BETWEEN 9.00 AND 9.99) THEN ('10') WHEN ((CASE WHEN (T7."Erstzulassung" <> convert(datetime, '1753-01-01 00:00:00.000')) THEN ((day(T1."Buchungsdatum" - T7."Erstzulassung"))) ELSE (0) END) / 365 > 9.99) THEN ('> 10') WHEN ((CASE WHEN (T7."Erstzulassung" <> convert(datetime, '1753-01-01 00:00:00.000')) THEN ((day(T1."Buchungsdatum" - T7."Erstzulassung"))) ELSE (0) END) / 365 = 0) THEN ('keine Angabe') ELSE null END) as c162,
  161. T3."PLZ Code" as c163,
  162. ((left(T3."PLZ Code",4))) as c164,
  163. ((left(T3."PLZ Code",3))) as c165,
  164. ((left(T3."PLZ Code",2))) as c166,
  165. ((left(T3."PLZ Code",1))) as c167,
  166. (CASE WHEN (((T3."Ländercode" IS NULL) or (T3."Ländercode" = ' ')) or (T3."Ländercode" IN ('D','DE'))) THEN ('Deutschland') ELSE ('Ausland') END) as c168,
  167. T3."Nr_" + ' - ' + T3."Name" as c169,
  168. T3."Geschäftsbuchungsgruppe" as c170,
  169. (left((ucase(T1."Modell")),3)) as c171,
  170. T1."Markencode" as c172,
  171. (CASE WHEN (T1."Markencode" IN ('OPEL')) THEN (T1."Markencode") ELSE ('Fremdfabrikat') END) as c173,
  172. T8."Kostenstellencode" + ' - ' + T12."Name" as c174,
  173. CASE WHEN ((day((now()) - T1."Buchungsdatum")) <= 35) THEN (T1."Nr_" + ' - ' + (CASE WHEN (T6."Nr_" IS NOT NULL) THEN (T6."Nr_" + ' - ' + T6."Vorname" + ' ' + T6."Nachname") ELSE ('SB fehlt') END) + ' - ' + T2."Name" + ' - ' + T1."Fahrgestellnummer") ELSE ('Rechnungen älter 35 Tage') END as c175,
  174. CASE WHEN ((day((now()) - T1."Buchungsdatum")) <= 35) THEN (T1."Werkstattauftragsnummer") ELSE ('Aufträge älter 35 Tage') END as c176,
  175. CASE WHEN ((day((now()) - T1."Buchungsdatum")) <= 100) THEN (T1."Nr_" + ' - ' + T2."Name" + ' - ' + T1."Fahrgestellnummer") ELSE ('Rechnungen älter 100 Tage') END as c177,
  176. CASE WHEN ((day((now()) - T1."Buchungsdatum")) <= 100) THEN (T1."Werkstattauftragsnummer" + ' - ' + T3."Name") ELSE ('Aufträge älter 100 Tage') END as c178,
  177. (CASE WHEN (T2."Geschäftsbuchungsgruppe" IN ('GEWL')) THEN ('GWL') WHEN (T2."Geschäftsbuchungsgruppe" LIKE '%INTERN%') THEN ('Intern') ELSE ('Extern') END) as c179,
  178. (CASE WHEN (T6."Nr_" IS NOT NULL) THEN (T6."Nr_" + ' - ' + T6."Vorname" + ' ' + T6."Nachname") ELSE ('SB fehlt') END) as c180,
  179. (CASE WHEN ('1' = '2') THEN ('20') ELSE (T1."Filialcode") END) as c181,
  180. T1."Buchungsdatum" as c182,
  181. CASE WHEN (T8."Produktbuchungsgruppe" LIKE '%LOHN%') THEN (T8."Produktbuchungsgruppe") ELSE null END as c183,
  182. T11."GMPD Code" + T11."GMPD Subcode" as c184,
  183. T11."Bonuscode" as c185,
  184. T11."GMPD Subcode" as c186,
  185. T11."GMPD Code" as c187,
  186. (T10."Vorgabezeit") as c188,
  187. T9."Auftragszeilennr_" as c189,
  188. T9."Auftragsnr_" as c190,
  189. T9."Menge (Stunde)" as c191,
  190. T9."Menge pro Stunde" as c192,
  191. (T9."Einstandsbetrag") as c193,
  192. (T9."Menge") as c194,
  193. (T8."Einstandspreis") as c195,
  194. T8."Produktbuchungsgruppe" as c196,
  195. T8."Kostenstellencode" as c197,
  196. (T8."Betrag") as c198,
  197. T8."Einstandspreis (MW)" as c199,
  198. (T8."Menge") as c200,
  199. T8."Einheit" as c201,
  200. T8."Beschreibung" as c202,
  201. T8."Nr_" as c203,
  202. T8."Art" as c204,
  203. T8."Werkst_ Auftragszeilennr_" as c205,
  204. T8."Werkst_ Auftragsnr_" as c206,
  205. T8."Zeilennr_" as c207,
  206. (left(T3."PLZ Code",5)) as c208,
  207. T3."Ländercode" as c209,
  208. (CASE WHEN (T7."Erstzulassung" <> convert(datetime, '1753-01-01 00:00:00.000')) THEN ((day(T1."Buchungsdatum" - T7."Erstzulassung"))) ELSE (0) END) / 365 as c210,
  209. CASE WHEN (T7."Erstzulassung" <> convert(datetime, '1753-01-01 00:00:00.000')) THEN ((day(T1."Buchungsdatum" - T7."Erstzulassung"))) ELSE (0) END as c211,
  210. T7."Erstzulassung" as c212,
  211. T6."Funktion" as c213,
  212. T6."Nachname" as c214,
  213. T6."Vorname" as c215,
  214. T6."Nr_" as c216,
  215. T5."Code" + ' - ' + T5."Beschreibung" as c217,
  216. T4."Code" + ' - ' + T4."Beschreibung" as c218,
  217. T3."Kundenart" as c219,
  218. T3."Vorname" as c220,
  219. T3."Nachname" as c221,
  220. T3."Name" as c222,
  221. T3."Nr_" as c223,
  222. T2."Kundenart" as c224,
  223. T2."Vorname" as c225,
  224. T2."Nachname" as c226,
  225. T2."PLZ Code" as c227,
  226. T2."Geschäftsbuchungsgruppe" as c228,
  227. T2."Name" as c229,
  228. T2."Nr_" as c230,
  229. T1."Serviceberaternr_" as c231,
  230. T1."Filialcode" as c232,
  231. T1."Kundengruppencode" as c233,
  232. T1."Modell" as c234,
  233. T1."Amtliches Kennzeichen" as c235,
  234. T1."Fahrgestellnummer" as c236,
  235. T1."Benutzer ID" as c237,
  236. T1."Belegdatum" as c238,
  237. T1."Geschäftsbuchungsgruppe" as c239,
  238. T1."Debitorenbuchungsgruppe" as c240,
  239. T1."Buchungsbeschreibung" as c241,
  240. T1."Lieferdatum" as c242,
  241. T1."Auftragsdatum" as c243,
  242. T1."Rech_ an Deb_-Nr_" as c244,
  243. T1."Verk_ an Deb_-Nr_" as c245,
  244. T1."Nr_" as c246
  245. from ((((((((((("CARLO"."import"."Verkaufsrechnungskopf" T1 left outer join "CARLO"."import"."Debitor" T2 on (T1."Rech_ an Deb_-Nr_" = T2."Nr_") and (T1."Client_DB" = T2."Client_DB")) left outer join "CARLO"."import"."Debitor" T3 on (T1."Verk_ an Deb_-Nr_" = T3."Nr_") and (T1."Client_DB" = T3."Client_DB")) left outer join "CARLO"."import"."Geschaeftsbuchungsgrp" T4 on (T4."Code" = T2."Geschäftsbuchungsgruppe") and (T4."Client_DB" = T2."Client_DB")) left outer join "CARLO"."import"."Geschaeftsbuchungsgrp" T5 on (T5."Code" = T3."Geschäftsbuchungsgruppe") and (T5."Client_DB" = T3."Client_DB")) left outer join "CARLO"."import"."Employee" T6 on (T1."Serviceberaternr_" = T6."Nr_") and (T1."Client_DB" = T6."Client_DB")) left outer join "CARLO"."import"."Fahrzeug" T7 on (T1."Fahrgestellnummer" = T7."Fahrgestellnummer") and (T1."Client_DB" = T7."Client_DB")) left outer join "CARLO"."import"."Verkaufsrechnungszeile" T8 on (T1."Nr_" = T8."Belegnr_") and (T1."Client_DB" = T8."Client_DB")) left outer join "CARLO"."import"."Werkstattposten" T9 on (((T8."Belegnr_" = T9."Belegnr_") and (T8."Nr_" = T9."Nr_")) and (T8."Client_DB" = T9."Client_DB")) and (T8."Werkst_ Auftragszeilennr_" = T9."Auftragszeilennr_")) left outer join "CARLO"."import"."Arbeitswertposten" T10 on (((T8."Werkst_ Auftragsnr_" = T10."Werkstattauftragsnr_") and (T8."Werkst_ Auftragszeilennr_" = T10."Werkstattauftragszeilennr_")) and (T8."Belegnr_" = T10."Belegnr_")) and (T8."Client_DB" = T10."Client_DB")) left outer join "CARLO"."import"."Artikel" T11 on (T11."Nr_" = T9."Nr_") and (T11."Client_DB" = T9."Client_DB")) left outer join "CARLO"."import"."Kostenstelle" T12 on T12."Code" = T8."Kostenstellencode")
  246. where ((((T1."Nr_" LIKE 'W%') and ((od_year(T1."Buchungsdatum")) >= (od_year((now()))) - 2)) and (not T8."Art" IN (0,11,12))) and (T8."Produktbuchungsgruppe" <> 'DIREKT19'))
  247. ) D1
  248. -- order by "Nr_Rechnung" asc,"Zeilennr" asc