@echo off call "C:\GlobalCube\Tasks\scripts\config2.bat" rem ==EMPLOYEE== del C:\GlobalCube\System\OPTIMA\SQL\logs\EMPLOYEE*.* /Q /F >nul 2>nul if not "%1"=="" goto :increment :full call sql_query.bat "TRUNCATE TABLE [OPTIMA].[import].[EMPLOYEE]" call bcp_queryout.bat "EMPLOYEE_1" "SELECT T1.[UNIQUE_IDENT], T1.[PERSON_ID], T1.[FLEX_BALANCE], T1.[OVERWORK_CODE], T1.[WAGE_NO], T1.[EFFICIENCY_PRC], T1.[JOB_START_DATE], T1.[JOB_END_DATE], T1.[PROFESSION_GROUP_ID], T1.[WORK_LEADER_GROUP_ID], T1.[EMPLOYEE_GROUP], T1.[WORKSHOP_TEAM], T1.[EXTERNAL_PERSON_NO], T1.[TRAINEE_YEARS], T1.[MAX_FLEX_HOURS], T1.[MIN_FLEX_HOURS], T1.[FLEX_PATTERN_ALLOWED], T1.[CH_WORK_PATTERN_ALLOWED], T1.[TRANSACT_DATE], T1.[HANDLER], T1.[FUNCTION_CODE], T1.[PROGRAM], T1.[CONV_FLAG], T1.[timestamp], T1.[T350_ACCESS_RULE], '1' as [Client_DB] FROM [deop01].[dbo].[EMPLOYEE] T1 WHERE 1 = 1 ORDER BY T1.[timestamp] " call bcp_in.bat "EMPLOYEE_1" "[import].[EMPLOYEE]" "OPTIMA" call bcp_queryout.bat "EMPLOYEE_2" "SELECT T1.[UNIQUE_IDENT], T1.[PERSON_ID], T1.[FLEX_BALANCE], T1.[OVERWORK_CODE], T1.[WAGE_NO], T1.[EFFICIENCY_PRC], T1.[JOB_START_DATE], T1.[JOB_END_DATE], T1.[PROFESSION_GROUP_ID], T1.[WORK_LEADER_GROUP_ID], T1.[EMPLOYEE_GROUP], T1.[WORKSHOP_TEAM], T1.[EXTERNAL_PERSON_NO], T1.[TRAINEE_YEARS], T1.[MAX_FLEX_HOURS], T1.[MIN_FLEX_HOURS], T1.[FLEX_PATTERN_ALLOWED], T1.[CH_WORK_PATTERN_ALLOWED], T1.[TRANSACT_DATE], T1.[HANDLER], T1.[FUNCTION_CODE], T1.[PROGRAM], T1.[CONV_FLAG], T1.[timestamp], T1.[T350_ACCESS_RULE], '2' as [Client_DB] FROM [deop02].[dbo].[EMPLOYEE] T1 WHERE 1 = 1 ORDER BY T1.[timestamp] " call bcp_in.bat "EMPLOYEE_2" "[import].[EMPLOYEE]" "OPTIMA" goto :cleanup :increment call sql_query.bat "TRUNCATE TABLE [OPTIMAX].[temp].[EMPLOYEE]" call sql_timestamp.bat "EMPLOYEE_1" "[OPTIMA].[import].[EMPLOYEE]" "1" call bcp_queryout.bat "EMPLOYEE_1" "SELECT T1.[UNIQUE_IDENT], T1.[PERSON_ID], T1.[FLEX_BALANCE], T1.[OVERWORK_CODE], T1.[WAGE_NO], T1.[EFFICIENCY_PRC], T1.[JOB_START_DATE], T1.[JOB_END_DATE], T1.[PROFESSION_GROUP_ID], T1.[WORK_LEADER_GROUP_ID], T1.[EMPLOYEE_GROUP], T1.[WORKSHOP_TEAM], T1.[EXTERNAL_PERSON_NO], T1.[TRAINEE_YEARS], T1.[MAX_FLEX_HOURS], T1.[MIN_FLEX_HOURS], T1.[FLEX_PATTERN_ALLOWED], T1.[CH_WORK_PATTERN_ALLOWED], T1.[TRANSACT_DATE], T1.[HANDLER], T1.[FUNCTION_CODE], T1.[PROGRAM], T1.[CONV_FLAG], T1.[timestamp], T1.[T350_ACCESS_RULE], '1' as [Client_DB] FROM [deop01].[dbo].[EMPLOYEE] T1 WHERE T1.[timestamp] > convert(binary(8), '%TS%', 1) AND 1 = 1 ORDER BY T1.[timestamp] " call bcp_in.bat "EMPLOYEE_1" "[temp].[EMPLOYEE]" "OPTIMAX" call sql_timestamp.bat "EMPLOYEE_2" "[OPTIMA].[import].[EMPLOYEE]" "2" call bcp_queryout.bat "EMPLOYEE_2" "SELECT T1.[UNIQUE_IDENT], T1.[PERSON_ID], T1.[FLEX_BALANCE], T1.[OVERWORK_CODE], T1.[WAGE_NO], T1.[EFFICIENCY_PRC], T1.[JOB_START_DATE], T1.[JOB_END_DATE], T1.[PROFESSION_GROUP_ID], T1.[WORK_LEADER_GROUP_ID], T1.[EMPLOYEE_GROUP], T1.[WORKSHOP_TEAM], T1.[EXTERNAL_PERSON_NO], T1.[TRAINEE_YEARS], T1.[MAX_FLEX_HOURS], T1.[MIN_FLEX_HOURS], T1.[FLEX_PATTERN_ALLOWED], T1.[CH_WORK_PATTERN_ALLOWED], T1.[TRANSACT_DATE], T1.[HANDLER], T1.[FUNCTION_CODE], T1.[PROGRAM], T1.[CONV_FLAG], T1.[timestamp], T1.[T350_ACCESS_RULE], '2' as [Client_DB] FROM [deop02].[dbo].[EMPLOYEE] T1 WHERE T1.[timestamp] > convert(binary(8), '%TS%', 1) AND 1 = 1 ORDER BY T1.[timestamp] " call bcp_in.bat "EMPLOYEE_2" "[temp].[EMPLOYEE]" "OPTIMAX" call sql_query.bat "DELETE T1 FROM [OPTIMA].[import].[EMPLOYEE] T1 INNER JOIN [OPTIMAX].[temp].[EMPLOYEE] T2 ON T1.[CLIENT_DB] = T2.[CLIENT_DB] AND T1.[PERSON_ID] = T2.[PERSON_ID]" call sql_query.bat "INSERT INTO [OPTIMA].[import].[EMPLOYEE] with (TABLOCK) SELECT * FROM [OPTIMAX].[temp].[EMPLOYEE] T1" :cleanup call delete.bat "C:\GlobalCube\System\OPTIMA\SQL\temp\EMPLOYEE_1.csv" call delete.bat "C:\GlobalCube\System\OPTIMA\SQL\temp\EMPLOYEE_2.csv"