SRD_Teile_neu_3.sql 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440
  1. SELECT "Register No",
  2. "Entry No",
  3. "Srd Item No",
  4. "Dealer No",
  5. "Transaction Type",
  6. "Transaction Type Specification",
  7. "Xtimestamp",
  8. "Current Qty On-hand",
  9. "Open Order Quantity",
  10. "Average Cost",
  11. "Customer Backorder",
  12. "Enable For Requisition",
  13. "Area",
  14. "Document Type",
  15. "Document No",
  16. "Posting Date",
  17. "Quantity",
  18. "Gross Price",
  19. "Unit Price",
  20. "Customer Order No",
  21. "Customer Text",
  22. "Customer No",
  23. "Vin",
  24. "Mileage",
  25. "Salesperson Code",
  26. "Item No",
  27. '1' AS "Hauptbetrieb",
  28. "Standort",
  29. "Transaction Type Specification" AS "BA Spezifikation",
  30. "First Name",
  31. "Last Name",
  32. "Verk�ufer",
  33. "No_Customer",
  34. "Name_Customer",
  35. "Customer Group Code",
  36. "Customer Posting Group",
  37. "Location Code_Customer",
  38. "Customer Type",
  39. "Umsatzart",
  40. "Kundenart",
  41. "Kunde",
  42. "Bmw Parts Type",
  43. "Item Group Code",
  44. "Teileart-Gruppe",
  45. "Artikelgruppe-Gruppe",
  46. "Item Group Code" AS "Artikelgruppe",
  47. "Teileart",
  48. "Menge",
  49. "VK",
  50. "EK",
  51. "Posting Date" AS "Invoice Date",
  52. "Verkauf / Einkauf",
  53. "Bewegungsart",
  54. "Umsatz_alt",
  55. "Einsatz_alt",
  56. "Bewegungsart Detail",
  57. "Description",
  58. "Betrag Lagerzugang_alt",
  59. "Menge VK_alt",
  60. "Menge Lagerzugang_alt",
  61. "Description_Artikel",
  62. "Teil",
  63. "Abteilung",
  64. "Beleg_ori",
  65. "Beleg",
  66. "Make Code",
  67. "Marke",
  68. "Amount",
  69. "Adjusted Cost",
  70. "Cost Posted To G L",
  71. "Einsatz_neu",
  72. COUNT("Srd Item No") OVER (PARTITION BY c85) AS "Anzahl Datens�tze",
  73. ("Umsatz_alt") / (COUNT("Srd Item No") OVER (PARTITION BY c85)) AS "Umsatz",
  74. CASE
  75. WHEN (("Einsatz_neu") IS NOT NULL)
  76. THEN (("Einsatz_neu") / (COUNT("Srd Item No") OVER (PARTITION BY c85)))
  77. ELSE (0)
  78. END AS "Einsatz",
  79. ("Menge VK_alt") / (COUNT("Srd Item No") OVER (PARTITION BY c85)) AS "Menge VK",
  80. ("Menge Lagerzugang_alt") / (COUNT("Srd Item No") OVER (PARTITION BY c85)) AS "Menge Lagerzugang",
  81. ("Betrag Lagerzugang_alt") / (COUNT("Srd Item No") OVER (PARTITION BY c85)) AS "Betrag Lagerzugang",
  82. "Extra Code 3",
  83. "Inland/Export",
  84. "Artikelgruppe-Gruppe numerisch",
  85. "4 Stellen Document No",
  86. "Beleg_Tagesbericht"
  87. FROM (
  88. SELECT ((((T1."Entry No_"))) + T1."Document No_") AS c85,
  89. CASE
  90. WHEN ((- 1 * datediff(day, (getdate()), T1."Posting Date")) <= 3)
  91. THEN (
  92. (
  93. CASE
  94. WHEN (T3."No_" IS NOT NULL)
  95. THEN (
  96. T1."Document No_" + ' / ' + (
  97. CASE
  98. WHEN (T3."No_" IS NOT NULL)
  99. THEN (T3."No_" + ' - ' + T3."Name")
  100. ELSE NULL
  101. END
  102. )
  103. )
  104. ELSE (T1."Document No_")
  105. END
  106. )
  107. )
  108. ELSE NULL
  109. END AS "Beleg_Tagesbericht",
  110. (left(T1."Document No_", 4)) AS "4 Stellen Document No",
  111. CASE
  112. WHEN (T4."Item Group Code" BETWEEN '00' AND '22')
  113. THEN ('Artikelgruppe 0 - 22')
  114. WHEN (T4."Item Group Code" BETWEEN '23' AND '33')
  115. THEN ('Artikelgruppe 23 - 33')
  116. WHEN (T4."Item Group Code" BETWEEN '34' AND '99')
  117. THEN ('Artikelgruppe 34 - 99')
  118. ELSE ('Teileart fehlt/Rest')
  119. END AS "Artikelgruppe-Gruppe numerisch",
  120. CASE
  121. WHEN (T3."Extra Code 3" = 'EXPORT')
  122. THEN ('Anteil Export')
  123. ELSE ('Anteil Inland')
  124. END AS "Inland/Export",
  125. T3."Extra Code 3" AS "Extra Code 3",
  126. CASE
  127. WHEN (
  128. (
  129. CASE
  130. WHEN (T1."Transaction Type" IN ('LC'))
  131. THEN ('Verkauf')
  132. ELSE ('Einkauf')
  133. END
  134. ) = 'Einkauf'
  135. )
  136. THEN (((convert(FLOAT, T1."Quantity"))) * ((convert(FLOAT, T1."Unit Price"))))
  137. ELSE (0)
  138. END AS "Betrag Lagerzugang_alt",
  139. CASE
  140. WHEN (
  141. (
  142. CASE
  143. WHEN (T1."Transaction Type" IN ('LC'))
  144. THEN ('Verkauf')
  145. ELSE ('Einkauf')
  146. END
  147. ) = 'Einkauf'
  148. )
  149. THEN (((convert(FLOAT, T1."Quantity"))))
  150. ELSE (0)
  151. END AS "Menge Lagerzugang_alt",
  152. CASE
  153. WHEN (
  154. (
  155. CASE
  156. WHEN (T1."Transaction Type" IN ('LC'))
  157. THEN ('Verkauf')
  158. ELSE ('Einkauf')
  159. END
  160. ) = 'Verkauf'
  161. )
  162. THEN (((convert(FLOAT, T1."Quantity"))))
  163. ELSE (0)
  164. END AS "Menge VK_alt",
  165. CASE
  166. WHEN (
  167. (
  168. (
  169. CASE
  170. WHEN (
  171. (
  172. CASE
  173. WHEN (T1."Transaction Type" IN ('LC'))
  174. THEN ('Verkauf')
  175. ELSE ('Einkauf')
  176. END
  177. ) = 'Verkauf'
  178. )
  179. THEN (((convert(FLOAT, T1."Quantity"))) * ((convert(FLOAT, T1."Average Cost"))))
  180. ELSE (0)
  181. END
  182. ) < 0
  183. )
  184. AND (((convert(FLOAT, T6."Adjusted Cost"))) > 0)
  185. )
  186. THEN (((convert(FLOAT, T6."Adjusted Cost"))) * - 1)
  187. WHEN (
  188. (
  189. (
  190. CASE
  191. WHEN (
  192. (
  193. CASE
  194. WHEN (T1."Transaction Type" IN ('LC'))
  195. THEN ('Verkauf')
  196. ELSE ('Einkauf')
  197. END
  198. ) = 'Verkauf'
  199. )
  200. THEN (((convert(FLOAT, T1."Quantity"))) * ((convert(FLOAT, T1."Average Cost"))))
  201. ELSE (0)
  202. END
  203. ) > 0
  204. )
  205. AND (((convert(FLOAT, T6."Adjusted Cost"))) < 0)
  206. )
  207. THEN (((convert(FLOAT, T6."Adjusted Cost"))) * - 1)
  208. ELSE (((convert(FLOAT, T6."Adjusted Cost"))))
  209. END AS "Einsatz_neu",
  210. CASE
  211. WHEN (
  212. (
  213. CASE
  214. WHEN (T1."Transaction Type" IN ('LC'))
  215. THEN ('Verkauf')
  216. ELSE ('Einkauf')
  217. END
  218. ) = 'Verkauf'
  219. )
  220. THEN (((convert(FLOAT, T1."Quantity"))) * ((convert(FLOAT, T1."Unit Price"))))
  221. ELSE (0)
  222. END AS "Umsatz_alt",
  223. (convert(FLOAT, T6."Cost Posted to G_L")) AS "Cost Posted To G L",
  224. (convert(FLOAT, T6."Adjusted Cost")) AS "Adjusted Cost",
  225. (convert(FLOAT, T6."Amount")) AS "Amount",
  226. CASE
  227. WHEN (T4."Make Code" IN ('BMW', 'BMW-C1', 'BMW-MOT', 'BMWI'))
  228. THEN ('BMW')
  229. WHEN (T4."Make Code" IN ('BMW-MINI'))
  230. THEN ('MINI')
  231. ELSE ('Andere')
  232. END AS "Marke",
  233. T4."Make Code" AS "Make Code",
  234. CASE
  235. WHEN ((- 1 * datediff(day, (getdate()), T1."Posting Date")) <= 180)
  236. THEN (
  237. (
  238. CASE
  239. WHEN (T3."No_" IS NOT NULL)
  240. THEN (
  241. T1."Document No_" + ' / ' + (
  242. CASE
  243. WHEN (T3."No_" IS NOT NULL)
  244. THEN (T3."No_" + ' - ' + T3."Name")
  245. ELSE NULL
  246. END
  247. )
  248. )
  249. ELSE (T1."Document No_")
  250. END
  251. )
  252. )
  253. ELSE NULL
  254. END AS "Beleg",
  255. CASE
  256. WHEN (T3."No_" IS NOT NULL)
  257. THEN (
  258. T1."Document No_" + ' / ' + (
  259. CASE
  260. WHEN (T3."No_" IS NOT NULL)
  261. THEN (T3."No_" + ' - ' + T3."Name")
  262. ELSE NULL
  263. END
  264. )
  265. )
  266. ELSE (T1."Document No_")
  267. END AS "Beleg_ori",
  268. CASE
  269. WHEN (T1."Area" = 1)
  270. THEN ('T & Z')
  271. WHEN (T1."Area" = 4)
  272. THEN ('Service')
  273. WHEN (T1."Area" = 0)
  274. THEN ('Sonstige')
  275. ELSE NULL
  276. END AS "Abteilung",
  277. T1."Item No_" + ' - ' + T4."Description" AS "Teil",
  278. T4."Description" AS "Description_Artikel",
  279. T5."Description" AS "Description",
  280. T1."Transaction Type Specification" + ' - ' + T5."Description" AS "Bewegungsart Detail",
  281. CASE
  282. WHEN (
  283. (
  284. CASE
  285. WHEN (T1."Transaction Type" IN ('LC'))
  286. THEN ('Verkauf')
  287. ELSE ('Einkauf')
  288. END
  289. ) = 'Verkauf'
  290. )
  291. THEN (((convert(FLOAT, T1."Quantity"))) * ((convert(FLOAT, T1."Average Cost"))))
  292. ELSE (0)
  293. END AS "Einsatz_alt",
  294. CASE
  295. WHEN (T1."Transaction Type" = 'BA')
  296. THEN ('BA - Bestellung')
  297. WHEN (T1."Transaction Type" = 'RA')
  298. THEN ('RA - R�ckgaben')
  299. WHEN (T1."Transaction Type" = 'LB')
  300. THEN ('LB - Lagerzug�nge maschinell')
  301. WHEN (T1."Transaction Type" = 'LC')
  302. THEN ('LC - Lagerabg�nge')
  303. WHEN (T1."Transaction Type" = 'LA')
  304. THEN ('LA - Lagerzug�nge manuell')
  305. ELSE NULL
  306. END AS "Bewegungsart",
  307. CASE
  308. WHEN (T1."Transaction Type" IN ('LC'))
  309. THEN ('Verkauf')
  310. ELSE ('Einkauf')
  311. END AS "Verkauf / Einkauf",
  312. T1."Posting Date" AS "Posting Date",
  313. (convert(FLOAT, T1."Average Cost")) AS "EK",
  314. (convert(FLOAT, T1."Unit Price")) AS "VK",
  315. (convert(FLOAT, T1."Quantity")) AS "Menge",
  316. CASE
  317. WHEN (T4."Parts Category" = '1')
  318. THEN ('1 - Teile')
  319. WHEN (T4."Parts Category" = '2')
  320. THEN ('2 - Tauschteile')
  321. WHEN (T4."Parts Category" = '3')
  322. THEN ('3 - Nachr�stteile')
  323. WHEN (T4."Parts Category" = '4')
  324. THEN ('4 - ')
  325. WHEN (T4."Parts Category" = '5')
  326. THEN ('5 - R�der, Felgen')
  327. WHEN (T4."Parts Category" = '6')
  328. THEN ('6 - ')
  329. WHEN (T4."Parts Category" = '7')
  330. THEN ('7 - Accessoires')
  331. WHEN (T4."Parts Category" = '8')
  332. THEN ('8 - Reifen')
  333. WHEN (T4."Parts Category" = '9')
  334. THEN ('9 - �le, Sonstiges')
  335. ELSE NULL
  336. END AS "Teileart",
  337. T4."Item Group Code" AS "Item Group Code",
  338. CASE
  339. WHEN (T4."Item Group Code" IN ('B', 'C', 'A'))
  340. THEN ('Artikelgruppe A - C')
  341. WHEN (T4."Item Group Code" IN ('E', 'K', 'H', 'F', 'I', 'G', 'D', 'J'))
  342. THEN ('Artikelgruppe D - K')
  343. WHEN (T4."Item Group Code" BETWEEN '23' AND '33')
  344. THEN ('Artikelgruppe D + E neu')
  345. WHEN (T4."Item Group Code" BETWEEN '34' AND '99')
  346. THEN ('Artikelgruppe F - K neu')
  347. ELSE ('Teileart fehlt/Rest')
  348. END AS "Artikelgruppe-Gruppe",
  349. CASE
  350. WHEN (T4."Parts Category" IN ('1', '2'))
  351. THEN ('Teileart 1 - 2')
  352. WHEN (T4."Parts Category" IN ('3', '4', '5', '6', '7', '8', '9'))
  353. THEN ('Teileart 3 - 9')
  354. ELSE ('Teileart fehlt')
  355. END AS "Teileart-Gruppe",
  356. T4."Parts Category" AS "Bmw Parts Type",
  357. CASE
  358. WHEN (T3."No_" IS NOT NULL)
  359. THEN (T3."No_" + ' - ' + T3."Name")
  360. ELSE NULL
  361. END AS "Kunde",
  362. T3."Gen_ Bus_ Posting Group" AS "Kundenart",
  363. CASE
  364. WHEN (T3."No_" LIKE 'I%')
  365. THEN ('Intern')
  366. WHEN (T3."No_" LIKE 'G%')
  367. THEN ('GWL')
  368. WHEN (
  369. (
  370. (NOT T3."No_" LIKE 'I%')
  371. AND (NOT T3."No_" LIKE 'G%')
  372. )
  373. AND (T3."No_" IS NOT NULL)
  374. )
  375. THEN ('Extern')
  376. ELSE NULL
  377. END AS "Umsatzart",
  378. T3."Customer Type" AS "Customer Type",
  379. T3."Location Code" AS "Location Code_Customer",
  380. T3."Customer Posting Group" AS "Customer Posting Group",
  381. T3."Customer Group Code" AS "Customer Group Code",
  382. T3."Name" AS "Name_Customer",
  383. T3."No_" AS "No_Customer",
  384. T2."First Name" + ' ' + T2."Last Name" AS "Verk�ufer",
  385. T2."Last Name" AS "Last Name",
  386. T2."First Name" AS "First Name",
  387. T1."Transaction Type Specification" AS "Transaction Type Specification",
  388. CASE
  389. WHEN (T1."Dealer No_" IN ('00357', '29682', '22075', '28303'))
  390. THEN ('10')
  391. WHEN (T1."Dealer No_" IN ('00557', '29619', '40119'))
  392. THEN ('20')
  393. ELSE NULL
  394. END AS "Standort",
  395. T1."Item No_" AS "Item No",
  396. T1."Salesperson Code" AS "Salesperson Code",
  397. T1."Mileage" AS "Mileage",
  398. T1."VIN" AS "Vin",
  399. T1."Customer No_" AS "Customer No",
  400. T1."Customer Text" AS "Customer Text",
  401. T1."Customer Order No_" AS "Customer Order No",
  402. T1."Unit Price" AS "Unit Price",
  403. T1."Gross Price" AS "Gross Price",
  404. T1."Quantity" AS "Quantity",
  405. T1."Document No_" AS "Document No",
  406. T1."Document Type" AS "Document Type",
  407. T1."Area" AS "Area",
  408. T1."Enable for Requisition" AS "Enable For Requisition",
  409. T1."Customer Backorder" AS "Customer Backorder",
  410. T1."Average Cost" AS "Average Cost",
  411. T1."Open Order Quantity" AS "Open Order Quantity",
  412. T1."Current Qty_ On-Hand" AS "Current Qty On-hand",
  413. T1."xTimestamp" AS "Xtimestamp",
  414. T1."Transaction Type" AS "Transaction Type",
  415. T1."Dealer No_" AS "Dealer No",
  416. T1."SRD Item No_" AS "Srd Item No",
  417. T1."Entry No_" AS "Entry No",
  418. T1."Register No_" AS "Register No"
  419. FROM (
  420. (
  421. (
  422. (
  423. (
  424. "Vogl7x"."dbo"."BMW AH Vogl$BMW SRD Transaction" T1 LEFT JOIN "Vogl7x"."dbo"."BMW AH Vogl$Employee" T2 ON T1."Salesperson Code" = T2."No_"
  425. ) LEFT JOIN "Vogl7x"."dbo"."BMW AH Vogl$Customer" T3 ON T1."Customer No_" = T3."No_"
  426. ) LEFT JOIN "Vogl7x"."dbo"."BMW AH Vogl$Item" T4 ON T1."Item No_" = T4."No_"
  427. ) LEFT JOIN "Vogl7x"."dbo"."BMW AH Vogl$BMW SRD Movement Type" T5 ON (T1."Transaction Type" = T5."Movement Type Code")
  428. AND (T1."Transaction Type Specification" = T5."Movement Type Specification")
  429. ) LEFT JOIN "Vogl7x"."dbo"."BMW AH Vogl$Value Entry" T6 ON (
  430. (T6."Item No_" = T1."SRD Item No_")
  431. AND (T6."Document No_" = T1."Document No_")
  432. )
  433. AND (T6."Posting Date" = T1."Posting Date")
  434. )
  435. WHERE (
  436. (T1."Posting Date" >= convert(DATETIME, '2020-01-01 00:00:00.000'))
  437. AND (NOT T1."Document No_" LIKE 'FILAG%')
  438. )
  439. ) D1
  440. -- order by "Xtimestamp" asc