You are on page 1of 5

/*----Create below staging for dba Extracted data and then import the dba extracted

data -----*/
CREATE TABLE XXARG.XXRE_EBS_LOCAL_TAX_NEW
( EMPLOYEE_NUMBER VARCHAR2(30 BYTE),
STATE_CODE VARCHAR2(2 BYTE),
COUNTY_CODE VARCHAR2(3 BYTE),
CITY_CODE VARCHAR2(4 BYTE),
STATE_NAME VARCHAR2(25 BYTE),
CITY_NAME VARCHAR2(30 BYTE),
COUNTY_NAME VARCHAR2(30 BYTE),
CITY_SCHOOL_DIST_CODE VARCHAR2(5 BYTE),
CITY_SCHOOL_DIST_NAME VARCHAR2(15 BYTE),
COUNTY_SCHOOL_DIST_CODE VARCHAR2(5 BYTE),
COUNTY_SCHOOL_DIST_NAME VARCHAR2(15 BYTE),
JURISDICTION_CODE VARCHAR2(11 BYTE),
FILING_STATUS VARCHAR2(80 BYTE),
CONTRIBUTION_PERCENTAGE NUMBER,
WITHHOLDING_ALLOWANCES NUMBER(3,0),
LIT_ADDITIONAL_TAX NUMBER(11,2),
ADDITIONAL_WA_RATE NUMBER(6,3),
LIT_EXEMPT VARCHAR2(30 BYTE),
SD_EXEMPT VARCHAR2(30 BYTE),
HT_EXEMPT VARCHAR2(30 BYTE),
LIT_OVERRIDE_RATE NUMBER(6,3),
LIT_OVERRIDE_AMOUNT NUMBER(11,2),
WAGE_EXEMPT VARCHAR2(30 BYTE),
EFFECTIVE_START_DATE DATE,
EFFECTIVE_END_DATE DATE
);

drop table xxarg.xxre_ebs_local_tax_xfrm;

Create table xxarg.xxre_ebs_local_tax_xfrm as


SELECT * FROM
xxarg.xxre_ebs_local_tax_new;

/*Select * from
xxarg.xxre_ebs_local_tax_new
WHERE
county_school_dist_code IS NOT NULL
AND city_school_dist_code IS NULL;

SELECT
*
FROM
xxarg.xxre_ebs_local_tax_new new
WHERE
NOT EXISTS (
SELECT
'x'
FROM
xxarg.xxre_ebs_local_tax old
WHERE
old.employee_number = new.employee_number
AND old.state_code = new.state_code
AND old.county_code = new.county_code
AND old.city_code = new.city_code
)
--AND county_school_dist_code IS NULL
; */

--Getting Assignment date and assignment ID--


ALTER TABLE xxarg.xxre_ebs_local_tax_xfrm ADD New_effective_start_date DATE;

ALTER TABLE xxarg.xxre_ebs_local_tax_xfrm ADD ASGID VARCHAR2(100);


commit;

UPDATE xxarg.xxre_ebs_local_tax_xfrm A SET A.New_effective_start_date =


(Select max(c.effective_start_date) from XXARG.xxre_workrelationship_xfrm c where
c.employee_number = a.employee_number);
commit;

ALTER TABLE xxarg.xxre_ebs_local_tax_xfrm ADD Final_effective_start_date DATE;

UPDATE xxarg.xxre_ebs_local_tax_xfrm SET Final_effective_start_date =


(CASE
WHEN New_effective_start_date > effective_start_date then New_effective_start_date
WHEN New_effective_start_date < effective_start_date then effective_start_date
WHEN New_effective_start_date = effective_start_date then effective_start_date
END)
;

commit;

UPDATE xxarg.xxre_ebs_local_tax_xfrm A SET A.ASGID =


(Select max(b.asgid) from XXARG.xxre_workrelationship_xfrm b where
b.employee_number = a.employee_number and
b.effective_start_date = a.New_effective_start_date);

commit;
------
--Creating TRANS table --

DROP TABLE xxarg.xxre_local_tax_tbl_trans;


CREATE TABLE xxarg.xxre_local_tax_tbl_trans
(EMPLOYEE_NUMBER varchar2(2000),
ASG_EFF_DATE DATE,
ASGID varchar2(2000),
STATE_CODE varchar2(2000),
COUNTY_CODE varchar2(2000),
CITY_CODE varchar2(2000),
STATE_NAME varchar2(2000),
CITY_NAME varchar2(2000),
COUNTY_NAME varchar2(2000),
CITY_SCHOOL_DST_CODE varchar2(2000),
CITY_SCHOOL_DST_NAME varchar2(2000),
COUNTY_SCHOOL_DST_CODE varchar2(2000),
COUNTY_SCHOOL_DST_NAME varchar2(2000),
JURISDICTION_CODE varchar2(2000),
FILING_STATUS varchar2(2000),
CONTRIBUTION_PERCENTAGE varchar2(2000),
WITHHOLDING_ALLOWANCES varchar2(2000),
LIT_ADDITIONAL_TAX varchar2(2000),
ADDITIONAL_WA_RATE varchar2(2000),
LIT_EXEMPT varchar2(2000),
SD_EXEMPT varchar2(2000),
HT_EXEMPT varchar2(2000),
LIT_OVERRIDE_RATE varchar2(2000),
LIT_OVERRIDE_AMOUNT varchar2(2000),
WAGE_EXEMPT varchar2(2000),
EFFECTIVE_START_DATE DATE,
FINAL_EFFECTIVE_START_DATE DATE,
EFFECTIVE_END_DATE DATE,
cardname varchar2(2000),
cardsequence varchar2(2000),
componentname varchar2(2000),
componentsequence varchar2(2000),
tobeloaded varchar2(1),
comments varchar2(2000));

commit;

--Updating the trans table--

INSERT INTO XXARG.xxre_local_tax_tbl_trans


(EMPLOYEE_NUMBER,
ASG_EFF_DATE,
ASGID,
STATE_CODE,
COUNTY_CODE,
CITY_CODE,
STATE_NAME,
CITY_NAME,
COUNTY_NAME,
CITY_SCHOOL_DST_CODE,
CITY_SCHOOL_DST_NAME,
COUNTY_SCHOOL_DST_CODE,
COUNTY_SCHOOL_DST_NAME,
JURISDICTION_CODE,
FILING_STATUS,
CONTRIBUTION_PERCENTAGE,
WITHHOLDING_ALLOWANCES,
LIT_ADDITIONAL_TAX,
ADDITIONAL_WA_RATE,
LIT_EXEMPT,
SD_EXEMPT,
HT_EXEMPT,
LIT_OVERRIDE_RATE,
LIT_OVERRIDE_AMOUNT,
WAGE_EXEMPT,
EFFECTIVE_START_DATE,
FINAL_EFFECTIVE_START_DATE,
EFFECTIVE_END_DATE,
cardname,
cardsequence,
componentname,
componentsequence,
tobeloaded,
comments
)
Select
trim(EMPLOYEE_NUMBER),
trim(New_effective_start_date),
trim(ASGID),
trim(STATE_CODE),
trim(COUNTY_CODE),
trim(CITY_CODE),
trim(STATE_NAME),
trim(CITY_NAME),
trim(COUNTY_NAME),
trim(CITY_SCHOOL_DIST_CODE),
trim(CITY_SCHOOL_DIST_NAME),
trim(COUNTY_SCHOOL_DIST_CODE),
trim(COUNTY_SCHOOL_DIST_NAME),
trim(JURISDICTION_CODE),
trim(FILING_STATUS),
trim(CONTRIBUTION_PERCENTAGE),
trim(WITHHOLDING_ALLOWANCES),
trim(LIT_ADDITIONAL_TAX),
trim(ADDITIONAL_WA_RATE),
trim(LIT_EXEMPT),
trim(SD_EXEMPT),
trim(HT_EXEMPT),
trim(LIT_OVERRIDE_RATE),
trim(LIT_OVERRIDE_AMOUNT),
trim(WAGE_EXEMPT),
trim(EFFECTIVE_START_DATE),
trim(FINAL_EFFECTIVE_START_DATE),
trim(EFFECTIVE_END_DATE),
'Tax Withholding',
'1',
'City Taxes',
'1',
'Y',
'A'
from xxarg.xxre_ebs_local_tax_xfrm;

commit;

--Updating Component Sequence for employees with multiple states


update XXARG.xxre_local_tax_tbl_trans a set a.componentsequence='2'
where rowid in (
select min(rowid)
from XXARG.xxre_local_tax_tbl_trans b where b.tobeloaded='Y'
And a.employee_number=b.employee_number
and b.componentsequence='1'
group by employee_number
having count(*)>1 )
and a.componentsequence='1'
;

commit;

update XXARG.xxre_local_tax_tbl_trans a set a.componentsequence='3'


where rowid in (
select min(rowid)
from XXARG.xxre_local_tax_tbl_trans b where b.tobeloaded='Y'
And a.employee_number=b.employee_number
and b.componentsequence='1'
group by employee_number
having count(*)>1 )
and a.componentsequence='1'
;
commit;

You might also like