浏览代码

Moll - kleine Anpassungen der Installation

- GC_Marke und GC_Mitarbeiter
- dtsx/LOCOSOFT_imr_csv.dtsx von Bekirovski
- erste Ansätze für den direkten Aufbau im SQL Server
Global Cube 2 年之前
父节点
当前提交
f171602f28

二进制
System/LOCOSOFT/IQD/Belege/Departmentsteuereung_SKR51.imr


二进制
System/LOCOSOFT/IQD/Belege/GC_Marke.imr


二进制
System/LOCOSOFT/IQD/NW/NW_GW_BE_auf_NW_GW_Bestand_Cat.imr


+ 2 - 2
System/LOCOSOFT/IQD/NW/NW_GW_BE_auf_NW_GW_Bestand_Cat.iqd

@@ -1,7 +1,7 @@
 COGNOS QUERY
 STRUCTURE,1,1
 DATABASE,Locosoft_GC
-DATASOURCENAME,C:\GlobalCube\System\LOCOSOFT\IQD\nw\NW_GW_BE_auf_NW_GW_Bestand_Cat.imr
+DATASOURCENAME,C:\GlobalCube\System\LOCOSOFT\IQD\NW\NW_GW_BE_auf_NW_GW_Bestand_Cat.imr
 TITLE,NW_GW_BE_auf_NW_GW_Bestand_Cat.imr
 BEGIN SQL
 select DATE '1900-01-01' as c1,
@@ -167,7 +167,7 @@ select DATE '1900-01-01' as c1,
 from 
 (select ((T1."dealer_vehicle_type" || (rtrim((cast_numberToString(cast_integer(T1."dealer_vehicle_number"))))))) as c166,
 	   T2."internal_number" as c167,
-	   ((T1."dealer_vehicle_type" || (rtrim((cast_numberToString(cast_integer(T1."dealer_vehicle_number"))))))) || ' - ' || (CASE WHEN (T4."description" IS NULL) THEN ('keine Angabe') ELSE (T4."description") END) as c168,
+	   ((T1."dealer_vehicle_type" || (rtrim((cast_numberToString(cast_integer(T1."dealer_vehicle_number"))))))) || ' - ' || (substring((CASE WHEN (T4."description" IS NULL) THEN ('keine Angabe') ELSE (T4."description") END) from 1 for 170)) as c168,
 	   extract(DAY FROM (now()) - T1."in_buy_invoice_no_date") as c169,
 	   extract(DAY FROM (now()) - T1."in_arrival_date") as c170,
 	   T1."calc_basic_charge" + T1."calc_accessory" + T1."calc_extra_expenses" + T1."calc_usage_value_encr_external" + T1."calc_usage_value_encr_internal" + T1."calc_usage_value_encr_other" + T1."calc_total_writedown" + T1."calc_commission_for_arranging" + T1."calc_cost_internal_invoices" + T1."calc_cost_other" + T1."calc_returns_workshop" + (T1."calc_sales_aid" + T1."calc_sales_aid_finish" + T1."calc_sales_aid_bonus") * -1 as c171,

二进制
System/LOCOSOFT/IQD/Zeit/Employee_List.imr


+ 9 - 6
System/LOCOSOFT/IQD/Zeit/Employee_List.iqd

@@ -1,8 +1,8 @@
 COGNOS QUERY
 STRUCTURE,1,1
 DATABASE,Locosoft_GC
-DATASOURCENAME,C:\GlobalCube\System\LOCOSOFT\IQD\Zeit\Employee_List.imr
-TITLE,Employee_List.imr
+DATASOURCENAME,C:\GlobalCube\System\LOCOSOFT\IQD\zeit\employee_list.imr
+TITLE,employee_list.imr
 BEGIN SQL
 select T1."employee_number" as c1,
 	   RSUM(T1."employee_number") as c2,
@@ -30,11 +30,13 @@ select T1."employee_number" as c1,
 	   T1."productivity_factor" as c24,
 	   RSUM(T1."productivity_factor") as c25,
 	   '1' as c26,
-	   '' as c27
+	   '' as c27,
+	   CASE WHEN (T1."mechanic_number" IS NOT NULL) THEN ('Monteur') ELSE null END as c28
 from "dbo"."employees" T1
+where ((T1."leave_date" >= DATE '2016-01-01') or (T1."leave_date" IS NULL))
 
 END SQL
-COLUMN,0,Employee Number
+COLUMN,0,Employee_ID
 COLUMN,1,Summe  (Employee Number) Nr.1
 COLUMN,2,Validity Date
 COLUMN,3,Is Latest Record
@@ -53,12 +55,13 @@ COLUMN,15,Is Business Executive
 COLUMN,16,Is Master Craftsman
 COLUMN,17,Employment Date
 COLUMN,18,Termination Date
-COLUMN,19,Leave Date
+COLUMN,19,leave_date
 COLUMN,20,Is Flextime
 COLUMN,21,Summe  (Is Flextime) Nr.1
 COLUMN,22,Break Time Registration
-COLUMN,23,Productivity Factor
+COLUMN,23,productivity_factor
 COLUMN,24,Summe  (Productivity Factor) Nr.1
 COLUMN,25,Client_DB
 COLUMN,26,Department
+COLUMN,27,Zuordnung_Funktion
 

二进制
System/LOCOSOFT/SQL/batch/cet.exe


文件差异内容过多而无法显示
+ 113 - 118
System/LOCOSOFT/SQL/dtsx/LOCOSOFT_imr_csv.dtsx


+ 95 - 0
System/LOCOSOFT/SQL/schema/GC/views/F_Belege_SKR.sql

@@ -0,0 +1,95 @@
+SET QUOTED_IDENTIFIER ON 
+GO
+SET ANSI_NULLS ON 
+GO
+create view dbo.F_Belege_SKR as
+
+select "GC_Department"."Hauptbetrieb_ID" AS "Rechtseinheit_ID",
+    "GC_Department"."Hauptbetrieb_Name" AS "Rechtseinheit_Name",
+    "GC_Department"."Standort_ID" AS "Betrieb_ID",
+    "GC_Department"."Standort_Name" AS "Betrieb_Name",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene1" AS "Ebene1",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene2" AS "Ebene2",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene3" AS "Ebene3",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene4" AS "Ebene4",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene5" AS "Ebene5",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene6" AS "Ebene6",
+    left("Kontenrahmen_GC_Struct_SKR"."Konto Nr", 4) + ' - ' + "Kontenrahmen_GC_Struct_SKR"."Konto Bezeichnung" AS "Konto",
+    "LOC_Belege"."Acct Nr" AS "Acct_Nr",
+    "LOC_Belege"."Text" AS "Text",
+    case
+        when left(left("LOC_Belege"."KST", 2), 1) = '1' then 'Neuwagen'
+        when left(left("LOC_Belege"."KST", 2), 1) = '2' then 'Gebrauchtwagen'
+        when left(left("LOC_Belege"."KST", 2), 1) = '3' then 'Teile & Zubehör'
+        when left(left("LOC_Belege"."KST", 2), 1) = '4' then 'Service'
+        when left(left("LOC_Belege"."KST", 2), 1) = '5' then 'Weitere Bereiche'
+        when left(left("LOC_Belege"."KST", 2), 1) = '0' then 'ohne Herkunft'
+        else 'Verwaltung'
+    end AS "Kostenstelle",
+    "LOC_Belege"."KST" AS "KST_mit_Bez",
+    left("LOC_Belege"."KST", 2) AS "KST",
+    left("LOC_Belege"."Marke", 1) AS "Markencode",
+    "LOC_Belege"."Vehicle Reference" AS "Fahrgestellnummer",
+    left("Kontenrahmen_GC_Struct_SKR"."Konto Nr", 4) + ' - ' + "Kontenrahmen_GC_Struct_SKR"."Konto Bezeichnung" AS "Konto_Buchung",
+    "LOC_Belege"."Marke" AS "Marke_mit_Bez",
+    left("LOC_Belege"."Marke", 1) AS "Marke",
+    case
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '1' then 'Privater Endkunde'
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '2' then 'Gewerbekunde'
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '3' then 'Großkunde'
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '4' then 'Sonderabnehmer'
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '5' then 'Wiederverkäufer'
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '6' then 'Wirtschaftsraum'
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '9' then 'Sonstige'
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '0' then 'ohne Absatzkanal'
+        else NULL
+    end AS "Ebene21",
+    "LOC_Belege"."Absatzkanal" AS "Absatzkanal_mit_Bez",
+    left("LOC_Belege"."Absatzkanal", 2) AS "Absatzkanal",
+    "LOC_Belege"."Free Form Document Text" AS "Ebene31",
+    "LOC_Belege"."Kostenträger" AS "Kostenträger_mit_Bez",
+    "LOC_Belege"."Skr51 Cost Unit" AS "Kostenträger_FIBU",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene71" AS "Ebene71",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene72" AS "Ebene72",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene73" AS "Ebene73",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene74" AS "Ebene74",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene75" AS "Ebene75",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene76" AS "Ebene76",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene77" AS "Ebene77",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene81" AS "Ebene81",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene82" AS "Ebene82",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene83" AS "Ebene83",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene84" AS "Ebene84",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene85" AS "Ebene85",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene86" AS "Ebene86",
+    "LOC_Belege"."GuV_Bilanz" AS "GuV_Bilanz",
+    "LOC_Belege"."Susa" AS "Susa",
+    "LOC_Belege"."Mandant" AS "Mandant",
+    "LOC_Belege"."Betrag" AS "Ist",
+    "LOC_Belege"."Menge" AS "Menge",
+    "GC_Department"."Gruppe_ID" AS "Gruppe_ID",
+    "GC_Department"."Gruppe_Name" AS "Gruppe_Name",
+    "LOC_Belege"."Bookkeep Date" AS "Invoice_Date",
+    case
+        when "GC_Marken"."Fabrikat" is null then 'Fremd'
+        else "GC_Marken"."Fabrikat"
+    end AS "Fabrikat",
+    case
+        when case
+            when "GC_Marken"."Fabrikat" is null then 'Fremd'
+            else "GC_Marken"."Fabrikat"
+        end = 'Fremd' then 9
+        else "GC_Marken"."Order_By"
+    end AS "Fabrikat_Order_By"
+from "GC"."locosoft"."LOC_Belege" "LOC_Belege"
+    LEFT OUTER JOIN "GC"."data"."GC_Department" "GC_Department" on "LOC_Belege"."Rechtseinheit" = "GC_Department"."Hauptbetrieb"
+    and "LOC_Belege"."Betrieb" = "GC_Department"."Standort"
+    LEFT OUTER JOIN "GC"."data"."GC_Marken" "GC_Marken" on "LOC_Belege"."Marke" = "GC_Marken"."Marke_FIBU"
+    LEFT OUTER JOIN "GC"."locosoft"."Kontenrahmen_GC_Struct_SKR" "Kontenrahmen_GC_Struct_SKR" on "LOC_Belege"."Acct Nr" = "Kontenrahmen_GC_Struct_SKR"."Konto Nr"
+GO
+SET QUOTED_IDENTIFIER OFF 
+GO
+SET ANSI_NULLS OFF 
+GO
+
+GO

+ 95 - 0
System/LOCOSOFT/SQL/schema/GC/views/F_Belege_SKR_direkt.sql

@@ -0,0 +1,95 @@
+SET QUOTED_IDENTIFIER ON 
+GO
+SET ANSI_NULLS ON 
+GO
+create view [dbo].[F_Belege_SKR_direkt] as
+
+select "GC_Department"."Hauptbetrieb_ID" AS "Rechtseinheit_ID",
+    "GC_Department"."Hauptbetrieb_Name" AS "Rechtseinheit_Name",
+    "GC_Department"."Standort_ID" AS "Betrieb_ID",
+    "GC_Department"."Standort_Name" AS "Betrieb_Name",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene1" AS "Ebene1",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene2" AS "Ebene2",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene3" AS "Ebene3",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene4" AS "Ebene4",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene5" AS "Ebene5",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene6" AS "Ebene6",
+    left("Kontenrahmen_GC_Struct_SKR"."Konto Nr", 4) + ' - ' + "Kontenrahmen_GC_Struct_SKR"."Konto Bezeichnung" AS "Konto",
+    "LOC_Belege"."Acct Nr" AS "Acct_Nr",
+    "LOC_Belege"."Text" AS "Text",
+    case
+        when left(left("LOC_Belege"."KST", 2), 1) = '1' then 'Neuwagen'
+        when left(left("LOC_Belege"."KST", 2), 1) = '2' then 'Gebrauchtwagen'
+        when left(left("LOC_Belege"."KST", 2), 1) = '3' then 'Teile & Zubehör'
+        when left(left("LOC_Belege"."KST", 2), 1) = '4' then 'Service'
+        when left(left("LOC_Belege"."KST", 2), 1) = '5' then 'Weitere Bereiche'
+        when left(left("LOC_Belege"."KST", 2), 1) = '0' then 'ohne Herkunft'
+        else 'Verwaltung'
+    end AS "Kostenstelle",
+    "LOC_Belege"."KST" AS "KST_mit_Bez",
+    left("LOC_Belege"."KST", 2) AS "KST",
+    left("LOC_Belege"."Marke", 1) AS "Markencode",
+    "LOC_Belege"."Vehicle Reference" AS "Fahrgestellnummer",
+    left("Kontenrahmen_GC_Struct_SKR"."Konto Nr", 4) + ' - ' + "Kontenrahmen_GC_Struct_SKR"."Konto Bezeichnung" AS "Konto_Buchung",
+    "LOC_Belege"."Marke" AS "Marke_mit_Bez",
+    left("LOC_Belege"."Marke", 1) AS "Marke",
+    case
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '1' then 'Privater Endkunde'
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '2' then 'Gewerbekunde'
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '3' then 'Großkunde'
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '4' then 'Sonderabnehmer'
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '5' then 'Wiederverkäufer'
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '6' then 'Wirtschaftsraum'
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '9' then 'Sonstige'
+        when left(left("LOC_Belege"."Absatzkanal", 2), 1) = '0' then 'ohne Absatzkanal'
+        else NULL
+    end AS "Ebene21",
+    "LOC_Belege"."Absatzkanal" AS "Absatzkanal_mit_Bez",
+    left("LOC_Belege"."Absatzkanal", 2) AS "Absatzkanal",
+    "LOC_Belege"."Free Form Document Text" AS "Ebene31",
+    "LOC_Belege"."Kostenträger" AS "Kostenträger_mit_Bez",
+    "LOC_Belege"."Skr51 Cost Unit" AS "Kostenträger_FIBU",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene71" AS "Ebene71",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene72" AS "Ebene72",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene73" AS "Ebene73",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene74" AS "Ebene74",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene75" AS "Ebene75",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene76" AS "Ebene76",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene77" AS "Ebene77",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene81" AS "Ebene81",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene82" AS "Ebene82",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene83" AS "Ebene83",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene84" AS "Ebene84",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene85" AS "Ebene85",
+    "Kontenrahmen_GC_Struct_SKR"."Ebene86" AS "Ebene86",
+    "LOC_Belege"."GuV_Bilanz" AS "GuV_Bilanz",
+    "LOC_Belege"."Susa" AS "Susa",
+    "LOC_Belege"."Mandant" AS "Mandant",
+    "LOC_Belege"."Betrag" AS "Ist",
+    "LOC_Belege"."Menge" AS "Menge",
+    "GC_Department"."Gruppe_ID" AS "Gruppe_ID",
+    "GC_Department"."Gruppe_Name" AS "Gruppe_Name",
+    "LOC_Belege"."Bookkeep Date" AS "Invoice_Date",
+    case
+        when "GC_Marken"."Fabrikat" is null then 'Fremd'
+        else "GC_Marken"."Fabrikat"
+    end AS "Fabrikat",
+    case
+        when case
+            when "GC_Marken"."Fabrikat" is null then 'Fremd'
+            else "GC_Marken"."Fabrikat"
+        end = 'Fremd' then 9
+        else "GC_Marken"."Order_By"
+    end AS "Fabrikat_Order_By"
+from "LOCOSOFT"."locosoft"."LOC_Belege" "LOC_Belege"
+    LEFT OUTER JOIN "GC"."data"."GC_Department" "GC_Department" on "LOC_Belege"."Rechtseinheit" = "GC_Department"."Hauptbetrieb"
+    and "LOC_Belege"."Betrieb" = "GC_Department"."Standort"
+    LEFT OUTER JOIN "GC"."data"."GC_Marken" "GC_Marken" on "LOC_Belege"."Marke" = "GC_Marken"."Marke_FIBU"
+    LEFT OUTER JOIN "GC"."locosoft"."Kontenrahmen_GC_Struct_SKR" "Kontenrahmen_GC_Struct_SKR" on "LOC_Belege"."Acct Nr" = "Kontenrahmen_GC_Struct_SKR"."Konto Nr"
+GO
+SET QUOTED_IDENTIFIER OFF 
+GO
+SET ANSI_NULLS OFF 
+GO
+
+GO

+ 5 - 0
System/LOCOSOFT/SQL/schema/LOCOSOFT/schemas.sql

@@ -8,5 +8,10 @@ if not exists(select s.schema_id from sys.schemas s where s.name = 'data')
 	and exists(select p.principal_id from sys.database_principals p where p.name = 'dbo') begin
 	exec sp_executesql N'create schema [data] authorization [dbo]'
 end
+
+if not exists(select s.schema_id from sys.schemas s where s.name = 'locosoft') 
+	and exists(select p.principal_id from sys.database_principals p where p.name = 'dbo') begin
+	exec sp_executesql N'create schema [locosoft] authorization [dbo]'
+end
 GO
 

+ 255 - 0
System/LOCOSOFT/SQL/schema/LOCOSOFT/views/locosoft.LOC_Belege.sql

@@ -0,0 +1,255 @@
+SET QUOTED_IDENTIFIER ON 
+GO
+SET ANSI_NULLS ON 
+GO
+CREATE VIEW locosoft.LOC_Belege AS
+
+select 
+    T1."accounting_date" as "Accounting Date",
+    T1."document_type" as "Document Type",
+    T1."document_number" as "Document Number",
+    T1."position_in_document" as "Position In Document",
+    T1."customer_number" as "Customer Number",
+    T1."nominal_account_number" as "Nominal Account Number",
+    T1."is_balanced" as "Is Balanced",
+    T1."clearing_number" as "Clearing Number",
+    T1."document_date" as "Document Date",
+    T1."posted_value" as "Posted Value",
+    T1."debit_or_credit" as "Debit Or Credit",
+    T1."posted_count" as "Posted Count",
+    T1."branch_number" as "Branch Number",
+    T1."customer_contra_account" as "Customer Contra Account",
+    T1."nominal_contra_account" as "Nominal Contra Account", 
+    T1."contra_account_text" as "Contra Account Text",
+    T1."account_form_page_number" as "Account Form Page Number",
+    T1."account_form_page_line" as "Account Form Page Line",
+    T1."serial_number_each_month" as "Serial Number Each Month",
+    T1."employee_number" as "Employee Number",
+    T1."invoice_date" as "Invoice Date",
+    T1."invoice_number" as "Invoice Number",
+    T1."dunning_level" as "Dunning Level",   
+    T1."last_dunning_date" as "Last Dunning Date",
+    T1."journal_page" as "Journal Page",
+    T1."journal_line" as "Journal Line",
+    T1."cash_discount" as "Cash Discount",
+    T1."term_of_payment" as "Term Of Payment",
+    T1."posting_text" as "Posting Text",
+    T1."vehicle_reference" as "Vehicle Reference",
+    T1."vat_id_number" as "Vat Id Number",
+    T1."account_statement_number" as "Account Statement Number",
+    T1."account_statement_page" as "Account Statement Page",
+    T1."vat_key" as "Vat Key",
+    T1."days_for_cash_discount" as "Days For Cash Discount",
+    T1."day_of_actual_accounting" as "Day Of Actual Accounting",
+    T1."skr51_branch" as "Skr51 Branch",
+    T1."skr51_make" as "Skr51 Make",
+    T1."skr51_cost_center" as "Skr51 Cost Center",
+    T1."skr51_sales_channel" as "Skr51 Sales Channel",
+    T1."skr51_cost_unit" as "Skr51 Cost Unit",
+    T1."previously_used_account_no" as "Previously Used Account No",
+    T1."free_form_accounting_text" as "Free Form Accounting Text",
+
+    case
+        when T1."skr51_cost_unit" between 1 and 49 then 'Neuwagen'
+        when T1."skr51_cost_unit" between 50 and 59 then 'Gebrauchtwagen'
+        when T1."skr51_cost_unit" between 60 and 69 then 'Teile & Zubehör'
+        when T1."skr51_cost_unit" between 70 and 79 then 'Service'
+        when T1."skr51_cost_unit" = 0 then 'Ohne Kostenträger'
+        else NULL
+    end as "Free Form Document Text",
+    T2."is_profit_loss_account" as "Nom_Account_Is Profit Loss Account",
+    '1' as "Rechtseinheit",
+    { fn CONCAT(
+        '0',
+        CAST(
+            CAST(T1."subsidiary_to_company_ref" AS INTEGER) AS CHAR(254)
+        )
+    ) } as "Betrieb",
+    case
+        when T1."posting_text" = 'Saldenübernahme CDK'
+        or T1."accounting_date" = '2019-01-01' then convert(datetime, '2019-12-01')
+        else T1."accounting_date"
+    end as "Bookkeep Date",
+    { fn CONCAT(
+        { fn CONCAT(
+            { fn RTRIM(
+                CAST(CAST(T1."skr51_make" AS INTEGER) AS CHAR(254))
+            ) },
+            ' - '
+        ) },
+        T3."skr51_make_description"
+    ) } as "Marke",
+    
+    
+    isnull(CAST(T1."invoice_number" as VARCHAR(100)), '') + ' - ' + T1."posting_text" + '/' + isnull(T1."vehicle_reference",'') + ' - ' + isnull(CAST(T1."employee_number" as VARCHAR(50)), '') as "Text",
+
+
+    '1' as "Mandant",
+    case
+        when T1."debit_or_credit" = 'H' then (CAST(T1."posted_value" AS FLOAT) / 100) * -1
+        else CAST(T1."posted_value" AS FLOAT) / 100
+    end as "Betrag",
+    { fn CONCAT(
+        { fn CONCAT(
+            { fn LEFT(
+                CAST(
+                    CAST(T1."nominal_account_number" AS INTEGER) AS CHAR(254)
+                ),
+                4
+            ) },
+            ' - '
+        ) },
+        T2."account_description"
+    ) } as "Konto_mit_Bezeichnung",
+    case
+        when T1."debit_or_credit" = 'H' then (CAST(T1."posted_count" AS FLOAT) / 100) * -1
+        else CAST(T1."posted_count" AS FLOAT) / 100
+    end as "Menge",
+    { fn LENGTH(
+        { fn CONCAT(
+            CAST(
+                CAST(T1."skr51_cost_center" AS INTEGER) AS CHAR(254)
+            ),
+            'Z'
+        ) }
+    ) } - 1 as "Stellen Cost Center",
+    { fn CONCAT(
+        { fn CONCAT(
+            { fn RTRIM(
+                CAST(
+                    CAST(T1."skr51_cost_center" AS INTEGER) AS CHAR(254)
+                )
+            ) },
+            ' - '
+        ) },
+        T3."skr51_cost_center_name"
+    ) } as "KST",
+    { fn LENGTH(
+        { fn CONCAT(
+            CAST(
+                CAST(T1."skr51_sales_channel" AS INTEGER) AS CHAR(254)
+            ),
+            'Z'
+        ) }
+    ) } - 1 as "Stellen Sales Channel",
+
+    { fn CONCAT(
+        { fn CONCAT(
+            { fn RTRIM(
+                CAST(
+                    CAST(T1."skr51_sales_channel" AS INTEGER) AS CHAR(254)
+                )
+            ) },
+            ' - '
+        ) },
+        T3."skr51_sales_channel_name"
+    ) } as "Absatzkanal",
+    { fn LENGTH(
+        { fn CONCAT(
+            CAST(
+                CAST(T1."skr51_cost_unit" AS INTEGER) AS CHAR(254)
+            ),
+            'Z'
+        ) }
+    ) } - 1 as "Stellen Cost Unit",
+    { fn CONCAT(
+        { fn CONCAT(
+            { fn CONCAT(
+                { fn CONCAT(
+                    { fn RTRIM(
+                        CAST(CAST(T1."skr51_make" AS INTEGER) AS CHAR(254))
+                    ) },
+                    ' - '
+                ) },
+                { fn RTRIM(
+                    CAST(
+                        CAST(T1."skr51_cost_unit" AS INTEGER) AS CHAR(254)
+                    )
+                ) }
+            ) },
+            ' - '
+        ) },
+        T3."skr51_cost_unit_name"
+    ) } as "Kostenträger_mit_Null",
+    case
+        when T1."skr51_cost_unit" between 1 and 49 then { fn CONCAT(
+            { fn CONCAT(
+                { fn CONCAT(
+                    { fn CONCAT(
+                        { fn RTRIM(
+                            CAST(CAST(T1."skr51_make" AS INTEGER) AS CHAR(254))
+                        ) },
+                        ' - '
+                    ) },
+                    { fn RTRIM(
+                        CAST(
+                            CAST(T1."skr51_cost_unit" AS INTEGER) AS CHAR(254)
+                        )
+                    ) }
+                ) },
+                ' - '
+            ) },
+            T3."skr51_cost_unit_name"
+        ) }
+        else { fn CONCAT(
+            { fn CONCAT(
+                { fn RTRIM(
+                    CAST(
+                        CAST(T1."skr51_cost_unit" AS INTEGER) AS CHAR(254)
+                    )
+                ) },
+                ' - '
+            ) },
+            T3."skr51_cost_unit_name"
+        ) }
+    end as "Kostenträger",
+    case
+        when T2."is_profit_loss_account" = 'J' then '2'
+        else '1'
+    end as "GuV_Bilanz",
+    { fn LEFT(
+        CAST(
+            CAST(T1."nominal_account_number" AS INTEGER) AS CHAR(254)
+        ),
+        1
+    ) } as "Susa",
+    case
+        when T1."skr51_cost_center" <> 0 then { fn CONCAT(
+            { fn CONCAT(
+                { fn RTRIM(
+                    CAST(
+                        CAST(T1."nominal_account_number" AS INTEGER) AS CHAR(254)
+                    )
+                ) },
+                '_'
+            ) },
+            { fn RTRIM(
+                CAST(
+                    CAST(T1."skr51_cost_center" AS INTEGER) AS CHAR(254)
+                )
+            ) }
+        ) }
+        else CAST(
+            CAST(T1."nominal_account_number" AS INTEGER) AS CHAR(254)
+        )
+    end as "Acct Nr"
+
+
+from "dbo"."journal_accountings" T1
+    INNER JOIN "dbo"."nominal_accounts" T2 ON T2."nominal_account_number" = T1."nominal_account_number"
+    and T2."subsidiary_to_company_ref" = T1."subsidiary_to_company_ref"
+    LEFT OUTER JOIN "dbo"."accounts_characteristics" T3 on T1."subsidiary_to_company_ref" = T3."subsidiary_to_company_ref"
+    and T1."skr51_branch" = T3."skr51_branch"
+    and T1."skr51_make" = T3."skr51_make"
+    and T1."skr51_cost_center" = T3."skr51_cost_center"
+    and T1."skr51_sales_channel" = T3."skr51_sales_channel"
+    and T1."skr51_cost_unit" = T3."skr51_cost_unit"
+where 
+    T2."is_profit_loss_account" = 'J'
+GO
+SET QUOTED_IDENTIFIER OFF 
+GO
+SET ANSI_NULLS OFF 
+GO
+
+GO

+ 0 - 0
System/LOCOSOFT/SQL/temp/leer.txt → System/LOCOSOFT/Sicherung/leer.txt


+ 7 - 0
Tasks/LOCOSOFT_GC_Mitarbeiter.bat

@@ -0,0 +1,7 @@
+@call "%~dp0"scripts\config.bat 0 > nul
+
+ call impromptu.bat zeit\employee_list.imr csv
+ 
+ move /Y %PORTAL%\System\LOCOSOFT\IQD\zeit\*.csv %PORTAL%\System\LOCOSOFT\Export\
+
+ call dtexec.bat LOCOSOFT_GC_Mitarbeiter.dtsx

部分文件因为文件数量过多而无法显示