ISD Development Approach:: Data Synchronization Tasks
ISD Development Approach:: Data Synchronization Tasks
ISD Development Approach:: Data Synchronization Tasks
Mapping Design:
Source DML:
SELECT
RTRIM(ssn) [ssn]
, RTRIM(firstname) [fname]
, RTRIM(REPLACE(lastname,',','') ) [lname]
, CASE eestatus WHEN 'A' THEN 'A'
WHEN 'L' THEN 'A'
WHEN 'R' THEN 'I'
WHEN 'T' THEN 'I'
ELSE 'I'
END empstatus
, CONVERT(CHAR(10),dateoflasthire, 101) lasthired
, CASE WHEN dateoftermination IS NOT NULL THEN
CONVERT(VARCHAR(10),dateoftermination, 101) ELSE '' END termdate
, CASE WHEN RTRIM(jobdesc) like 'Conv%' THEN 'TERM'
ELSE RTRIM(jobdesc) END jobtitle
, CASE eetype WHEN 'REG' THEN 'F'
ELSE 'P'
END [emptype]
, CAST(CASE WHEN salaryorhourly = 'H' THEN hourlyrate
WHEN salaryorhourly = 'S' THEN annualsalary
ELSE ''
END as numeric(12,2)) salrate
, salaryorhourly salmode
, CASE WHEN left(payfrequency,1) = 'B' THEN 'BI'
WHEN left(payfrequency,1) = 'W' THEN 'W'
ELSE ''
END payfreq
, '' column_l
, ISNULL(CAST(current_year AS INT) ,YEAR(GETDATE())) current_year
, ISNULL(CAST(cur_yr_base AS INT) ,0) cur_yr_base
, ISNULL(CAST(cur_yr_ovt AS INT) ,0) cur_yr_ovt
, ISNULL(CAST(cur_yr_bonus AS INT) ,0) cur_yr_bonus
, ISNULL(CAST(cur_yr_gross AS INT),0) cur_yr_gross
, ISNULL(CAST([previous_year] AS INT) , YEAR(GETDATE()) -1) [previous_year]
, ISNULL(CAST([prev_yr_base] AS INT),0) [prev_yr_base]
, ISNULL(CAST([prev_yr_ovt] AS INT),0) [prev_yr_ovt]
, ISNULL(CAST([prev_yr_bonus] AS INT),0) [prev_yr_bonus]
, ISNULL(CAST([prev_yr_gross] AS INT),0) [prev_yr_gross]
, ISNULL(CAST([prev_year_2] AS INT),YEAR(GETDATE()) -2) [prev_year_2]
, ISNULL(CAST([prev_yr_2_base] AS INT),0) [prev_yr_2_base]
, ISNULL(CAST([prev_yr_2_ovt] AS INT),0) [prev_yr_2_ovt]
, ISNULL(CAST([prev_yr_2_bonus] AS INT),0) [prev_yr_2_bonus]
, ISNULL(CAST(prev_yr_2_gross AS INT),0) prev_yr_2_gross
, '' block
, '' column_ac
, '' column_ad
, CONVERT(CHAR(10),dateoforiginalhire, 101) orig_hiredate
, RTRIM(eenumber) [empnum]
, '' [svc_date]
, '' column_ah
, '' column_ai
, '' column_aj
, '' column_ak
, CASE WHEN company = 'MB' THEN 'MAR1084'
WHEN company = 'MBP' THEN 'MAR1101'
WHEN company = 'MBN' THEN 'MAR1105'
WHEN company IN ('RH','FWM','RHF') THEN 'REY1114'
WHEN company = 'CBS' THEN 'CHI1089'
WHEN company = 'HD' AND location IN ('114','115') THEN 'GAT1090'
WHEN company = 'HD' AND location IN ('116') THEN 'MES1093'
WHEN company = 'HD' AND location IN ('118','119') THEN 'ALL1118'
WHEN company = 'HD' THEN 'HAR1091'
WHEN company = 'HLD' THEN 'HEN1092'
WHEN company = 'PDC' THEN 'PRE1094'
WHEN company = 'PDM' THEN 'PRE1095'
WHEN company = 'PVA' THEN 'PRE1096'
WHEN company = 'CB' THEN 'CRE1103'
WHEN company = 'RFS' THEN 'REI1104'
WHEN company = 'RFL' THEN 'RFL1109'
WHEN company = 'FDC' THEN 'FLO1108'
WHEN company = 'CBY' THEN 'CHE1112'
WHEN company = 'WCD' THEN 'WIN1113'
WHEN company ='RSS' THEN 'REI1119'
WHEN company ='FGC' THEN 'GOL1120'
WHEN company ='GLCC' THEN 'GRE1121'
ELSE ''
END vx_comp_code
FROM
v_ee v
LEFT JOIN (
SELECT prgeeid
, prgcoid
, MAX(CASE WHEN pehpaydate = YEAR(GETDATE()) THEN [pehpaydate] END)
current_year
, MAX(CASE WHEN pehpaydate = YEAR(GETDATE()) THEN [Base Amount] END)
cur_yr_base
, MAX(CASE WHEN PehPaydate = YEAR(GETDATE()) THEN [Overtime Amount]
END ) cur_yr_ovt
, MAX(CASE WHEN PehPaydate = YEAR(GETDATE()) THEN [Bonus Amount] END )
cur_yr_bonus
, MAX(CASE WHEN PehPaydate = YEAR(GETDATE()) THEN [Gross Amount] END)
cur_yr_gross
, MAX(CASE WHEN pehpaydate = YEAR(GETDATE()) - 1 THEN pehpaydate END)
previous_year
, MAX(CASE WHEN pehpaydate = YEAR(GETDATE()) - 1 THEN [Base Amount] END)
[prev_yr_base]
, MAX(CASE WHEN PehPaydate = YEAR(GETDATE()) - 1 THEN [Overtime Amount]
END ) [prev_yr_ovt]
, MAX(CASE WHEN PehPaydate = YEAR(GETDATE()) - 1 THEN [Bonus Amount]
END ) [prev_yr_bonus]
, MAX(CASE WHEN PehPaydate = YEAR(GETDATE()) - 1 THEN [Gross Amount] END)
[prev_yr_gross]
, MAX(CASE WHEN pehpaydate = YEAR(GETDATE()) - 2 THEN [pehpaydate] END)
[prev_year_2]
, MAX(CASE WHEN pehpaydate = YEAR(GETDATE()) - 2 THEN [Base Amount] END)
[prev_yr_2_base]
, MAX(CASE WHEN PehPaydate = YEAR(GETDATE()) - 2 THEN [Overtime Amount]
END ) [prev_yr_2_ovt]
, MAX(CASE WHEN PehPaydate = YEAR(GETDATE()) - 2 THEN [Bonus Amount]
END ) [prev_yr_2_bonus]
, MAX(CASE WHEN PehPaydate = YEAR(GETDATE()) - 2 THEN [Gross Amount] END)
[prev_yr_2_gross]
FROM
(
SELECT YEAR(pehpaydate) PehPaydate
, pehEEID prgeeid
, pehCOID prgcoid
, SUM( CASE WHEN RTRIM(pehearncode) = PayCode AND category = 'Base
Amount' THEN ISNULL(pehcuramt,0) END ) [Base Amount]
, SUM( CASE WHEN RTRIM(pehearncode) = PayCode AND category = 'overtime'
THEN ISNULL(pehcuramt,0) END ) [Overtime Amount]
, SUM( CASE WHEN RTRIM(pehearncode) = PayCode AND category = 'Bonus' THEN
ISNULL(pehcuramt,0) END) [Bonus Amount]
, SUM( CASE WHEN PehReportCategory <> 'NCH' AND PehUseDedOffSet = 'N'
THEN ISNULL(pehcuramt,0) END ) [Gross Amount]
FROM pearhist