belege_stk_selbstzulassung_mit_berechnung.sql 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. select "No",
  2. "Name_2",
  3. "Search Description",
  4. "Account Type",
  5. "Department Code_2",
  6. "Make Code_2",
  7. "Income Balance",
  8. "Last Date Modified",
  9. "Entry No",
  10. "G L Account No",
  11. "Posting Date",
  12. "Document Type",
  13. "Document No",
  14. "Description",
  15. "Bal Account No",
  16. "Department Code",
  17. "Make Code",
  18. "User Id",
  19. "Source Code",
  20. "Quantity",
  21. "Reason Code",
  22. "Gen Posting Type",
  23. "Gen Bus Posting Group",
  24. "Gen Prod Posting Group",
  25. "Bal Account Type",
  26. "Transaction No",
  27. "Document Date",
  28. "External Document No",
  29. "Source Type",
  30. "Source No",
  31. "No Series",
  32. "Branch Code",
  33. "Main Area",
  34. "Vin",
  35. "Book No",
  36. "Veh Source Code",
  37. "Reposted",
  38. "Corrected",
  39. CASE WHEN (("No" IN ('88698','88712')) and (SUM("Betrag_alt") OVER (partition by "Book No") = 0)) THEN (0) WHEN (("No" IN ('88698','88712')) and (SUM("Betrag_alt") OVER (partition by "Book No") <> 0)) THEN (1 / COUNT("No") OVER (partition by "Book No")) ELSE (0) END as "Zulass. Stk",
  40. "Reposting To Curr No",
  41. "Code",
  42. "Name",
  43. "Posting Date" as "Jahr",
  44. "Betrieb Nr",
  45. "G L Account No" as "Konto Nr_ori",
  46. "Betrag_alt",
  47. "Amount_1",
  48. "Text",
  49. "Konto Nr",
  50. 'Selbstzulassungen mit B.' as "Vstufe 1",
  51. "Zeile mit Bez",
  52. "Bereich",
  53. "Hauptbetrieb_ID",
  54. "Hauptbetrieb_Name",
  55. "Betrieb Nr" as "Standort_ID",
  56. "Standort_Name"
  57. from
  58. (select T2."Book No_" as "Book No",
  59. CASE WHEN (((CASE WHEN ((T2."Branch Code" = 'MM') or (T2."Branch Code" = '')) THEN ('10') WHEN (T2."Branch Code" = 'VÖH') THEN ('20') WHEN (T2."Branch Code" = 'KRU') THEN ('30') WHEN (T2."Branch Code" = 'ULM') THEN ('40') WHEN (T2."Branch Code" = 'LL') THEN ('50') WHEN (T2."Branch Code" = 'GZ') THEN ('55') ELSE ((left(T1."Department Code",2))) END)) IN ('10')) THEN ('MM') WHEN (((CASE WHEN ((T2."Branch Code" = 'MM') or (T2."Branch Code" = '')) THEN ('10') WHEN (T2."Branch Code" = 'VÖH') THEN ('20') WHEN (T2."Branch Code" = 'KRU') THEN ('30') WHEN (T2."Branch Code" = 'ULM') THEN ('40') WHEN (T2."Branch Code" = 'LL') THEN ('50') WHEN (T2."Branch Code" = 'GZ') THEN ('55') ELSE ((left(T1."Department Code",2))) END)) IN ('30')) THEN ('KRU') WHEN (((CASE WHEN ((T2."Branch Code" = 'MM') or (T2."Branch Code" = '')) THEN ('10') WHEN (T2."Branch Code" = 'VÖH') THEN ('20') WHEN (T2."Branch Code" = 'KRU') THEN ('30') WHEN (T2."Branch Code" = 'ULM') THEN ('40') WHEN (T2."Branch Code" = 'LL') THEN ('50') WHEN (T2."Branch Code" = 'GZ') THEN ('55') ELSE ((left(T1."Department Code",2))) END)) IN ('40')) THEN ('ULM') WHEN (((CASE WHEN ((T2."Branch Code" = 'MM') or (T2."Branch Code" = '')) THEN ('10') WHEN (T2."Branch Code" = 'VÖH') THEN ('20') WHEN (T2."Branch Code" = 'KRU') THEN ('30') WHEN (T2."Branch Code" = 'ULM') THEN ('40') WHEN (T2."Branch Code" = 'LL') THEN ('50') WHEN (T2."Branch Code" = 'GZ') THEN ('55') ELSE ((left(T1."Department Code",2))) END)) IN ('50')) THEN ('LL') WHEN (((CASE WHEN ((T2."Branch Code" = 'MM') or (T2."Branch Code" = '')) THEN ('10') WHEN (T2."Branch Code" = 'VÖH') THEN ('20') WHEN (T2."Branch Code" = 'KRU') THEN ('30') WHEN (T2."Branch Code" = 'ULM') THEN ('40') WHEN (T2."Branch Code" = 'LL') THEN ('50') WHEN (T2."Branch Code" = 'GZ') THEN ('55') ELSE ((left(T1."Department Code",2))) END)) IN ('55')) THEN ('GZ') WHEN (((CASE WHEN ((T2."Branch Code" = 'MM') or (T2."Branch Code" = '')) THEN ('10') WHEN (T2."Branch Code" = 'VÖH') THEN ('20') WHEN (T2."Branch Code" = 'KRU') THEN ('30') WHEN (T2."Branch Code" = 'ULM') THEN ('40') WHEN (T2."Branch Code" = 'LL') THEN ('50') WHEN (T2."Branch Code" = 'GZ') THEN ('55') ELSE ((left(T1."Department Code",2))) END)) IN ('60')) THEN ('AAM') WHEN (((CASE WHEN ((T2."Branch Code" = 'MM') or (T2."Branch Code" = '')) THEN ('10') WHEN (T2."Branch Code" = 'VÖH') THEN ('20') WHEN (T2."Branch Code" = 'KRU') THEN ('30') WHEN (T2."Branch Code" = 'ULM') THEN ('40') WHEN (T2."Branch Code" = 'LL') THEN ('50') WHEN (T2."Branch Code" = 'GZ') THEN ('55') ELSE ((left(T1."Department Code",2))) END)) IN ('70')) THEN ('LEH') WHEN (((CASE WHEN ((T2."Branch Code" = 'MM') or (T2."Branch Code" = '')) THEN ('10') WHEN (T2."Branch Code" = 'VÖH') THEN ('20') WHEN (T2."Branch Code" = 'KRU') THEN ('30') WHEN (T2."Branch Code" = 'ULM') THEN ('40') WHEN (T2."Branch Code" = 'LL') THEN ('50') WHEN (T2."Branch Code" = 'GZ') THEN ('55') ELSE ((left(T1."Department Code",2))) END)) IN ('80')) THEN ('WTB') ELSE null END as "Standort_Name",
  60. (CASE WHEN ((T2."Branch Code" = 'MM') or (T2."Branch Code" = '')) THEN ('10') WHEN (T2."Branch Code" = 'VÖH') THEN ('20') WHEN (T2."Branch Code" = 'KRU') THEN ('30') WHEN (T2."Branch Code" = 'ULM') THEN ('40') WHEN (T2."Branch Code" = 'LL') THEN ('50') WHEN (T2."Branch Code" = 'GZ') THEN ('55') ELSE ((left(T1."Department Code",2))) END) as "Betrieb Nr",
  61. CASE WHEN (T2."Client_DB" = '1') THEN ('AHR') WHEN (T2."Client_DB" = '2') THEN ('AAM') ELSE null END as "Hauptbetrieb_Name",
  62. T2."Client_DB" as "Hauptbetrieb_ID",
  63. CASE WHEN (T1."No_" IN ('88698')) THEN ('NA') ELSE ('GA') END as "Bereich",
  64. CASE WHEN (T1."No_" IN ('88698')) THEN ('NA-Selbstzulassung mit B.') ELSE ('GA-Selbstzulassung mit B.') END as "Zeile mit Bez",
  65. CASE WHEN ((T2."G_L Account No_" IN ('88200','88201','88202')) and (T2."Posting Date" <= convert(datetime, '2015-04-30 00:00:00.000'))) THEN (T2."G_L Account No_" + '_NA') ELSE (T2."G_L Account No_") END as "Konto Nr",
  66. CASE WHEN (((T1."No_" LIKE '4%') or (T1."No_" LIKE '2%')) and ((-1 * datediff(day, (getdate()), T2."Posting Date")) <= 365)) THEN (T2."Document No_" + ' - ' + T2."Description" + ' - ' + T2."User ID") WHEN (((not T1."No_" LIKE '4%') and (not T1."No_" LIKE '2%')) and ((-1 * datediff(day, (getdate()), T2."Posting Date")) <= 30)) THEN (T2."Document No_" + ' - ' + T2."Description" + ' - ' + T2."User ID") ELSE null END as "Text",
  67. (convert(float, T2."Amount")) as "Amount_1",
  68. ((convert(float, T2."Amount"))) * -1 as "Betrag_alt",
  69. T2."G_L Account No_" as "G L Account No",
  70. T2."Posting Date" as "Posting Date",
  71. T3."Name" as "Name",
  72. T3."Code" as "Code",
  73. T2."Reposting to curr_ No_" as "Reposting To Curr No",
  74. T1."No_" as "No",
  75. T2."Corrected" as "Corrected",
  76. T2."Reposted" as "Reposted",
  77. T2."Veh_ Source Code" as "Veh Source Code",
  78. T2."VIN" as "Vin",
  79. T2."Main Area" as "Main Area",
  80. T2."Branch Code" as "Branch Code",
  81. T2."No_ Series" as "No Series",
  82. T2."Source No_" as "Source No",
  83. T2."Source Type" as "Source Type",
  84. T2."External Document No_" as "External Document No",
  85. T2."Document Date" as "Document Date",
  86. T2."Transaction No_" as "Transaction No",
  87. T2."Bal_ Account Type" as "Bal Account Type",
  88. T2."Gen_ Prod_ Posting Group" as "Gen Prod Posting Group",
  89. T2."Gen_ Bus_ Posting Group" as "Gen Bus Posting Group",
  90. T2."Gen_ Posting Type" as "Gen Posting Type",
  91. T2."Reason Code" as "Reason Code",
  92. CASE WHEN ((T2."Document No_" LIKE 'VRGGFZ%') or (T2."Document No_" LIKE 'VRGF%')) THEN (T2."Veh_ Source Code") WHEN (((T2."Document No_" LIKE 'VGUGFZ%') or (T2."Document No_" LIKE 'VGGF%')) and (T2."Veh_ Source Code" <> 0)) THEN (-1) ELSE (0) END as "Quantity",
  93. T2."Source Code" as "Source Code",
  94. T2."User ID" as "User Id",
  95. T2."Make Code" as "Make Code",
  96. T2."Department Code" as "Department Code",
  97. T2."Bal_ Account No_" as "Bal Account No",
  98. T2."Description" as "Description",
  99. T2."Document No_" as "Document No",
  100. T2."Document Type" as "Document Type",
  101. T2."Entry No_" as "Entry No",
  102. T1."Last Date Modified" as "Last Date Modified",
  103. T1."Income_Balance" as "Income Balance",
  104. T1."Make Code" as "Make Code_2",
  105. T1."Department Code" as "Department Code_2",
  106. T1."Account Type" as "Account Type",
  107. T1."Search Description" as "Search Description",
  108. T1."Name" as "Name_2"
  109. from "NAVISION"."import"."G_L_Account" T1,
  110. ("NAVISION"."import"."G_L_Entry" T2 left outer join "NAVISION"."import"."Department" T3 on (T2."Department Code" = T3."Code") and (T2."Client_DB" = T3."Client_DB"))
  111. where ((T1."No_" = T2."G_L Account No_") and (T1."Client_DB" = T2."Client_DB"))
  112. and (((((((T1."Income_Balance" = 0) and (not T1."No_" IN ('42400','43150','43250','43350','43450','44220','44230','46700','47610','48020','49860','48800','45250'))) and (T2."Document No_" <> 'ABSCHLUSS2008_1')) and (not T2."Document No_" IN ('ABSCHLUSS2009_1','ABSCHLUSS2009_2','ABSCHLUSS2009_3','ABSCHLUSS_1','ABSCHLUSS2011','ABSCHLUSS2012','ABSCHLUSS2013','ABSCHLUSS2014','ABSCHLUSS2015','ABSCHLUSS2016','ABSCHLUSS2017','ABSCHLUSS2018'))) and (T2."Source Code" <> 'JAHRABSCH')) and (T2."Posting Date" >= convert(datetime, '2021-01-01 00:00:00.000'))) and (T1."No_" IN ('88698','88712')))
  113. -- order by "Book No" asc
  114. ) D1