belege_eds_skr_stk.sql 10.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. select T1."Nr_" as "Nr",
  2. T1."Name" as "Name",
  3. T1."Kontoart" as "Kontoart",
  4. T1."GuV_Bilanz" as "Guv Bilanz",
  5. T1."Soll_Haben" as "Soll Haben",
  6. T1."Kostenstellen Buchung" as "Kostenstellen Buchung",
  7. T2."Lfd_ Nr_" as "Lfd Nr",
  8. T2."Sachkontonr_" as "Sachkontonr",
  9. T2."Buchungsdatum" as "Buchungsdatum",
  10. T2."Belegart" as "Belegart",
  11. T2."Belegnr_" as "Belegnr",
  12. T2."Beschreibung" as "Beschreibung",
  13. T2."Gegenkontonr_" as "Gegenkontonr",
  14. 0 as "Betrag_ori",
  15. T2."Kostenstellencode" as "Kostenstellencode",
  16. T2."Markencode" as "Markencode",
  17. T2."Benutzer ID" as "Benutzer Id",
  18. T2."Herkunftscode" as "Herkunftscode",
  19. T2."Nachbuchung" as "Nachbuchung",
  20. T2."Menge" as "Menge_ori",
  21. T2."MWSt Betrag" as "Mwst Betrag",
  22. T2."Buchungsart" as "Buchungsart",
  23. T2."Geschäftsbuchungsgruppe" as "Geschäftsbuchungsgruppe",
  24. T3."Beschreibung" as "Geschäftsbuchungsgruppe_Beschreibung",
  25. T2."Produktbuchungsgruppe" as "Produktbuchungsgruppe",
  26. T4."Beschreibung" as "Produktbuchungsgruppe_Beschreibung",
  27. T2."Gegenkontoart" as "Gegenkontoart",
  28. T2."Transaktionsnr_" as "Transaktionsnr",
  29. (T2."Sollbetrag") as "Sollbetrag",
  30. (T2."Habenbetrag") as "Habenbetrag",
  31. T2."Belegdatum" as "Belegdatum",
  32. T2."Externe Belegnummer" as "Externe Belegnummer",
  33. T2."Herkunftsart" as "Herkunftsart",
  34. T2."Herkunftsnr_" as "Herkunftsnr",
  35. T2."Filialcode" as "Filialcode",
  36. T2."Hauptbereich" as "Hauptbereich",
  37. T2."Fahrgestellnummer" as "Fahrgestellnummer",
  38. T2."Buchnummer" as "Buchnummer",
  39. T2."Fahrzeug-Kz" as "Fahrzeug-kz",
  40. T2."Umgebucht" as "Umgebucht",
  41. T2."Storniert" as "Storniert",
  42. T2."Fahrzeugklassecode" as "Fahrzeugklassecode",
  43. T5."Code" as "Code",
  44. T5."Name" as "Name",
  45. T6."Code" as "Code",
  46. T6."Bezeichnung" as "Bezeichnung",
  47. (0) as "Betrag_1",
  48. T2."Client_DB" as "Rechtseinheit",
  49. CASE WHEN (T2."Client_DB" = '2') THEN ('20') ELSE (T2."Filialcode") END as "Betrieb_Nr",
  50. T6."Bezeichnung" as "Betrieb_1",
  51. CASE WHEN (T2."Markencode" = '') THEN ('00 - ohne Marke') ELSE (T2."Markencode") END as "Marke_ori",
  52. (database()) + ' - ' + 'Kandel' as "Mandant",
  53. (cinteger(nconvert((cast_numberToString(cast_integer(T2."Menge")))),0)) as "Menge_1",
  54. T2."Buchungsdatum" as "Bookkeep Date",
  55. CASE WHEN (((day((now()) - T2."Buchungsdatum")) <= 90) and (T1."Nr_" <> '630000')) THEN (T2."Belegnr_" + ' - ' + T2."Beschreibung" + ' - ' + T2."Benutzer ID") ELSE null END as "Text",
  56. CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END as "KST_aus_Code",
  57. CASE WHEN ((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END) LIKE '1%') THEN ('1') WHEN ((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END) LIKE '2%') THEN ('2') WHEN ((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END) LIKE '3%') THEN ('6') WHEN ((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END) = '41') THEN ('3') WHEN ((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END) = '44') THEN ('4') WHEN ((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END) = '45') THEN ('5') WHEN ((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END) LIKE '5%') THEN ('7') WHEN ((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END) LIKE '9%') THEN ('0') ELSE null END as "Kostenstelle_ori",
  58. (CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END) as "KST_1",
  59. (CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END) + ' - ' + T5."Name" as "KST_2",
  60. T2."Sachkontonr_" as "Acct Nr_ori",
  61. ((CASE WHEN ((((left(T2."Sachkontonr_",2)) IN ('80','81','82','89','85')) and (not T2."Sachkontonr_" IN ('811100'))) and (T2."Fahrzeug-Kz" IN (1,2))) THEN (((cinteger(nconvert((cast_numberToString(cast_integer(T2."Menge")))),0))) * -1) ELSE (0) END)) as "Betrag",
  62. CASE WHEN ((((left(T2."Sachkontonr_",2)) IN ('80','81','82','89','85')) and (not T2."Sachkontonr_" IN ('811100'))) and (T2."Fahrzeug-Kz" IN (1,2))) THEN (((cinteger(nconvert((cast_numberToString(cast_integer(T2."Menge")))),0))) * -1) ELSE (0) END as "Menge",
  63. CASE WHEN (T2."Client_DB" = '2') THEN ('20') ELSE (T2."Filialcode") END as "Betrieb",
  64. T2."Benutzer ID" as "Benutzer",
  65. CASE WHEN ((T1."Nr_" BETWEEN '700000' AND '719999') or (T1."Nr_" BETWEEN '800000' AND '819999')) THEN (T7."Fahrgestellnummer") ELSE null END as "Fahrgestellnummer",
  66. CASE WHEN ((T1."Nr_" BETWEEN '700000' AND '719999') or (T1."Nr_" BETWEEN '800000' AND '819999')) THEN (T7."Modell") ELSE null END as "Modell_neu",
  67. CASE WHEN ((T1."Nr_" BETWEEN '700000' AND '719999') or (T1."Nr_" BETWEEN '800000' AND '819999')) THEN (T7."Markencode") ELSE null END as "Markencode",
  68. CASE WHEN ((T1."Nr_" BETWEEN '700000' AND '719999') or (T1."Nr_" BETWEEN '800000' AND '819999')) THEN (T7."Verkäufer Nr_ Verkauf") ELSE null END as "Verkäufer Nr Verkauf",
  69. CASE WHEN ((left(T1."Nr_",1)) IN ('5','6','7','8')) THEN ('TEK') ELSE ('Kosten/Neutral') END as "Konto KZ",
  70. CASE WHEN (((left(T1."Nr_",2)) IN ('70','71','80','81')) and ((substring((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END), 1, 1)) <> '1')) THEN ('nein') WHEN (((left(T1."Nr_",3)) IN ('880','881','890','891')) and ((substring((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END), 1, 1)) <> '1')) THEN ('nein') WHEN (((left(T1."Nr_",2)) IN ('72','82')) and ((substring((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END), 1, 1)) <> '2')) THEN ('nein') WHEN (((left(T1."Nr_",3)) IN ('882','892')) and ((substring((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END), 1, 1)) <> '2')) THEN ('nein') WHEN (((left(T1."Nr_",2)) IN ('73','83')) and ((substring((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END), 1, 1)) <> '3')) THEN ('nein') WHEN (((left(T1."Nr_",3)) IN ('883','893')) and ((substring((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END), 1, 1)) <> '3')) THEN ('nein') WHEN (((left(T1."Nr_",2)) IN ('74','75','84','85')) and ((substring((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END), 1, 1)) <> '4')) THEN ('nein') WHEN (((left(T1."Nr_",3)) IN ('884','885','894','899')) and ((substring((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END), 1, 1)) <> '4')) THEN ('nein') WHEN (((left(T1."Nr_",2)) IN ('76','86')) and ((substring((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END), 1, 1)) <> '5')) THEN ('nein') WHEN (((left(T1."Nr_",3)) IN ('896')) and ((substring((CASE WHEN (T2."Kostenstellencode" = '') THEN ('99') ELSE ((substring(T2."Kostenstellencode", 3, 2))) END), 1, 1)) <> '5')) THEN ('nein') ELSE ('ja') END as "Plausibilität",
  71. (left(T2."Kostenstellencode",2)) as "Marke aus KST",
  72. (T2."MB_Makecode") as "Marke",
  73. (substring(T1."Nr_", 1, 1)) as "Susa",
  74. T1."GuV_Bilanz" as "GuV_Bilanz",
  75. T2."MB_Distributionchannelcode" as "Absatzkanal_Code",
  76. CASE WHEN (T2."Kostenstellencode" <> '') THEN (T2."Kostenstellencode") ELSE ('00') END as "KST_ori",
  77. T2."MB_Costcentercode" as "KST",
  78. T2."MB_Makecode" as "Mb Makecode",
  79. T2."MB_Locationcode" as "Mb Locationcode",
  80. T2."MB_Costcentercode" as "Mb Costcentercode",
  81. T2."MB_Distributionchannelcode" as "Mb Distributionchannelcode",
  82. T2."MB_Costunitcode" as "Mb Costunitcode",
  83. T2."MB_Taxationcode" as "Mb Taxationcode",
  84. T2."MB_Costunitcode" as "Kostenträger",
  85. T2."Sachkontonr_" + '_' + T2."Kostenstellencode" + '_STK' as "Acct Nr",
  86. T8."MB Makecode" as "Mb Makecode",
  87. T8."Code" as "Code_MB_Cost_Unit",
  88. T8."Description" as "Description_MB_Cost_Unit",
  89. CASE WHEN (T2."MB_Costunitcode" BETWEEN '01' AND '49') THEN (T2."MB_Makecode" + '-' + T2."MB_Costunitcode") ELSE (T2."MB_Costunitcode") END as "Kostenträger_FIBU"
  90. from "CARLO"."import"."Sachkonto" T1,
  91. (((((("CARLO"."import"."Sachposten" T2 left outer join "CARLO"."import"."Geschaeftsbuchungsgrp" T3 on (T2."Geschäftsbuchungsgruppe" = T3."Code") and (T2."Client_DB" = T3."Client_DB")) left outer join "CARLO"."import"."Produktbuchungsgrp" T4 on (T2."Produktbuchungsgruppe" = T4."Code") and (T2."Client_DB" = T4."Client_DB")) left outer join "CARLO"."import"."Kostenstelle" T5 on (T5."Code" = T2."Kostenstellencode") and (T5."Client_DB" = T2."Client_DB")) left outer join "CARLO"."import"."Filialbezeichnung" T6 on (T2."Filialcode" = T6."Code") and (T2."Client_DB" = T6."Client_DB")) left outer join "CARLO"."import"."Fahrzeug" T7 on (T2."Fahrgestellnummer" = T7."Fahrgestellnummer") and (T2."Client_DB" = T7."Client_DB")) left outer join "CARLO"."import"."MB_Costunit" T8 on ((T2."MB_Costunitcode" = T8."Code") and (T2."Client_DB" = T8."Client_DB")) and (T2."MB_Makecode" = T8."MB Makecode"))
  92. where ((T1."Nr_" = T2."Sachkontonr_") and (T1."Client_DB" = T2."Client_DB"))
  93. and (((((not T2."Beschreibung" LIKE '%Nullstellung%') and (T2."Buchungsdatum" >= convert(datetime, '2018-01-01 00:00:00.000'))) and (T1."GuV_Bilanz" = 0)) and ((T1."Nr_" BETWEEN '800000' AND '829900') or (T1."Nr_" BETWEEN '851000' AND '851007'))) and ((((CASE WHEN ((((left(T2."Sachkontonr_",2)) IN ('80','81','82','89','85')) and (not T2."Sachkontonr_" IN ('811100'))) and (T2."Fahrzeug-Kz" IN (1,2))) THEN (((cinteger(nconvert((cast_numberToString(cast_integer(T2."Menge")))),0))) * -1) ELSE (0) END))) <> 0))
  94. -- order by "Fahrgestellnummer" asc,"Lfd Nr" asc