/****** Object: StoredProcedure [dbo].[AddPrimaryKey_GFSISSY02] Script Date: 12/12/2013 14:59:49
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[AddPrimaryKey_GFSISSY02]
AS
ADD CONSTRAINT [EmployeeKey] PRIMARY KEY ([Employer_code], [Emp_no]);
ALTER TABLE [KBF_Data].[dbo].[GFSISSY02]
BEGIN
END
AddPrimaryKey_GFSISSY02
Thursday, December 12, 2013 2:28 PM
Procedures Page 1
/****** Object: StoredProcedure [dbo].[Analysis_GFSISSY26_DuplicateCheck] Script Date: 12/12/2013
15:00:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Analysis_GFSISSY26_DuplicateCheck]
AS
DROP TABLE #counts;
DROP TABLE #RowsCounted;
CREATE TABLE #counts
Employer_code nvarchar(3),
Emp_no nvarchar(10),
Check_date nvarchar(10),
Check_number int,
Rowcnt int
(
)
CREATE TABLE #RowsCounted
Emp_no nvarchar(10),
Employer_code nvarchar(3),
Check_date nvarchar(10),
Check_number int,
Check_gross decimal(10,2),
Check_net decimal(10,2)
(
)
SELECT g26.[Employer_code]
,g26.[Emp_no]
,g26.[Check_date]
,g26.[Check_number]
,COUNT(*) AS 'rowcnt'
FROM [KBF_Data].[dbo].[GFSISSY26] AS g26
GROUP BY [Employer_code]
,g26.[Emp_no]
,g26.[Check_date]
,g26.[Check_number]
ORDER BY g26.[Emp_no], g26.[Employer_code], g26.[Check_date], g26.[Check_number];
INSERT INTO #counts
@Emp_no nvarchar(10),
@Check_date nvarchar(10),
@Check_number int,
@Rowcnt int;
DECLARE @Employer_code nvarchar(3),
FROM #counts
SELECT Emp_no, Employer_code, Check_date, Check_number, Rowcnt
DECLARE datacursor CURSOR FOR
OPEN datacursor;
INTO @Emp_no, @Employer_code, @Check_date, @Check_number, @Rowcnt;
FETCH NEXT FROM datacursor
WHILE @@FETCH_STATUS = 0
IF (@Rowcnt > 1)
FROM [KBF_Data].[dbo].[GFSISSY26] AS b62g
SELECT b62g.Emp_no, b62g.Employer_code, b62g.Check_date,
b62g.Check_number, b62g.Check_gross, b62g.Check_net
INSERT INTO #RowsCounted
BEGIN
BEGIN
BEGIN
Analysis_GFSISSY26_DuplicateCheck
Thursday, December 12, 2013 3:00 PM
Procedures Page 2
FROM [KBF_Data].[dbo].[GFSISSY26] AS b62g
AND
b62g.[Employer_code] = @Employer_code
AND
b62g.[Check_date] = @Check_date
AND
b62g.[Check_number] = @Check_number
WHERE b62g.[Emp_no] = @Emp_no
END
INTO @Emp_no, @Employer_code, @Check_date, @Check_number, @Rowcnt;
FETCH NEXT FROM datacursor
END
CLOSE datacursor;
DEALLOCATE datacursor;
SELECT * FROM #RowsCounted;
DROP TABLE #counts;
DROP TABLE #RowsCounted;
END
Procedures Page 3
/****** Object: StoredProcedure [dbo].[BulkInsert_GFSISSY02] Script Date: 12/12/2013 15:00:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
@datafile nvarchar(max),
@formatfile nvarchar(max)
ALTER PROCEDURE [dbo].[BulkInsert_GFSISSY02]
AS
--SET NOCOUNT ON;
TRUNCATE TABLE [dbo].[GFSISSY02];
DECLARE @commandstring nvarchar(max);
SET @commandstring = 'BULK INSERT [dbo].[GFSISSY02] FROM ''' + @datafile + ''' WITH
( FORMATFILE=''' + @formatfile + ''' );'
EXEC sp_executesql @commandstring;
BEGIN
END
BulkInsert_GFSISSY02
Thursday, December 12, 2013 3:00 PM
Procedures Page 4
/****** Object: StoredProcedure [dbo].[BulkInsert_GFSISSY92] Script Date: 12/12/2013 15:02:28 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
@datafile nvarchar(max),
@formatfile nvarchar(max)
ALTER PROCEDURE [dbo].[BulkInsert_GFSISSY92]
AS
BEGIN
TRUNCATE TABLE [dbo].[GFSISSY92];
SET @commandstring = 'BULK INSERT [dbo].[GFSISSY92] FROM ''' + @datafile + ''' WITH
( FORMATFILE=''' + @formatfile + ''' );'
EXEC sp_executesql @commandstring;
DECLARE @commandstring nvarchar(max);
END
BulkInsert_GFSISSY92
Thursday, December 12, 2013 3:01 PM
Procedures Page 5
/****** Object: StoredProcedure [dbo].[GetErrorInfo] Script Date: 12/12/2013 15:03:01 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[GetErrorInfo]
AS
SET NOCOUNT ON;
BEGIN
SELECT
ERROR_NUMBER() AS ErrorNumber,
ERROR_SEVERITY() AS ErrorSeverity,
ERROR_STATE() AS ErrorState,
ERROR_PROCEDURE() AS ErrorProcedure,
ERROR_LINE() AS ErrorLine,
ERROR_MESSAGE() AS ErrorMessage;
END
GetErrorInfo
Thursday, December 12, 2013 3:02 PM
Procedures Page 6
/****** Object: StoredProcedure [dbo].[log_event] Script Date: 12/12/2013 15:03:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
@ProcName nvarchar(50),
@LogText nvarchar(max)
ALTER PROCEDURE [dbo].[log_event]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @logDate datetime;
SET @logDate = SYSDATETIME();
IF @LogText IS NULL
SET @LogText = 'UNDESCRIBED ERROR'
BEGIN
END
VALUES (@logDate, @ProcName, @LogText)
INSERT INTO [dbo].[EventLog] ([LogDate], [ProcName], [LogText])
BEGIN TRY
END TRY
VALUES (@logDate, '[dbo].[log_event]','Logging failure.')
INSERT INTO [dbo].[EventLog] ([LogDate], [ProcName], [LogText])
BEGIN CATCH
END CATCH
END
log_event
Thursday, December 12, 2013 3:03 PM
Procedures Page 7
/****** Object: StoredProcedure [dbo].[Process_PhoneNumber] Script Date: 12/12/2013 15:03:52
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
@PhoneIn nvarchar(30)
ALTER PROCEDURE [dbo].[Process_PhoneNumber]
AS
DECLARE @Areacode nchar(3), @Num1 nchar(3), @Num2 nchar(4), @Number nchar(8),
@Extension nvarchar(30)
SET @PhoneIn = RTRIM(LTRIM(@PhoneIn));
SET @PhoneIn = REPLACE(@PhoneIn, '.', '');
SET @PhoneIn = REPLACE(@PhoneIn, '-', '');
SET @PhoneIn = REPLACE(@PhoneIn, '(', '');
SET @PhoneIn = REPLACE(@PhoneIn, ')', '');
--SELECT @PhoneIn;
IF(PATINDEX('1%', @PhoneIn) = 1)
SET @PhoneIn = RIGHT(@PhoneIn, (LEN(@PhoneIn)-1));
BEGIN
END
ELSE IF (PATINDEX('001%', @PhoneIn) = 1)
SET @PhoneIn = RIGHT(@PhoneIn, (LEN(@PhoneIn) - 3));
BEGIN
END
ELSE IF (PATINDEX('003%', @PhoneIn) = 1)
SET @PhoneIn = RIGHT(@PhoneIn, (LEN(@PhoneIn) - 3));
BEGIN
END
--SELECT @PhoneIn;
IF(LEN(@PhoneIn)>10)
SET @Extension = RIGHT(@PhoneIn, (LEN(@PhoneIn) - 10));
SET @Areacode=LEFT(@PhoneIn, 3);
SET @Number=SUBSTRING(RTRIM(@PhoneIn), 4, 7);
BEGIN
END
ELSE
SET @Areacode=LEFT(@PhoneIn, 3);
SET @Number=SUBSTRING(RTRIM(@PhoneIn), 4, 7);
BEGIN
--END IF (LEN(@PhoneIn)=10)
--ELSE
--BEGIN
END
SET @Num1 = LEFT(@Number, 3);
SET @Num2 = RIGHT(@Number, 5);
SELECT @Areacode, @Num1 + '-' + @Num2, @Extension;
BEGIN
END
Process_PhoneNumber
Thursday, December 12, 2013 3:03 PM
Procedures Page 8
/****** Object: StoredProcedure [dbo].[Select_DirectDeposit] Script Date: 12/12/2013 15:04:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Select_DirectDeposit]
AS
BEGIN
select
SUBSTRING(gs14a.Emp_no,3,(LEN(gs14a.Emp_no)-2)) AS 'Emp_no',
stuff((
select ',' + gs14b.Deduction_code
from dbo.GFSISSY14 AS gs14b
AND
RTRIM(LTRIM(gs14b.Ytd_employee_amount)) != '.00'
OR
RTRIM(LTRIM(gs14b.Ytd_employer_amount)) != '.00'
OR
RTRIM(LTRIM(gs14b.Arrears_amount)) != '.00'
OR
RTRIM(LTRIM(gs14b.Begin_date)) != 0
AND
RIGHT(RTRIM(LTRIM(gs14b.Begin_date)), 4) > 2012
AND
LEFT(RTRIM(LTRIM(gs14b.Begin_date)),
LEN(RTRIM(LTRIM(gs14b.Begin_date)))-6) > 4
AND
LEFT(RIGHT(RTRIM(LTRIM(gs14b.Begin_date)), 6), 2) > 01
(
)
(
)
AND
gs14b.Emp_no = gs14a.Emp_no
where RTRIM(LTRIM(gs14b.Deduction_code)) IN ('DDCK', 'DDCU', 'DDFL1', 'DDFL2', 'DDFL3',
'DDPC1', 'DDSAV')
order by gs14b.Deduction_code
for xml path('')
),1,1,'') AS 'Deduction Codes'
from dbo.GFSISSY14 AS gs14a
AND
RTRIM(LTRIM(gs14a.Ytd_employee_amount)) != '.00'
OR
RTRIM(LTRIM(gs14a.Ytd_employer_amount)) != '.00'
OR
RTRIM(LTRIM(gs14a.Arrears_amount)) != '.00'
OR
RTRIM(LTRIM(gs14a.Begin_date)) != 0
AND
RIGHT(RTRIM(LTRIM(gs14a.Begin_date)), 4) > 2012
AND
LEFT(RTRIM(LTRIM(gs14a.Begin_date)),
LEN(RTRIM(LTRIM(gs14a.Begin_date)))-6) > 4
AND
LEFT(RIGHT(RTRIM(LTRIM(gs14a.Begin_date)), 6), 2) > 01
(
(
WHERE RTRIM(LTRIM(gs14a.Deduction_code)) IN ('DDCK', 'DDCU', 'DDFL1', 'DDFL2', 'DDFL3',
'DDPC1', 'DDSAV')
Select_DirectDeposit
Thursday, December 12, 2013 3:04 PM
Procedures Page 9
LEFT(RIGHT(RTRIM(LTRIM(gs14a.Begin_date)), 6), 2) > 01
)
)
group by gs14a.Emp_no
END
Procedures Page 10
/****** Object: StoredProcedure [dbo].[Select_Employees_Current_WithPayRateHireDatesSSN] Script
Date: 12/12/2013 15:04:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Select_Employees_Current_WithPayRateHireDatesSSN]
AS
FROM GFSISSY02 AS g2
AND
(RTRIM(LTRIM(g2.last_day_worked)) = 0 OR
RIGHT(RTRIM(LTRIM(g2.last_day_worked)),4) = '2013')
--(RTRIM(LTRIM(g2.cur_term_date)) = 0 OR
RIGHT(RTRIM(LTRIM(g2.cur_term_date)),4) = '2013')
WHERE RTRIM(LTRIM(g2.rate_frequency)) = 'H'
ORDER BY RTRIM(LTRIM(g2.Last_name)), RTRIM(LTRIM(g2.First_name)),
RTRIM(LTRIM(g2.MI))
SELECT RIGHT(RTRIM(LTRIM(g2.Emp_no)),7) AS 'Emp_no', RTRIM(LTRIM(g2.Employer_code))
AS 'Employer_code', RTRIM(LTRIM(g2.First_name)) + ' ' + RTRIM(LTRIM(g2.MI)) + ' ' +
RTRIM(LTRIM(g2.Last_name)) AS 'Full_name', RTRIM(LTRIM(g2.soc_sec_no)) AS 'soc_sec_no',
RTRIM(LTRIM(g2.cur_rate_of_pay)) AS 'cur_rate_of_pay', RTRIM(LTRIM(g2.adjusted_date_hire))
AS 'adjusted_date_hire', RTRIM(LTRIM(g2.last_day_worked)) AS 'last_day_worked'--,
RTRIM(LTRIM(g2.cur_term_date)) AS 'cur_term_date'
BEGIN
END
Select_Employees_Current_WithPayRateHireDatesSSN
Thursday, December 12, 2013 3:04 PM
Procedures Page 11
/****** Object: StoredProcedure [dbo].[Select_Garnishments] Script Date: 12/12/2013 15:05:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Select_Garnishments]
AS
BEGIN
select
SUBSTRING(gs14a.Emp_no,3,(LEN(gs14a.Emp_no)-2)) AS 'Emp_no',
stuff((
select ',' + gs14b.Deduction_code
from dbo.GFSISSY14 AS gs14b
AND
RTRIM(LTRIM(gs14b.Ytd_employee_amount)) != '.00'
OR
RTRIM(LTRIM(gs14b.Ytd_employer_amount)) != '.00'
OR
RTRIM(LTRIM(gs14b.Arrears_amount)) != '.00'
OR
RTRIM(LTRIM(gs14b.Begin_date)) != 0
AND
RIGHT(RTRIM(LTRIM(gs14b.Begin_date)), 4) > 2012
AND
LEFT(RTRIM(LTRIM(gs14b.Begin_date)),
LEN(RTRIM(LTRIM(gs14b.Begin_date)))-6) > 4
AND
LEFT(RIGHT(RTRIM(LTRIM(gs14b.Begin_date)), 6), 2) > 01
(
)
(
)
AND
gs14b.Emp_no = gs14a.Emp_no
where RTRIM(LTRIM(gs14b.Deduction_code)) IN ('SUPP', 'BANK', 'GAR', 'GAR2', 'GAR4', 'GAR6',
'GAR7', 'IRS', 'SCH', 'STATE')
order by gs14b.Deduction_code
for xml path('')
),1,1,'') AS 'Deduction Codes'
from dbo.GFSISSY14 AS gs14a
WHERE
AND
RTRIM(LTRIM(gs14a.Ytd_employee_amount)) != '.00'
OR
RTRIM(LTRIM(gs14a.Ytd_employer_amount)) != '.00'
OR
RTRIM(LTRIM(gs14a.Arrears_amount)) != '.00'
OR
RTRIM(LTRIM(gs14a.Begin_date)) != 0
AND
RIGHT(RTRIM(LTRIM(gs14a.Begin_date)), 4) > 2012
AND
LEFT(RTRIM(LTRIM(gs14a.Begin_date)),
LEN(RTRIM(LTRIM(gs14a.Begin_date)))-6) > 4
AND
(
(
RTRIM(LTRIM(gs14a.Deduction_code)) IN ('SUPP', 'BANK', 'GAR', 'GAR2', 'GAR4', 'GAR6', 'GAR7',
'IRS', 'SCH', 'STATE')
Select_Garnishments
Thursday, December 12, 2013 3:05 PM
Procedures Page 12
AND
LEFT(RIGHT(RTRIM(LTRIM(gs14a.Begin_date)), 6), 2) > 01
)
)
group by gs14a.Emp_no
END
Procedures Page 13
/****** Object: StoredProcedure [dbo].[Select_GFSISSY26_CheckNet] Script Date: 12/12/2013
15:05:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
@Emp_no nvarchar(10)
,@Employer_code nvarchar(3)
,@Check_date nvarchar(10)
,@Check_number int
ALTER PROCEDURE [dbo].[Select_GFSISSY26_CheckNet]
AS
SELECT gf.[Check_net]
FROM [dbo].[GFSISSY26] AS gf
AND
RTRIM(LTRIM(gf.[Employer_code])) = RTRIM(LTRIM(@Employer_code))
AND
RTRIM(LTRIM(gf.Check_date)) = RTRIM(LTRIM(@Check_date))
AND
RTRIM(LTRIM(gf.Check_number)) = RTRIM(LTRIM(@Check_number))
WHERE RTRIM(LTRIM(gf.Emp_no)) = RTRIM(LTRIM(@Emp_no))
BEGIN
END
Select_GFSISSY26_CheckNet
Thursday, December 12, 2013 3:05 PM
Procedures Page 14
/****** Object: StoredProcedure [dbo].[Select_PayrollTesting] Script Date: 12/12/2013 15:06:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Select_PayrollTesting]
AS
RTRIM(LTRIM(g.[Emp_no])),
RTRIM(LTRIM(c.[CompanyNumber])),
RTRIM(LTRIM(g.[Amount_paid])),
RTRIM(LTRIM(g.[Hours_paid])),
RTRIM(LTRIM(g.[Income_code_type])),
RTRIM(LTRIM(i.[HED])),
LEFT(RTRIM(LTRIM(g.[Period_end_date])),
LEN(RTRIM(LTRIM(g.[Period_end_date])))-6) +
LEFT(RIGHT(RTRIM(LTRIM(g.[Period_end_date])), 6),2),
RTRIM(LTRIM(g.[Division_charged])),
RTRIM(LTRIM(g.[Cost_center_charged])),
RTRIM(LTRIM(g.[Department_charged])),
REPLACE(SUBSTRING(RTRIM(LTRIM(g.[Account_charged])),10, 4) +
SUBSTRING(RTRIM(LTRIM(g.[Account_charged])),15, 4),'-', '')
LEFT OUTER JOIN [dbo].[CompanyNumber] AS c ON c.[EmpNum] = g.[Emp_no] AND
c.[EmployerCode] = g.[Employer_code]
LEFT OUTER JOIN [dbo].[Inc_To_HED_No] AS i ON i.[EMPLOYER] =
g.[Employer_code] AND i.[INCOME CODE]= g.[Income_code_type]
FROM [KBF_Data].[dbo].[GFSISSY92] AS g
WHERE g.[Posting_flag] = '0'
ORDER BY RTRIM(LTRIM(g.[Emp_no])), RTRIM(LTRIM(c.[CompanyNumber]))
SELECT
BEGIN
END
Select_PayrollTesting
Thursday, December 12, 2013 3:06 PM
Procedures Page 15
/****** Object: StoredProcedure [dbo].[Select_Tables_Columns] Script Date: 12/12/2013 15:06:25
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Select_Tables_Columns]
AS
FROM INFORMATION_SCHEMA.COLUMNS
ORDER BY TABLE_NAME
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE
--DECLARE @counter int, @tablename nvarchar(20);
--DECLARE tablecursor CURSOR FOR
-- SELECT TABLE_NAME
-- FROM [INFORMATION_SCHEMA].[TABLES]
-- ORDER BY TABLE_NAME
--OPEN tablecursor;
--FETCH NEXT FROM tablecursor
-- INTO @tablename;
--WHILE @@FETCH_STATUS = 0
--BEGIN
-- SELECT @tablename;
-- SELECT COLUMN_NAME, DATA_TYPE
-- FROM INFORMATION_SCHEMA.COLUMNS
-- WHERE TABLE_NAME = @tablename
-- FETCH NEXT FROM tablecursor
-- INTO @tablename;
--END
BEGIN
END
Select_Tables_Columns
Thursday, December 12, 2013 3:06 PM
Procedures Page 16
/****** Object: StoredProcedure [dbo].[Select_Tables_RowCount] Script Date: 12/12/2013 15:06:54
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Select_Tables_RowCount]
AS
(SELECT COUNT(*) FROM [dbo].[GFSISSY02]) AS 'GFSISSY02',
(SELECT COUNT(*) FROM [dbo].[GFSISSY03]) AS 'GFSISSY03',
(SELECT COUNT(*) FROM [dbo].[GFSISSY04]) AS 'GFSISSY04',
(SELECT COUNT(*) FROM [dbo].[GFSISSY05]) AS 'GFSISSY05',
(SELECT COUNT(*) FROM [dbo].[GFSISSY06]) AS 'GFSISSY06',
(SELECT COUNT(*) FROM [dbo].[GFSISSY08]) AS 'GFSISSY08',
(SELECT COUNT(*) FROM [dbo].[GFSISSY10]) AS 'GFSISSY10',
(SELECT COUNT(*) FROM [dbo].[GFSISSY11]) AS 'GFSISSY11',
(SELECT COUNT(*) FROM [dbo].[GFSISSY13]) AS 'GFSISSY13',
(SELECT COUNT(*) FROM [dbo].[GFSISSY14]) AS 'GFSISSY14',
(SELECT COUNT(*) FROM [dbo].[GFSISSY15]) AS 'GFSISSY15',
(SELECT COUNT(*) FROM [dbo].[GFSISSY16]) AS 'GFSISSY16',
(SELECT COUNT(*) FROM [dbo].[GFSISSY17]) AS 'GFSISSY17',
(SELECT COUNT(*) FROM [dbo].[GFSISSY17_CompanyNum]) AS 'GFSISSY17
_CompanyNum',
(SELECT COUNT(*) FROM [dbo].[GFSISSY18]) AS 'GFSISSY18',
(SELECT COUNT(*) FROM [dbo].[GFSISSY19]) AS 'GFSISSY19',
(SELECT COUNT(*) FROM [dbo].[GFSISSY20]) AS 'GFSISSY20',
(SELECT COUNT(*) FROM [dbo].[GFSISSY21]) AS 'GFSISSY21',
(SELECT COUNT(*) FROM [dbo].[GFSISSY22]) AS 'GFSISSY22',
(SELECT COUNT(*) FROM [dbo].[GFSISSY23]) AS 'GFSISSY23',
(SELECT COUNT(*) FROM [dbo].[GFSISSY24]) AS 'GFSISSY24',
(SELECT COUNT(*) FROM [dbo].[GFSISSY25]) AS 'GFSISSY25',
(SELECT COUNT(*) FROM [dbo].[GFSISSY24_GFSISSY25]) AS 'GFSISSY24
_GFSISSY25',
(SELECT COUNT(*) FROM [dbo].[GFSISSY26]) AS 'GFSISSY26',
(SELECT COUNT(*) FROM [dbo].[GFSISSY45]) AS 'GFSISSY45',
(SELECT COUNT(*) FROM [dbo].[GFSISSY56]) AS 'GFSISSY56',
(SELECT COUNT(*) FROM [dbo].[GFSISSY92]) AS 'GFSISSY92';
SELECT
(SELECT COUNT(*) FROM [dbo].[Benefits_MedicalDentalVision]) AS
'Benefits_MedicalDentalVision',
(SELECT COUNT(*) FROM [dbo].[CompanyNumber]) AS 'CompanyNumber',
(SELECT COUNT(*) FROM [dbo].[Inc_and_Deduct_To_HED_Nos]) AS
'Inc/DeductToHEDNo',
(SELECT COUNT(*) FROM [dbo].[Inc_To_HED_No]) AS 'Inc_To_HED_No',
(SELECT COUNT(*) FROM [dbo].[LanguageCodeConversions]) AS
'LanguageCodeConversions',
(SELECT COUNT(*) FROM [dbo].[Relationship_Codes_Used]) AS
'Relationship_Codes_Used';
SELECT
BEGIN
(SELECT COUNT(*) FROM [dbo].[Transaction_10]) AS 'Transaction_10',
(SELECT COUNT(*) FROM [dbo].[Transaction_16]) AS 'Transaction_16',
(SELECT COUNT(*) FROM [dbo].[Transaction_E]) AS 'Transaction_E',
(SELECT COUNT(*) FROM [dbo].[Transaction_F]) AS 'Transaction_F',
(SELECT COUNT(*) FROM [dbo].[Transaction_H9]) AS 'Transaction_H',
(SELECT COUNT(*) FROM [dbo].[Transaction_H9]) AS 'Transaction_H9',
SELECT
Select_Tables_RowCount
Thursday, December 12, 2013 3:06 PM
Procedures Page 17
(SELECT COUNT(*) FROM [dbo].[Transaction_H9]) AS 'Transaction_H9',
(SELECT COUNT(*) FROM [dbo].[Transaction_HD]) AS 'Transaction_HD',
(SELECT COUNT(*) FROM [dbo].[Transaction_HE]) AS 'Transaction_HE',
(SELECT COUNT(*) FROM [dbo].[Transaction_J]) AS 'Transaction_J',
(SELECT COUNT(*) FROM [dbo].[Transaction_K_Unique]) AS 'Transaction_K',
(SELECT COUNT(*) FROM [dbo].[Transaction_LLM]) AS 'Transaction_LLK',
(SELECT COUNT(*) FROM [dbo].[Transaction_LLM]) AS 'Transaction_LLM',
(SELECT COUNT(*) FROM [dbo].[Transaction_LOD]) AS 'Transaction_LOD',
(SELECT COUNT(*) FROM [dbo].[Transaction_LQ1]) AS 'Transaction_LQ',
(SELECT COUNT(*) FROM [dbo].[Transaction_LZ4]) AS 'Transaction_LZ4',
(SELECT COUNT(*) FROM [dbo].[Transaction_LZA]) AS 'Transaction_LZA',
(SELECT COUNT(*) FROM [dbo].[Transaction_LZB]) AS 'Transaction_LZB',
(SELECT COUNT(*) FROM [dbo].[Transaction_LZN]) AS 'Transaction_LZN',
(SELECT COUNT(*) FROM [dbo].[Transaction_V]) AS 'Transaction_V';
END
Procedures Page 18
/****** Object: StoredProcedure [dbo].[Select_Transaction_10] Script Date: 12/12/2013 15:11:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Select_Transaction_10]
AS
BEGIN
SELECT
[CompanyNumber],
[ProgramField],
[Emp_no],
[Employer_code],
[Dependent_no],
[Dependent_name],
[Relationship_code],
[Dependent_gender],
[Dependent_dob],
[Dependent_ssn]
FROM [KBF_Data].[dbo].[Transaction_10]
ORDER BY [Emp_no], [Employer_code]
END
Select_Transaction_10
Thursday, December 12, 2013 3:11 PM
Procedures Page 19
/****** Object: StoredProcedure [dbo].[Select_Transaction_V] Script Date: 12/12/2013 15:12:12 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Select_Transaction_V]
AS
SELECT *
FROM [dbo].[Transaction_V]
BEGIN
END
Select_Transaction_V
Thursday, December 12, 2013 3:12 PM
Procedures Page 20
/****** Object: StoredProcedure [dbo].[TransactionCursor_10] Script Date: 12/12/2013 15:13:01 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_10]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_10;
@DpndName_middle nvarchar(15), @InRelation nchar(2), @DpndGender nchar(1),
@DpndDob nchar(10), @DpndSsn nchar(9),
@StatusCode nchar(5), @TermDate nvarchar(8);
DECLARE @EmployerCode nchar(3), @EmpNum nchar(9), @DpndNum nchar(3),
@DpndName_last nvarchar(15), @DpndName_first nvarchar(15),
RTRIM(LTRIM(g17.Emp_no)),
RTRIM(LTRIM(g17.Dependent_no)),
RTRIM(LTRIM(g17.Dependents_last_name)),
RTRIM(LTRIM(g17.Dependents_first_name)),
RTRIM(LTRIM(g17.Dependents_mid_init)),
RTRIM(LTRIM(g17.Relationship_code)),
RTRIM(LTRIM(g17.Dependents_gender)),
RTRIM(LTRIM(g17.Dependents_dob)),
RTRIM(LTRIM(g17.Dependents_ssno)),
RTRIM(LTRIM(g02.status_code)),
RTRIM(LTRIM(g02.cur_term_date))
LEFT JOIN dbo.GFSISSY02 AS g02 ON g02.Employer_code =
g17.Employer_code AND g02.Emp_no = g17.Emp_no
FROM dbo.GFSISSY17 AS g17
OR
LEN(RTRIM(LTRIM(g17.Dependents_first_name))) > 0
OR
LEN(RTRIM(LTRIM(g17.Dependents_mid_init))) > 0 ;
WHERE LEN(RTRIM(LTRIM(g17.Dependents_last_name))) > 0
SELECT RTRIM(LTRIM(g17.Employer_code)),
DECLARE datacursor CURSOR FOR
OPEN datacursor;
FETCH NEXT FROM datacursor
@DpndName_middle, @InRelation, @DpndGender, @DpndDob, @DpndSsn,
@StatusCode, @TermDate;
INTO @EmployerCode, @EmpNum, @DpndNum, @DpndName_last, @DpndName_first,
WHILE @@FETCH_STATUS = 0
DECLARE @OrgId nchar(6), @FullName nvarchar(30), @OutRelation nchar(2);
EXEC @OrgId = dbo.ufn_GetOrgId02 @EmployerCode, @EmpNum;
WHILE(LEN(@DpndNum)<3)
SET @DpndNum = '0' + @DpndNum;
BEGIN
END
IF(LEN(@DpndName_last) != 0)
IF(LEN(@DpndName_first) != 0)
IF(LEN(@DpndName_middle) != 0)
SET @FullName = @DpndName_last + ', ' + @DpndName_first + ' ' +
@DpndName_middle;
BEGIN
END
ELSE
BEGIN
BEGIN
BEGIN
BEGIN
TransactionCursor_10
Thursday, December 12, 2013 3:12 PM
Procedures Page 21
ELSE
SET @FullName = @DpndName_last + ', ' + @DpndName_first;
BEGIN
END
END
ELSE
IF(LEN(@DpndName_middle) != 0)
SET @FullName = @DpndName_last + ', ' + @DpndName_middle;
BEGIN
END
ELSE
SET @FullName = @DpndName_last;
BEGIN
END
BEGIN
END
END
ELSE
IF(LEN(@DpndName_first) != 0)
IF(LEN(@DpndName_middle) != 0)
SET @FullName = @DpndName_first + ' ' + @DpndName_middle;
BEGIN
END
ELSE
SET @FullName = @DpndName_first;
BEGIN
END
BEGIN
END
ELSE
IF(LEN(@DpndName_middle) != 0)
SET @FullName = @DpndName_middle;
BEGIN
END
ELSE
SET @FullName = '';
BEGIN
END
BEGIN
END
BEGIN
END
FROM dbo.Relationship_Codes_Used AS rcu
WHERE rcu.CODE=@InRelation;
SELECT @OutRelation = rcu.CyborgCode
IF(LEN(@DpndGender)=0)
SET @DpndGender='U';
BEGIN
END
IF(LEN(@DpndDob)>1)
WHILE(LEN(@DpndDob)<8)
SET @DpndDob = '0' + @DpndDob;
BEGIN
END
SET @DpndDob = LEFT(@DpndDob, 2) + '-' + SUBSTRING(@DpndDob, 3, 2) + '-' +
SUBSTRING(@DpndDob, 5, 4);
BEGIN
END
ELSE
SET @DpndDob = '';
BEGIN
END
SET @DpndSsn = REPLACE(@DpndSsn, '.', '');
INSERT INTO dbo.Transaction_10
(
Procedures Page 22
[CompanyNumber],
[ProgramField],
[Emp_no],
[Employer_code],
[Dependent_no],
[Dependent_name],
[Relationship_code],
[Dependent_gender],
[Dependent_dob],
[Dependent_ssn]
(
)
VALUES
@OrgId,
'10-SCR',
@EmpNum,
@EmployerCode,
@DpndNum,
@FullName,
@OutRelation,
@DpndGender,
@DpndDob,
@DpndSsn
(
)
FETCH NEXT FROM datacursor
@DpndName_middle, @InRelation, @DpndGender, @DpndDob, @DpndSsn,
@StatusCode, @TermDate;
INTO @EmployerCode, @EmpNum, @DpndNum, @DpndName_last, @DpndName_first,
END
END
Procedures Page 23
/****** Object: StoredProcedure [dbo].[TransactionCursor_16] Script Date: 12/12/2013 15:13:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_16]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_16;
@ContactNo_main nchar(30), @ContactNo_office nchar(30), @ContactNo_cell
nchar(30), @OrgId nchar(6);
DECLARE @EmployerCode nchar(3), @EmpNum nchar(9), @EmergencyContactIn nchar(50),
RTRIM(LTRIM(gs22.Emp_no)),
RTRIM(LTRIM(gs22.Emergency_contact_name)),
RTRIM(LTRIM(gs22.Emergency_contact_no)),
RTRIM(LTRIM(gs22.Emergency_contact_no_office_phone)),
RTRIM(LTRIM(gs22.Emergency_contact_no_cell_phone)),
cnm.CompanyNumber
--LEFT JOIN [dbo].[GFSISSY02] AS gs02 ON gs02.Employer_code =
gs22.Employer_code AND gs02.Emp_no = gs22.Emp_no
LEFT JOIN [dbo].[CompanyNumber] AS cnm ON gs22.Employer_code =
cnm.EmployerCode AND gs22.Emp_no = cnm.EmpNum
FROM dbo.GFSISSY22 AS gs22
ORDER BY gs22.Emp_no, gs22.Employer_code
SELECT RTRIM(LTRIM(gs22.Employer_code)),
DECLARE datacursor CURSOR FOR
OPEN datacursor;
FETCH NEXT FROM datacursor
@ContactNo_main, @ContactNo_office, @ContactNo_cell, @OrgId;
INTO @EmployerCode, @EmpNum, @EmergencyContactIn,
WHILE @@FETCH_STATUS = 0
@NameSpace int, @Name1 nvarchar(20), @Name2 nvarchar(20), @Name3
nvarchar(20), @Name4 nvarchar(20),
@AreaCode nchar(3), @Phonenum nchar(8), @Extention nvarchar(30);
DECLARE @EmergencyKey nchar(3), @EmergencyContactOut nvarchar(30),
@ContactTemp nchar(30),
SET @EmpNum = RIGHT(@EmpNum, 7);
IF(@EmergencyContactIn IS NOT NULL)
SET @ContactTemp = @EmergencyContactIn;
SET @NameSpace = CHARINDEX(' ', @EmergencyContactIn);
IF (@NameSpace > 1)
SET @Name1 = RTRIM(LTRIM(SUBSTRING(@EmergencyContactIn, 1,
@NameSpace)));
IF(LEN(@EmergencyContactIn) > @NameSpace)
SET @EmergencyContactIn =
RTRIM(LTRIM(SUBSTRING(@EmergencyContactIn, @NameSpace+1,
(LEN(@EmergencyContactIn) - @NameSpace))));
SET @NameSpace = CHARINDEX(' ', @EmergencyContactIn);
IF(@NameSpace > 1)
SET @Name2 =
RTRIM(LTRIM(SUBSTRING(@EmergencyContactIn, 1,
@NameSpace)));
BEGIN
BEGIN
BEGIN
BEGIN
BEGIN
BEGIN
TransactionCursor_16
Thursday, December 12, 2013 3:13 PM
Procedures Page 24
@NameSpace)));
IF(LEN(@EmergencyContactIn) > @NameSpace)
SET @EmergencyContactIn =
RTRIM(LTRIM(SUBSTRING(@EmergencyContactIn,
@NameSpace+1, (LEN(@EmergencyContactIn) -
@NameSpace))));
SET @NameSpace = CHARINDEX(' ',
@EmergencyContactIn);
IF(@NameSpace > 1)
SET @Name3 =
RTRIM(LTRIM(SUBSTRING(@EmergencyContactIn, 1,
@NameSpace)));
IF(LEN(@EmergencyContactIn) > @NameSpace)
SET @EmergencyContactIn =
RTRIM(LTRIM(SUBSTRING(@EmergencyContac
tIn, @NameSpace+1,
(LEN(@EmergencyContactIn) - @NameSpace))));
IF(LEN(@EmergencyContactIn) > 0)
SET @Name4 =
RTRIM(LTRIM(@EmergencyContactIn));
BEGIN
END
BEGIN
END
BEGIN
END
ELSE
SET @Name3 = @EmergencyContactIn;
BEGIN
END
BEGIN
END
END
ELSE
SET @Name2 = @EmergencyContactIn;
BEGIN
END
END
END
ELSE
SET @Name1 = @EmergencyContactIn;
BEGIN
END
END
IF(LEN(@Name1) > 0)
IF(LEN(@Name2)>0)
IF(LEN(@Name3)>0)
IF(LEN(@Name4)>0)
IF(@Name2 IN ('AND', 'OR'))
SET @Name1 = @Name1 + ' ' + @Name2 + ' ' + @Name3;
SET @EmergencyContactOut = @Name4 + ', ' + @Name1;
BEGIN
END
ELSE IF(@Name2 IN ('DE', 'DEL', 'LA', 'MC', 'VAN'))
SET @EmergencyContactOut = @Name2 + ' ' + @Name3 + ' '
+ @Name4 + ', ' + @Name1;
BEGIN
END
ELSE IF(@Name3 IN ('DE', 'DEL', 'LA', 'MC', 'VAN') OR @Name4 IN
('JR', 'SR', 'II', 'III'))
BEGIN
BEGIN
BEGIN
BEGIN
BEGIN
Procedures Page 25
SET @EmergencyContactOut = @Name3 + ' ' + @Name4 + ',
' + @Name1 + ' ' +@Name2;
BEGIN
END
ELSE
SET @EmergencyContactOut = @Name4 + ', ' + @Name1 + '
' + @Name2 + ' ' + @Name3;
--SELECT @ContactTemp, @EmergencyContactOut;
BEGIN
END
END
ELSE
IF(@Name2 IN ('AND', 'OR'))
SET @EmergencyContactOut = @Name1 + ' ' + @Name2 + ' '
+ @Name3;
BEGIN
END
ELSE IF(@Name2 IN ('DE', 'DEL', 'LA', 'MC', 'VAN'))
SET @EmergencyContactOut = @Name2 + ' ' + @Name3 + ',
' + @Name1;
BEGIN
END
ELSE IF(@Name3 IN ('JR', 'SR', 'II', 'III'))
SET @EmergencyContactOut = @Name2 + ' ' + @Name3 + ',
' + @Name1;
--SELECT @ContactTemp, @EmergencyContactOut;
BEGIN
END
ELSE
SET @EmergencyContactOut = @Name3 + ', ' + @Name1 + '
' + @Name2;
--SELECT @ContactTemp, @EmergencyContactOut;
BEGIN
END
BEGIN
END
END
ELSE
SET @EmergencyContactOut = @Name2 + ', ' + @Name1;
BEGIN
END
END
ELSE
SET @EmergencyContactOut = @Name1;
BEGIN
END
END
IF (LEN(@ContactNo_cell) >= 1)
SET @ContactNo_cell=RTRIM(LTRIM(LEFT(@ContactNo_cell,
LEN(@ContactNo_cell)-1)));
BEGIN
END
IF(LEN(@ContactNo_main)>= 1)
SET @EmergencyKey = '001';
Areacode nchar(3),
Number nchar(8),
Extension nvarchar(30)
(
)
CREATE TABLE #temptable1
INSERT INTO #temptable1 EXEC dbo.Process_PhoneNumber @ContactNo_main;
FROM #temptable1 AS tmp
SELECT @AreaCode=tmp.Areacode, @Phonenum=tmp.Number,
@Extention=tmp.Extension
BEGIN
Procedures Page 26
FROM #temptable1 AS tmp
DROP TABLE #temptable1
INSERT INTO dbo.Transaction_16
[CompanyNumber],
[ProgramField],
[EmpNum],
[EmergencyKey],
[ContactIn],
[EmergencyContact],
[PhoneIn],
[EmergencyAreaCode],
[EmergencyPhoneNum],
[ContactAddress1]
(
)
VALUES
@OrgId,
'16-SCR',
@EmpNum,
@EmergencyKey,
@ContactTemp,
@EmergencyContactOut,
@ContactNo_main,
@AreaCode,
@Phonenum,
@Extention
(
)
SET @EmergencyKey=NULL;
SET @AreaCode=NULL;
SET @Phonenum=NULL;
SET @Extention=NULL;
END
ELSE IF (LEN(@ContactNo_office)= 0 AND LEN(@ContactNo_cell)= 0)
SET @EmergencyKey = '001';
INSERT INTO dbo.Transaction_16
[CompanyNumber],
[ProgramField],
[EmpNum],
[EmergencyKey],
[ContactIn],
[EmergencyContact],
[PhoneIn],
[EmergencyAreaCode],
[EmergencyPhoneNum],
[ContactAddress1]
(
)
VALUES
@OrgId,
'16-SCR',
@EmpNum,
@EmergencyKey,
@ContactTemp,
@EmergencyContactOut,
@ContactNo_main,
'',
'',
''
(
)
SET @EmergencyKey=NULL;
SET @AreaCode=NULL;
SET @Phonenum=NULL;
BEGIN
Procedures Page 27
SET @Phonenum=NULL;
SET @Extention=NULL;
END
IF(LEN(@ContactNo_office)>= 1)
SET @EmergencyKey = '002';
Areacode nchar(3),
Number nchar(8),
Extension nvarchar(30)
(
)
CREATE TABLE #temptable2
INSERT INTO #temptable2 EXEC dbo.Process_PhoneNumber @ContactNo_office;
FROM #temptable2 AS tmp
SELECT @AreaCode=tmp.Areacode, @Phonenum=tmp.Number,
@Extention=tmp.Extension
DROP TABLE #temptable2
IF(@Extention IS NOT NULL)
SET @Extention = 'office number; ' + @Extention;
BEGIN
END
ELSE
SET @Extention = 'office number';
BEGIN
END
INSERT INTO dbo.Transaction_16
[CompanyNumber],
[ProgramField],
[EmpNum],
[EmergencyKey],
[ContactIn],
[EmergencyContact],
[PhoneIn],
[EmergencyAreaCode],
[EmergencyPhoneNum],
[ContactAddress1]
(
)
VALUES
@OrgId,
'16-SCR',
@EmpNum,
@EmergencyKey,
@ContactTemp,
@EmergencyContactOut,
@ContactNo_office,
@AreaCode,
@Phonenum,
@Extention
(
)
SET @EmergencyKey=NULL;
SET @AreaCode=NULL;
SET @Phonenum=NULL;
SET @Extention=NULL;
BEGIN
END
IF(LEN(@ContactNo_cell)>= 1)
SET @EmergencyKey = '003';
Areacode nchar(3),
Number nchar(8),
Extension nvarchar(30)
(
)
CREATE TABLE #temptable3
BEGIN
Procedures Page 28
)
INSERT INTO #temptable3 EXEC dbo.Process_PhoneNumber @ContactNo_cell;
FROM #temptable3 AS tmp
SELECT @AreaCode=tmp.Areacode, @Phonenum=tmp.Number,
@Extention=tmp.Extension
DROP TABLE #temptable3
IF(@Extention IS NOT NULL)
SET @Extention = 'cell number; ' + @Extention;
BEGIN
END
ELSE
SET @Extention = 'cell number';
BEGIN
END
INSERT INTO dbo.Transaction_16
[CompanyNumber],
[ProgramField],
[EmpNum],
[EmergencyKey],
[ContactIn],
[EmergencyContact],
[PhoneIn],
[EmergencyAreaCode],
[EmergencyPhoneNum],
[ContactAddress1]
(
)
VALUES
@OrgId,
'16-SCR',
@EmpNum,
@EmergencyKey,
@ContactTemp,
@EmergencyContactOut,
@ContactNo_cell,
@AreaCode,
@Phonenum,
@Extention
(
)
SET @EmergencyKey=NULL;
SET @AreaCode=NULL;
SET @Phonenum=NULL;
SET @Extention=NULL;
END
SET @EmployerCode = NULL;
SET @EmpNum = NULL;
SET @OrgId = NULL;
SET @EmergencyKey = NULL;
SET @EmergencyContactIn = NULL;
SET @NameSpace = NULL;
SET @Name1 = NULL;
SET @Name2 = NULL;
SET @Name3 = NULL;
SET @Name4 = NULL;
SET @EmergencyContactOut = NULL;
@ContactNo_main, @ContactNo_office, @ContactNo_cell, @OrgId;
INTO @EmployerCode, @EmpNum, @EmergencyContactIn,
FETCH NEXT FROM datacursor
END
CLOSE datacursor;
DEALLOCATE datacursor;
END
Procedures Page 29
/****** Object: StoredProcedure [dbo].[TransactionCursor_E] Script Date: 12/12/2013 15:14:02 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_E]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_E;
@EthnicCode nchar(1), @DoB nchar(8), @HireDate nchar(8);
DECLARE @EmployerCode nchar(3), @EmpNum nchar(9), @StatusCode nchar(5), @TermDate
nchar(8), @SocSecNum nchar(9), @Gender nvarchar(1),
gs2.Date_of_Birth, gs2.adjusted_date_hire
FROM dbo.GFSISSY02 AS gs2
SELECT gs2.Employer_code, gs2.Emp_no, gs2.status_code, gs2.cur_term_date,
gs2.soc_sec_no, gs2.Gender, gs2.Ethnic_code,
DECLARE datacursor CURSOR FOR
OPEN datacursor;
FETCH NEXT FROM datacursor
@EthnicCode, @DoB, @HireDate;
INTO @EmployerCode, @EmpNum, @StatusCode, @TermDate, @SocSecNum, @Gender,
WHILE @@FETCH_STATUS = 0
DECLARE @OrgId char(6), @SSN char(11), @PayDate char(1), @SexCode char(1),
@RaceCode char(2), @CenturyDoB char(6), @CenturyHireDate char(6),
@CenturyTermDate char(6);
--EXEC @OrgId = dbo.ufn_GetOrgId @EmployerCode, @StatusCode, @TermDate;
EXEC @OrgId = dbo.ufn_GetOrgId02 @EmployerCode, @EmpNum;
EXEC @SSN = dbo.ufn_Format_SSN @SocSecNum;
EXEC @PayDate = dbo.ufn_GetPaymentCode @StatusCode;
--EXEC @SexCode = dbo
EXEC @RaceCode = dbo.ufn_Convert_RaceCode @EthnicCode;
EXEC @CenturyDoB = dbo.ufn_Convert_ToCenturyDate @DoB;
EXEC @CenturyHireDate = dbo.ufn_Convert_ToCenturyDate @HireDate;
EXEC @CenturyTermDate = dbo.ufn_Convert_ToCenturyDate @TermDate;
SET @EmpNum = SUBSTRING(@EmpNum, 3, 7);
INSERT INTO dbo.Transaction_E
(
OrgId,
Employer_code,
Emp_no,
Status_code,
Current_term_date,
SSN,
Pay_frequency_code,
Payment_code,
Gender,
Sex_code,
Ethnic_code,
Race_code,
BirthDate,
Century_birth_date,
adj_hire_date,
Century_adj_hire_date,
Century_term_date
)
VALUES
(
BEGIN
BEGIN
TransactionCursor_E
Thursday, December 12, 2013 3:13 PM
Procedures Page 30
(
@OrgId,
@EmployerCode,
@EmpNum,
@StatusCode,
@TermDate,
@SSN,
'2',
@PayDate,
@Gender,
@Gender,
@EthnicCode,
@RaceCode,
@DoB,
@CenturyDoB,
@HireDate,
@CenturyHireDate,
@CenturyTermDate
)
SET @OrgId = NULL;
SET @EmployerCode = NULL;
SET @EmpNum = NULL;
SET @StatusCode = NULL;
SET @TermDate = NULL;
SET @SSN = NULL;
SET @PayDate = NULL;
SET @Gender = NULL;
SET @EthnicCode = NULL;
SET @RaceCode = NULL;
SET @DoB = NULL;
SET @CenturyDoB = NULL;
SET @HireDate = NULL;
SET @CenturyHireDate = NULL;
SET @CenturyTermDate = NULL;
FETCH NEXT FROM datacursor
@EthnicCode, @DoB, @HireDate;
INTO @EmployerCode, @EmpNum, @StatusCode, @TermDate, @SocSecNum, @Gender,
END
END
Procedures Page 31
/****** Object: StoredProcedure [dbo].[TransactionCursor_F] Script Date: 12/12/2013 15:14:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_F]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_F;
@Name_last nchar(18), @Name_first nchar(18), @Name_mi nchar(1),
@Name_middle nchar(15),
@Address1 nchar(30), @Address2 nchar(30), @City nchar(30), @State nchar(3),
@ZipLong nchar(10)
DECLARE @Employer_code nchar(3), @EmpNum nchar(9), @StatusCode nchar(5), @TermDate
nchar(8),
gs2.Last_name, gs2.First_name, gs2.MI, gs2.Middle_name,
gs2.Street_addr1, gs2.Street_addr2, gs2.City, gs2.[State/Province], gs2.Zip
FROM dbo.GFSISSY02 AS gs2;
SELECT gs2.Employer_code, gs2.Emp_no, gs2.status_code, gs2.cur_term_date,
DECLARE datacursor CURSOR FOR
OPEN datacursor;
FETCH NEXT FROM datacursor
@Name_last, @Name_first, @Name_mi, @Name_middle,
@Address1, @Address2, @City, @State, @ZipLong;
INTO @Employer_code, @EmpNum, @StatusCode, @TermDate,
WHILE @@FETCH_STATUS = 0
DECLARE @OrgId nchar(6), @Name_full nchar(30), @CityState nchar(25), @ZipShort
nchar(5);
--EXEC @OrgId = dbo.ufn_GetOrgId @Employer_code, @StatusCode, @TermDate;
EXEC @OrgId = dbo.ufn_GetOrgId02 @Employer_code, @EmpNum;
SET @Name_full = LTRIM(RTRIM(@Name_last)) + ', ' + LTRIM(RTRIM(@Name_first));
IF(@Name_middle IS NOT NULL)
SET @Name_full = @Name_full + ' ' + @Name_middle;
BEGIN
END
ELSE
SET @Name_full = @Name_full + ' ' + @Name_mi;
BEGIN
END
IF(LEN(LTRIM(RTRIM(@City))) > 25)
SET @CityState = SUBSTRING(LTRIM(RTRIM(@City)), 1, 25) + ', ' + @State;
BEGIN
END
ELSE
SET @CityState = LTRIM(RTRIM(@City)) + ', ' + @State;
BEGIN
ENd
SET @ZipShort = SUBSTRING(@ZipLong, 1, 5);
INSERT INTO dbo.Transaction_F
OrgId,
Emp_no,
Name_code,
Name,
Address1,
Address2,
CityState,
(
BEGIN
BEGIN
TransactionCursor_F
Thursday, December 12, 2013 3:14 PM
Procedures Page 32
CityState,
ZipCode
)
VALUES
@OrgId,
@EmpNum,
'001',
@Name_full,
@Address1,
@Address2,
@CityState,
@ZipShort
(
)
SET @Employer_code = NULL;
SET @EmpNum = NULL;
SET @StatusCode = NULL;
SET @TermDate = NULL;
SET @Name_last = NULL;
SET @Name_first = NULL;
SET @Name_mi = NULL;
SET @Name_middle = NULL;
SET @Address1 = NULL;
SET @Address2 = NULL;
SET @City = NULL;
SET @State = NULL;
SET @ZipLong = NULL;
SET @OrgId = NULL;
SET @Name_full = NULL;
SET @CityState = NULL;
SET @ZipShort = NULL;
FETCH NEXT FROM datacursor
@Name_last, @Name_first, @Name_mi, @Name_middle,
@Address1, @Address2, @City, @State, @ZipLong;
INTO @Employer_code, @EmpNum, @StatusCode, @TermDate,
END
CLOSE datacursor;
DEALLOCATE datacursor;
END
Procedures Page 33
/****** Object: StoredProcedure [dbo].[TransactionCursor_H9] Script Date: 12/12/2013 15:14:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_H9]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_H9;
DECLARE @EmployerCode nchar(3), @EmpNum nchar(9);
RTRIM(LTRIM(g14.Emp_no))
FROM dbo.GFSISSY14 AS g14
RTRIM(LTRIM(g14.Deduction_code)) IN ('DDCK', 'DDCU', 'DDFL1',
'DDFL2', 'DDFL3', 'DDPC1', 'DDSAV')
(
)
AND
RTRIM(LTRIM(g14.Activity_code)) != '9'
AND
RTRIM(LTRIM(g14.Ytd_employee_amount)) != '.00'
OR
RTRIM(LTRIM(g14.Ytd_employer_amount)) != '.00'
OR
RTRIM(LTRIM(g14.Arrears_amount)) != '.00'
(
)
OR
RIGHT(RTRIM(LTRIM(g14.Begin_date)), 4) < 2013
OR
RIGHT(RTRIM(LTRIM(g14.Begin_date)), 4) = 2013
AND
LEFT(RTRIM(LTRIM(g14.Begin_date)),
LEN(RTRIM(LTRIM(g14.Begin_date)))-6) < 4
OR
LEFT(RTRIM(LTRIM(g14.Begin_date)),
LEN(RTRIM(LTRIM(g14.Begin_date)))-6) =
4
AND
LEFT(RIGHT(RTRIM(LTRIM(g14.Begin_dat
e)), 6), 2) = 01
(
)
(
)
(
)
(
)
(
)
RIGHT(RTRIM(LTRIM(g14.End_date)), 4) IS NULL
OR
RIGHT(RTRIM(LTRIM(g14.End_date)), 4) = 0
(
AND
WHERE
SELECT RTRIM(LTRIM(g14.Employer_code)),
DECLARE datacursor CURSOR FOR
BEGIN
TransactionCursor_H9
Thursday, December 12, 2013 3:14 PM
Procedures Page 34
RIGHT(RTRIM(LTRIM(g14.End_date)), 4) = 0
OR
RIGHT(RTRIM(LTRIM(g14.End_date)), 4) > 2013
OR
RIGHT(RTRIM(LTRIM(g14.End_date)), 4) = 2013
AND
LEFT(RTRIM(LTRIM(g14.End_date)),
LEN(RTRIM(LTRIM(g14.End_date)))-6) > 7
(
)
)
GROUP BY g14.Emp_no, g14.Employer_code
ORDER BY g14.Emp_no, g14.Employer_code
OPEN datacursor;
INTO @EmployerCode, @EmpNum;
FETCH NEXT FROM datacursor
WHILE @@FETCH_STATUS = 0
@ArrearsAmount nchar(13), @EmpeeAmount decimal(13,2), @EmpeePercent
decimal(11,4), @ActivityCode nchar(1),
@EmpeeLimitAmount decimal(13,2), @EmpeeLimitBalance decimal(13,2), @EndDate
nchar(8),
@EmperAmount decimal(13,2), @EmperPercent decimal(11,4), @StatusCode
nchar(5), @TermDate nchar(8), @HEDNumber nchar(3),
@TransitNo nchar(9), @DepositType nchar(1), @AccoutNo nchar(18), @Prenote
nchar(8)
DECLARE @YtdEmpeeAmount nchar(13), @YtdEmperAmount nchar(13), @DeductionCode
nchar(5), @BeginDate nchar(8),
@StopCode nchar(1), @StopField nchar(6), @AmountPercent nchar(7),
@StopAmount nchar(13), @AmountOne nchar(9), @AmountTwo nchar(10),
@UserCode nchar(2),
@BeginYear int, @BeginMonth int, @BeginDay int, @DupEmployerCode nchar(3),
@DupEmpNum nchar(9), @DupActivityCode nchar(1),
@HEDDeductArrearCode nchar(2), @HEDDeductMethodCode nchar(2);
DECLARE @OrgId nchar(6), @HEDDeductFreq nchar(2), @StartCode nchar(1),
@IsStartFuture int, @StartField nchar(6),
CREATE TABLE #deposits
Ytd_employee_amount nvarchar(13), Ytd_employer_amount nvarchar(13),
Arrears_amount nvarchar(13), Begin_date nvarchar(8),
Deduction_code nvarchar(5), Employee_amount decimal(13,2), Employee_percent
decimal (11,4), Activity_code nvarchar(1),
Employee_limit_amount decimal(13,2), Employee_limit_balance decimal(13,2),
End_date nvarchar(8), Employer_amount decimal(13,2),
Employer_percent decimal(13,2), status_code nvarchar(5), cur_term_date nvarchar(8),
Transit_no nvarchar(9), Dep_type nvarchar(1),
Account_no nvarchar(18), Prenote_date nvarchar(8)
(
)
INSERT INTO #deposits
Ytd_employee_amount, Ytd_employer_amount, Arrears_amount, Begin_date,
Deduction_code, Employee_amount, Employee_percent,
Activity_code, Employee_limit_amount, Employee_limit_balance, End_date,
Employer_amount, Employer_percent, status_code,
cur_term_date, Transit_no, Dep_type, Account_no, Prenote_date
(
RTRIM(LTRIM(gs14.Ytd_employer_amount)),
RTRIM(LTRIM(gs14.Arrears_amount)),
RTRIM(LTRIM(gs14.Begin_date)),
RTRIM(LTRIM(gs14.Deduction_code)),
CAST(RTRIM(LTRIM(gs14.Employee_amount)) AS float),
CAST(RTRIM(LTRIM(gs14.Employee_percent)) AS float),
RTRIM(LTRIM(gs14.Activity_code)),
CAST(RTRIM(LTRIM(gs14.Employee_limit_amount)) AS float),
SELECT RTRIM(LTRIM(gs14.Ytd_employee_amount)),
)
BEGIN
Procedures Page 35
CAST(RTRIM(LTRIM(gs14.Employee_limit_amount)) AS float),
CAST(RTRIM(LTRIM(gs14.Employee_limit_balance)) AS float),
RTRIM(LTRIM(gs14.End_date)),
CAST(RTRIM(LTRIM(gs14.Employer_amount)) AS float),
CAST(RTRIM(LTRIM(gs14.Employer_percent)) AS float),
RTRIM(LTRIM(gs02.status_code)),
RTRIM(LTRIM(gs02.cur_term_date)),
RTRIM(LTRIM(gs15.Transit_no)),
RTRIM(LTRIM(gs15.Dep_type)),
RTRIM(LTRIM(gs15.Account_no)),
RTRIM(LTRIM(gs15.Prenote_date))
LEFT JOIN [dbo].[GFSISSY02] AS gs02 ON gs02.Employer_code =
gs14.Employer_code AND gs02.Emp_no = gs14.Emp_no
LEFT JOIN [dbo].[GFSISSY15] AS gs15 ON gs15.Employer_code =
gs14.Employer_code AND gs15.Emp_no = gs14.Emp_no AND
gs15.Deduction_code = gs14.Deduction_code
FROM dbo.GFSISSY14 AS gs14
AND
gs14.Employer_code = @EmployerCode
AND
RTRIM(LTRIM(gs14.Deduction_code)) IN ('DDCK', 'DDCU', 'DDFL1',
'DDFL2', 'DDFL3', 'DDPC1', 'DDSAV')
(
)
AND
RTRIM(LTRIM(gs14.Activity_code)) != '9'
AND
RTRIM(LTRIM(gs14.Ytd_employee_amount)) != '.00'
OR
RTRIM(LTRIM(gs14.Ytd_employer_amount)) != '.00'
OR
RTRIM(LTRIM(gs14.Arrears_amount)) != '.00'
(
)
OR
CAST(RIGHT(RTRIM(LTRIM(gs14.Begin_date)), 4) AS int)
< 2013
OR
CAST(RIGHT(RTRIM(LTRIM(gs14.Begin_date)), 4) AS
int) = 2013
AND
CAST(LEFT(RTRIM(LTRIM(gs14.Begin_date)),
LEN(RTRIM(LTRIM(gs14.Begin_date)))-6) AS int)
< 4
OR
CAST(LEFT(RTRIM(LTRIM(gs14.Begin_dat
e)),
LEN(RTRIM(LTRIM(gs14.Begin_date)))-6)
AS int) = 4
AND
CAST(LEFT(RIGHT(RTRIM(LTRIM(gs14.Be
gin_date)), 6), 2) AS int) = 01
(
)
(
)
(
)
(
)
(
)
AND
(
WHERE gs14.Emp_no = @EmpNum
Procedures Page 36
RTRIM(LTRIM(gs14.End_date)) = '0'
OR
CAST(RIGHT(RTRIM(LTRIM(gs14.End_date)), 4) AS int) > 2013
OR
CAST(RIGHT(RTRIM(LTRIM(gs14.End_date)), 4) AS int) =
2013
AND
CAST(LEFT(RTRIM(LTRIM(gs14.End_date)),
LEN(RTRIM(LTRIM(gs14.End_date)))-6) AS int) > 7
(
)
(
)
dp.Activity_code, dp.Employee_limit_amount, dp.Employee_limit_balance,
dp.End_date, dp.Employer_amount, dp.Employer_percent, dp.status_code,
dp.cur_term_date, dp.Transit_no, dp.Dep_type, dp.Account_no,
dp.Prenote_date
FROM #deposits AS dp
ORDER BY dp.Deduction_code
SELECT dp.Ytd_employee_amount, dp.Ytd_employer_amount, dp.Arrears_amount,
dp.Begin_date, dp.Deduction_code, dp.Employee_amount, dp.Employee_percent,
DECLARE innercursor CURSOR FOR
OPEN innercursor;
@DeductionCode, @EmpeeAmount, @EmpeePercent, @ActivityCode,
@EmpeeLimitAmount, @EmpeeLimitBalance,
@EndDate, @EmperAmount, @EmperPercent, @StatusCode, @TermDate,
@TransitNo, @DepositType, @AccoutNo, @Prenote;
INTO @YtdEmpeeAmount, @YtdEmperAmount, @ArrearsAmount, @BeginDate,
FETCH NEXT FROM innercursor
WHILE @@FETCH_STATUS = 0
IF ((@EmpeePercent = 0 OR @EmpeePercent = 100) AND @EmpeeAmount = 0)
SET @HEDNumber = '999';
SET @HEDDeductFreq = '00';
SET @HEDDeductArrearCode = '53';
SET @HEDDeductMethodCode = '00';
BEGIN
END
ELSE
IF (@EmpeeAmount > 0)
SET @HEDDeductMethodCode = '02';
SET @AmountPercent = REPLACE(@EmpeeAmount, '.', '');
BEGIN
END
ELSE IF (@EmpeePercent > 0)
SET @HEDDeductMethodCode = '13';
SET @AmountPercent = REPLACE(LEFT(@EmpeePercent,
LEN(@EmpeePercent)-2), '.', '');
BEGIN
END
ELSE
SET @AmountPercent = 0;
BEGIN
END
IF(@AmountPercent = '000' OR @AmountPercent = 0)
SET @AmountPercent = NULL;
BEGIN
END
IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9 WHERE
th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode AND
th9.HEDNumber = '995')
SET @HEDNumber = '995';
SET @HEDDeductFreq = '01';
BEGIN
BEGIN
BEGIN
Procedures Page 37
SET @HEDDeductFreq = '01';
SET @HEDDeductArrearCode = '00';
END
ELSE IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9
WHERE th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode
AND th9.HEDNumber = '996')
SET @HEDNumber = '996';
SET @HEDDeductFreq = '02';
SET @HEDDeductArrearCode = '01';
BEGIN
END
ELSE IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9
WHERE th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode
AND th9.HEDNumber = '997')
SET @HEDNumber = '997';
SET @HEDDeductFreq = '03';
SET @HEDDeductArrearCode = '02';
BEGIN
END
ELSE IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9
WHERE th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode
AND th9.HEDNumber = '998')
SET @HEDNumber = '998';
SET @HEDDeductFreq = '04';
SET @HEDDeductArrearCode = '03';
BEGIN
END
ELSE
SET @HEDNumber = 'ER2';
SET @HEDDeductFreq = 'ER';
SET @HEDDeductArrearCode = 'ER';
BEGIN
END
END
WHILE (LEN(@AmountPercent)< 7)
SET @AmountPercent = '0' + @AmountPercent;
BEGIN
END
EXEC @OrgId = dbo.ufn_GetOrgId02 @EmployerCode, @EmpNum;
IF(LEN(@Prenote) > 1)
EXEC @IsStartFuture = [dbo].[ufn_IsDateFuture] @Prenote;
IF(@IsStartFuture = 1)
SET @StartCode = 'S';
BEGIN
END
ELSE
SET @StartCode = '1';
BEGIN
END
EXEC @StartField = dbo.ufn_GetDate_YYMMDD @Prenote
BEGIN
END
ELSE
SET @StartCode = '0';
SET @StartField = '000000';
BEGIN
END
IF (@DepositType = 'C')
SET @DepositType = '2';
BEGIN
END
ELSE IF (@DepositType = 'S')
SET @DepositType = '3';
BEGIN
END
Procedures Page 38
END
ELSE
SET @DepositType = 'E';
BEGIN
END
INSERT INTO dbo.Transaction_H9
[EmployerCode],
[EmpNum],
[YtdEmployeeAmount],
[YtdEmployerAmount],
[ArrearsAmount],
[ActivityCode],
[BeginDate],
[DeductionCode],
[CompanyNumber],
[ProgramField],
[HEDNumber],
[HEDDeductFreqCode],
[StartCode],
[HEDDeductArrearCode],
[StartField],
[HEDDeductMethodCode],
[AmountPercent],
[TransitNo],
[DepositType],
[AccountNum],
[PrenoteDate]
(
)
VALUES
@EmployerCode,
@EmpNum,
@YtdEmpeeAmount,
@YtdEmperAmount,
@ArrearsAmount,
@ActivityCode,
@BeginDate,
@DeductionCode,
@OrgId,
'H9-SCR',
@HEDNumber,
@HEDDeductFreq,
@StartCode,
@HEDDeductArrearCode,
@StartField,
@HEDDeductMethodCode,
@AmountPercent,
@TransitNo,
@DepositType,
@AccoutNo,
@Prenote
(
)
SET @AccoutNo = NULL;
SET @ActivityCode = NULL;
SET @AmountOne = NULL;
SET @AmountPercent = NULL;
SET @AmountTwo = NULL;
SET @ArrearsAmount = NULL;
SET @BeginDate = NULL;
SET @DeductionCode = NULL;
SET @DepositType = NULL;
SET @EmpeeAmount = NULL;
SET @EmpeeLimitAmount = NULL;
SET @EmpeeLimitBalance = NULL;
Procedures Page 39
SET @EmpeeLimitBalance = NULL;
SET @EmpeePercent = NULL;
SET @EmperAmount = NULL;
SET @EmperPercent = NULL;
SET @EndDate = NULL;
SET @HEDDeductArrearCode = NULL;
SET @HEDDeductFreq = NULL;
SET @HEDDeductMethodCode = NULL;
SET @HEDNumber = NULL;
SET @Prenote = NULL;
SET @StartCode = NULL;
SET @StartField = NULL;
SET @StatusCode = NULL;
SET @StopAmount = NULL;
SET @StopCode = NULL;
SET @StopField = NULL;
SET @TermDate = NULL;
SET @TransitNo = NULL;
SET @UserCode = NULL;
SET @YtdEmpeeAmount = NULL;
SET @YtdEmperAmount = NULL;
@DeductionCode, @EmpeeAmount, @EmpeePercent, @ActivityCode,
@EmpeeLimitAmount, @EmpeeLimitBalance,
@EndDate, @EmperAmount, @EmperPercent, @StatusCode,
@TermDate, @TransitNo, @DepositType, @AccoutNo, @Prenote;
INTO @YtdEmpeeAmount, @YtdEmperAmount, @ArrearsAmount,
@BeginDate,
FETCH NEXT FROM innercursor
END
SET @EmployerCode = NULL;
SET @EmpNum = NULL;
SET @OrgId = NULL;
INTO @EmployerCode, @EmpNum;
FETCH NEXT FROM datacursor
CLOSE innercursor;
DEALLOCATE innercursor;
DROP TABLE #deposits;
END
CLOSE datacursor;
DEALLOCATE datacursor;
END
Procedures Page 40
/****** Object: StoredProcedure [dbo].[TransactionCursor_H9_quantify] Script Date: 12/12/2013
15:15:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_H9_quantify]
AS
SET NOCOUNT ON;
--TRUNCATE TABLE dbo.Transaction_H9;
CREATE TABLE #Deduct
Emp_no nvarchar(10),
Employer_code nvarchar(3),
DDCKAmt decimal(13,2),
DDCKPct decimal(13,4),
DDCUAmt decimal(13,2),
DDCUPct decimal(13,4),
DDFL1Amt decimal(13,2),
DDFL1Pct decimal(13,4),
DDFL2Amt decimal(13,2),
DDFL2Pct decimal(13,4),
DDPC1Amt decimal(13,2),
DDPC1Pct decimal(13,4),
DDSAVAmt decimal(13,2),
DDSAVPct decimal(13,4)
(
)
DECLARE @EmployerCode nchar(3), @EmpNum nchar(9);
RTRIM(LTRIM(g14.Emp_no))
FROM dbo.GFSISSY14 AS g14
RTRIM(LTRIM(g14.Deduction_code)) IN ('DDCK', 'DDCU', 'DDFL1',
'DDFL2', 'DDFL3', 'DDPC1', 'DDSAV')
(
)
AND
RTRIM(LTRIM(g14.Activity_code)) != '9'
AND
RTRIM(LTRIM(g14.Ytd_employee_amount)) != '.00'
OR
RTRIM(LTRIM(g14.Ytd_employer_amount)) != '.00'
OR
RTRIM(LTRIM(g14.Arrears_amount)) != '.00'
(
)
OR
RIGHT(RTRIM(LTRIM(g14.Begin_date)), 4) < 2013
OR
RIGHT(RTRIM(LTRIM(g14.Begin_date)), 4) = 2013
AND
LEFT(RTRIM(LTRIM(g14.Begin_date)),
LEN(RTRIM(LTRIM(g14.Begin_date)))-6) < 4
(
(
(
(
WHERE
SELECT RTRIM(LTRIM(g14.Employer_code)),
DECLARE datacursor CURSOR FOR
BEGIN
TransactionCursor_H9_quantify
Thursday, December 12, 2013 3:15 PM
Procedures Page 41
LEN(RTRIM(LTRIM(g14.Begin_date)))-6) < 4
OR
LEFT(RTRIM(LTRIM(g14.Begin_date)),
LEN(RTRIM(LTRIM(g14.Begin_date)))-6) =
4
AND
LEFT(RIGHT(RTRIM(LTRIM(g14.Begin_dat
e)), 6), 2) = 01
(
)
)
)
)
)
RIGHT(RTRIM(LTRIM(g14.End_date)), 4) IS NULL
OR
RIGHT(RTRIM(LTRIM(g14.End_date)), 4) = 0
OR
RIGHT(RTRIM(LTRIM(g14.End_date)), 4) > 2013
OR
RIGHT(RTRIM(LTRIM(g14.End_date)), 4) = 2013
AND
LEFT(RTRIM(LTRIM(g14.End_date)),
LEN(RTRIM(LTRIM(g14.End_date)))-6) > 7
(
)
(
)
AND
GROUP BY g14.Emp_no, g14.Employer_code
ORDER BY g14.Emp_no, g14.Employer_code
OPEN datacursor;
INTO @EmployerCode, @EmpNum;
FETCH NEXT FROM datacursor
WHILE @@FETCH_STATUS = 0
@ArrearsAmount nchar(13), @EmpeeAmount decimal(13,2), @EmpeePercent
decimal(11,4), @ActivityCode nchar(1),
@EmpeeLimitAmount decimal(13,2), @EmpeeLimitBalance decimal(13,2), @EndDate
nchar(8),
@EmperAmount decimal(13,2), @EmperPercent decimal(11,4), @StatusCode
nchar(5), @TermDate nchar(8), @HEDNumber nchar(3),
@TransitNo nchar(9), @DepositType nchar(1), @AccoutNo nchar(18), @Prenote
nchar(8)
DECLARE @YtdEmpeeAmount nchar(13), @YtdEmperAmount nchar(13), @DeductionCode
nchar(5), @BeginDate nchar(8),
@StopCode nchar(1), @StopField nchar(6), @AmountPercent nchar(7),
@StopAmount nchar(13), @AmountOne nchar(9), @AmountTwo nchar(10),
@UserCode nchar(2),
@BeginYear int, @BeginMonth int, @BeginDay int, @DupEmployerCode nchar(3),
@DupEmpNum nchar(9), @DupActivityCode nchar(1),
@HEDDeductArrearCode nchar(2), @HEDDeductMethodCode nchar(2);
DECLARE @OrgId nchar(6), @HEDDeductFreq nchar(2), @StartCode nchar(1),
@IsStartFuture int, @StartField nchar(6),
INSERT INTO #Deduct
(Emp_no, Employer_code)
VALUES
(@EmpNum, @EmployerCode)
CREATE TABLE #deposits
Ytd_employee_amount nvarchar(13), Ytd_employer_amount nvarchar(13),
Arrears_amount nvarchar(13), Begin_date nvarchar(8),
Deduction_code nvarchar(5), Employee_amount decimal(13,2), Employee_percent
decimal (11,4), Activity_code nvarchar(1),
Employee_limit_amount decimal(13,2), Employee_limit_balance decimal(13,2),
(
BEGIN
Procedures Page 42
Employee_limit_amount decimal(13,2), Employee_limit_balance decimal(13,2),
End_date nvarchar(8), Employer_amount decimal(13,2),
Employer_percent decimal(13,2), status_code nvarchar(5), cur_term_date nvarchar(8),
Transit_no nvarchar(9), Dep_type nvarchar(1),
Account_no nvarchar(18), Prenote_date nvarchar(8)
)
INSERT INTO #deposits
Ytd_employee_amount, Ytd_employer_amount, Arrears_amount, Begin_date,
Deduction_code, Employee_amount, Employee_percent,
Activity_code, Employee_limit_amount, Employee_limit_balance, End_date,
Employer_amount, Employer_percent, status_code,
cur_term_date, Transit_no, Dep_type, Account_no, Prenote_date
(
RTRIM(LTRIM(gs14.Ytd_employer_amount)),
RTRIM(LTRIM(gs14.Arrears_amount)),
RTRIM(LTRIM(gs14.Begin_date)),
RTRIM(LTRIM(gs14.Deduction_code)),
CAST(RTRIM(LTRIM(gs14.Employee_amount)) AS float), --
decimal(13,2)),
CAST(RTRIM(LTRIM(gs14.Employee_percent)) AS float), --
decimal(11,4)),
RTRIM(LTRIM(gs14.Activity_code)),
CAST(RTRIM(LTRIM(gs14.Employee_limit_amount)) AS float), --
decimal(13,2)),
CAST(RTRIM(LTRIM(gs14.Employee_limit_balance)) AS float), --
decimal(13,2)),
RTRIM(LTRIM(gs14.End_date)),
CAST(RTRIM(LTRIM(gs14.Employer_amount)) AS float), --
decimal(13,2)),
CAST(RTRIM(LTRIM(gs14.Employer_percent)) AS float), --
decimal(13,2)),
RTRIM(LTRIM(gs02.status_code)),
RTRIM(LTRIM(gs02.cur_term_date)),
RTRIM(LTRIM(gs15.Transit_no)),
RTRIM(LTRIM(gs15.Dep_type)),
RTRIM(LTRIM(gs15.Account_no)),
RTRIM(LTRIM(gs15.Prenote_date))
LEFT JOIN [dbo].[GFSISSY02] AS gs02 ON gs02.Employer_code =
gs14.Employer_code AND gs02.Emp_no = gs14.Emp_no
LEFT JOIN [dbo].[GFSISSY15] AS gs15 ON gs15.Employer_code =
gs14.Employer_code AND gs15.Emp_no = gs14.Emp_no AND
gs15.Deduction_code = gs14.Deduction_code
FROM dbo.GFSISSY14 AS gs14
WHERE gs14.Emp_no = @EmpNum AND gs14.Employer_code =
@EmployerCode
SELECT RTRIM(LTRIM(gs14.Ytd_employee_amount)),
)
--SELECT dp.Ytd_employee_amount, dp.Ytd_employer_amount, dp.Arrears_amount,
dp.Begin_date, dp.Deduction_code, dp.Employee_amount, dp.Employee_percent,
-- dp.Activity_code, dp.Employee_limit_amount, dp.Employee_limit_balance,
dp.End_date, dp.Employer_amount, dp.Employer_percent, dp.status_code,
-- dp.cur_term_date, dp.Transit_no, dp.Dep_type, dp.Account_no, dp.Prenote_date
-- FROM #deposits AS dp
--, @YtdEmpeeAmount, @YtdEmperAmount, @ArrearsAmount, @BeginDate,
-- @DeductionCode, @EmpeeAmount, @EmpeePercent, @ActivityCode,
@EmpeeLimitAmount, @EmpeeLimitBalance,
-- @EndDate, @EmperAmount, @EmperPercent, @StatusCode, @TermDate,
@TransitNo, @DepositType, @AccoutNo, @Prenote;
FROM #deposits AS dp
WHERE
SELECT dp.Deduction_code, dp.Employee_amount, dp.Employee_percent
DECLARE depositcursor CURSOR FOR
Procedures Page 43
RTRIM(LTRIM(dp.Deduction_code)) IN ('DDCK', 'DDCU', 'DDFL1',
'DDFL2', 'DDFL3', 'DDPC1', 'DDSAV')
(
)
AND
RTRIM(LTRIM(dp.Activity_code)) != '9'
AND
RTRIM(LTRIM(dp.Ytd_employee_amount)) != '.00'
OR
RTRIM(LTRIM(dp.Ytd_employer_amount)) != '.00'
OR
RTRIM(LTRIM(dp.Arrears_amount)) != '.00'
(
)
OR
RIGHT(RTRIM(LTRIM(dp.Begin_date)), 4) < 2013
OR
RIGHT(RTRIM(LTRIM(dp.Begin_date)), 4) = 2013
AND
LEFT(RTRIM(LTRIM(dp.Begin_date)),
LEN(RTRIM(LTRIM(dp.Begin_date)))-6) < 4
OR
LEFT(RTRIM(LTRIM(dp.Begin_date)),
LEN(RTRIM(LTRIM(dp.Begin_date)))-6) = 4
AND
LEFT(RIGHT(RTRIM(LTRIM(dp.Begin_date
)), 6), 2) = 01
(
)
(
)
(
)
(
)
(
)
RIGHT(RTRIM(LTRIM(dp.End_date)), 4) IS NULL
OR
RIGHT(RTRIM(LTRIM(dp.End_date)), 4) = 0
OR
RIGHT(RTRIM(LTRIM(dp.End_date)), 4) > 2013
OR
RIGHT(RTRIM(LTRIM(dp.End_date)), 4) = 2013
AND
LEFT(RTRIM(LTRIM(dp.End_date)),
LEN(RTRIM(LTRIM(dp.End_date)))-6) > 7
(
)
(
)
AND
WHERE
OPEN depositcursor;
INTO @DeductionCode, @EmpeeAmount, @EmpeePercent;
FETCH NEXT FROM depositcursor
WHILE @@FETCH_STATUS = 0
DECLARE @tmpvar decimal(13,4);
IF(@EmpeeAmount > 0)
IF (@DeductionCode = 'DDCK')
SET DDCKAmt = @EmpeeAmount
UPDATE #Deduct
BEGIN
BEGIN
BEGIN
Procedures Page 44
SET DDCKAmt = @EmpeeAmount
WHERE Emp_no = @EmpNum AND Employer_code =
@EmployerCode;
END
IF (@DeductionCode = 'DDCU')
SET DDCUAmt = @EmpeeAmount
WHERE Emp_no = @EmpNum AND Employer_code =
@EmployerCode;
UPDATE #Deduct
BEGIN
END
IF (@DeductionCode = 'DDFL1')
SET DDFL1Amt = @EmpeeAmount
WHERE Emp_no = @EmpNum AND Employer_code =
@EmployerCode;
UPDATE #Deduct
BEGIN
END
IF (@DeductionCode = 'DDFL2')
SET DDFL2Amt = @EmpeeAmount
WHERE Emp_no = @EmpNum AND Employer_code =
@EmployerCode;
UPDATE #Deduct
BEGIN
END
IF (@DeductionCode = 'DDPC1')
SET DDPC1Amt = @EmpeeAmount
WHERE Emp_no = @EmpNum AND Employer_code =
@EmployerCode;
UPDATE #Deduct
BEGIN
END
IF (@DeductionCode = 'DDSAV')
SET DDSAVAmt = @EmpeeAmount
WHERE Emp_no = @EmpNum AND Employer_code =
@EmployerCode;
UPDATE #Deduct
BEGIN
END
END
ELSE
IF (@DeductionCode = 'DDCK')
SET DDCKPct = @EmpeePercent
WHERE Emp_no = @EmpNum AND Employer_code =
@EmployerCode;
UPDATE #Deduct
BEGIN
END
IF (@DeductionCode = 'DDCU')
SET DDCUPct = @EmpeePercent
WHERE Emp_no = @EmpNum AND Employer_code =
@EmployerCode;
UPDATE #Deduct
BEGIN
END
IF (@DeductionCode = 'DDFL1')
SET DDFL1Pct = @EmpeePercent
WHERE Emp_no = @EmpNum AND Employer_code =
@EmployerCode;
UPDATE #Deduct
BEGIN
END
IF (@DeductionCode = 'DDFL2')
BEGIN
BEGIN
Procedures Page 45
SET DDFL2Pct = @EmpeePercent
WHERE Emp_no = @EmpNum AND Employer_code =
@EmployerCode;
UPDATE #Deduct
BEGIN
END
IF (@DeductionCode = 'DDPC1')
SET DDPC1Pct = @EmpeePercent
WHERE Emp_no = @EmpNum AND Employer_code =
@EmployerCode;
UPDATE #Deduct
BEGIN
END
IF (@DeductionCode = 'DDSAV')
SET DDSAVPct = @EmpeePercent
WHERE Emp_no = @EmpNum AND Employer_code =
@EmployerCode;
UPDATE #Deduct
BEGIN
END
END
INTO @DeductionCode, @EmpeeAmount, @EmpeePercent;
FETCH NEXT FROM depositcursor
END
CLOSE depositcursor;
DEALLOCATE depositcursor;
--EXEC @OrgId = dbo.ufn_GetOrgId02 @EmployerCode, @EmpNum;
--IF (@DeductionCode IN ('DDCP1', 'DDSAV') AND CAST(RTRIM(LTRIM(@EmpeePercent))
AS float) = 100)
--BEGIN
-- SET @HEDNumber = '999';
-- SET @HEDDeductFreq = '00';
-- SET @HEDDeductArrearCode = '53';
-- SET @HEDDeductMethodCode = '00';
--END
--ELSE
--BEGIN
-- IF (@EmpeeAmount != '.00')
-- BEGIN
-- SET @HEDDeductMethodCode = '02';
-- SET @AmountPercent = REPLACE(@EmpeeAmount, '.', '');
-- END
-- ELSE IF (@EmpeePercent != '.0000')
-- BEGIN
-- SET @HEDDeductMethodCode = '13';
-- SET @AmountPercent = REPLACE(LEFT(@EmpeePercent,
LEN(@EmpeePercent)-2), '.', '');
-- END
-- IF(@AmountPercent = '000')
-- BEGIN
-- SET @AmountPercent = NULL;
-- END
-- IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9 WHERE
th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode AND
th9.HEDNumber = '995')
-- BEGIN
-- SET @HEDNumber = '995';
-- SET @HEDDeductFreq = '01';
-- SET @HEDDeductArrearCode = '00';
Procedures Page 46
-- SET @HEDDeductArrearCode = '00';
-- END
-- IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9 WHERE
th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode AND
th9.HEDNumber = '996')
-- BEGIN
-- SET @HEDNumber = '996';
-- SET @HEDDeductFreq = '02';
-- SET @HEDDeductArrearCode = '01';
-- END
-- ELSE IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9 WHERE
th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode AND
th9.HEDNumber = '997')
-- BEGIN
-- SET @HEDNumber = '997';
-- SET @HEDDeductFreq = '03';
-- SET @HEDDeductArrearCode = '02';
-- END
-- ELSE IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9 WHERE
th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode AND
th9.HEDNumber = '998')
-- BEGIN
-- SET @HEDNumber = '998';
-- SET @HEDDeductFreq = '04';
-- SET @HEDDeductArrearCode = '03';
-- END
-- ELSE
-- BEGIN
-- SET @HEDNumber = 'ER2';
-- SET @HEDDeductFreq = 'ER';
-- SET @HEDDeductArrearCode = 'ER';
-- END
--END
--IF(LEN(@Prenote) > 1)
--BEGIN
-- EXEC @IsStartFuture = [dbo].[ufn_IsDateFuture] @Prenote;
-- IF(@IsStartFuture = 1)
-- BEGIN
-- SET @StartCode = 'S';
-- END
-- ELSE
-- BEGIN
-- SET @StartCode = '1';
-- END
-- EXEC @StartField = dbo.ufn_GetDate_YYMMDD @Prenote
--END
--ELSE
--BEGIN
-- SET @StartCode = '0';
-- SET @StartField = '000000';
--END
--IF (@DepositType = 'C')
--BEGIN
-- SET @DepositType = '2';
--END
--ELSE IF (@DepositType = 'S')
--BEGIN
-- SET @DepositType = '3';
--END
--ELSE
--BEGIN
-- SET @DepositType = 'E';
--END
Procedures Page 47
--END
--INSERT INTO dbo.Transaction_H9
--(
-- [EmployerCode],
-- [EmpNum],
-- [YtdEmployeeAmount],
-- [YtdEmployerAmount],
-- [ArrearsAmount],
-- [ActivityCode],
-- [BeginDate],
-- [DeductionCode],
-- [CompanyNumber],
-- [ProgramField],
-- [HEDNumber],
-- [HEDDeductFreqCode],
-- [StartCode],
-- [HEDDeductArrearCode],
-- [StartField],
-- [HEDDeductMethodCode],
-- [AmountPercent],
-- [TransitNo],
-- [DepositType],
-- [AccountNum],
-- [PrenoteDate]
--)
--VALUES
--(
-- @EmployerCode,
-- @EmpNum,
-- @YtdEmpeeAmount,
-- @YtdEmperAmount,
-- @ArrearsAmount,
-- @ActivityCode,
-- @BeginDate,
-- @DeductionCode,
-- @OrgId,
-- 'H9-SCR',
-- @HEDNumber,
-- @HEDDeductFreq,
-- @StartCode,
-- @HEDDeductArrearCode,
-- @StartField,
-- @HEDDeductMethodCode,
-- @AmountPercent,
-- @TransitNo,
-- @DepositType,
-- @AccoutNo,
-- @Prenote
--)
SET @AccoutNo = NULL;
SET @ActivityCode = NULL;
SET @AmountOne = NULL;
SET @AmountPercent = NULL;
SET @AmountTwo = NULL;
SET @ArrearsAmount = NULL;
SET @BeginDate = NULL;
SET @DeductionCode = NULL;
SET @DepositType = NULL;
SET @EmpeeAmount = NULL;
SET @EmpeeLimitAmount = NULL;
SET @EmpeeLimitBalance = NULL;
SET @EmpeePercent = NULL;
SET @EmperAmount = NULL;
SET @EmperPercent = NULL;
SET @EmployerCode = NULL;
Procedures Page 48
SET @EmployerCode = NULL;
SET @EmpNum = NULL;
SET @EndDate = NULL;
SET @HEDDeductArrearCode = NULL;
SET @HEDDeductFreq = NULL;
SET @HEDDeductMethodCode = NULL;
SET @HEDNumber = NULL;
SET @OrgId = NULL;
SET @Prenote = NULL;
SET @StartCode = NULL;
SET @StartField = NULL;
SET @StatusCode = NULL;
SET @StopAmount = NULL;
SET @StopCode = NULL;
SET @StopField = NULL;
SET @TermDate = NULL;
SET @TransitNo = NULL;
SET @UserCode = NULL;
SET @YtdEmpeeAmount = NULL;
SET @YtdEmperAmount = NULL;
DROP TABLE #deposits;
--01 @EmployerCode,
--02 @EmpNum,
--03 @YtdEmpeeAmount,
--04 @YtdEmperAmount,
--05 @ArrearsAmount,
--06 @BeginDate,
--07 @DeductionCode,
--08 @EmpeeAmount, d
--09 @EmpeePercent, d
--10 @ActivityCode,
--11 @EmpeeLimitAmount, d
--12 @EmpeeLimitBalance, d
--13 @EndDate,
--14 @EmperAmount, d
--15 @EmperPercent, d
--16 @StatusCode,
--17 @TermDate,
--18 @TransitNo,
--19 @DepositType,
--20 @AccoutNo,
--21 @Prenote
INTO @EmployerCode, @EmpNum;
FETCH NEXT FROM datacursor
END
CLOSE datacursor;
DEALLOCATE datacursor;
FROM #Deduct AS dd
GROUP BY dd.DDCKPct, dd.DDCUPct, dd.DDFL1Pct, dd.DDFL2Pct, dd.DDPC1Pct,
dd.DDSAVPct
ORDER BY dd.DDCKPct, dd.DDCUPct, dd.DDFL1Pct, dd.DDFL2Pct, dd.DDPC1Pct,
dd.DDSAVPct
SELECT dd.DDCKPct, dd.DDCUPct, dd.DDFL1Pct, dd.DDFL2Pct, dd.DDPC1Pct, dd.DDSAVPct,
COUNT(*)
FROM #Deduct AS dt;
SELECT dt.Emp_no, dt.Employer_code, dt.DDCKPct, dt.DDCUPct, dt.DDFL1Pct, dt.DDFL2Pct,
dt.DDPC1Pct, dt.DDSAVPct
DROP TABLE #Deduct;
END
Procedures Page 49
/****** Object: StoredProcedure [dbo].[TransactionCursor_HD] Script Date: 12/12/2013 15:15:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_HD]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_HD;
@ArrearsAmount nchar(13), @ArrearsBalance nchar(13), @EmpeeAmount nchar(13),
@EmpeePercent nchar(11), @ActivityCode nchar(1), @EmpeeLimitAmount
decimal(13,2), @EmpeeLimitBalance decimal(13,2),
@EndDate nchar(8), @EmperAmount nchar(13), @EmperPercent nchar(11),
@StatusCode nchar(5), @TermDate nchar(8),
@CurrentDeductNum nchar(9), @CurrentDeductCount int, @CurrentGarnishNum
nchar(9), @CurrentGarnishCount int;
DECLARE @EmployerCode nchar(3), @EmpNum nchar(9), @YtdEmpeeAmount nchar(13),
@YtdEmperAmount nchar(13), @DeductionCode nchar(5), @BeginDate nchar(8),
RTRIM(LTRIM(gs14.Emp_no)),
RTRIM(LTRIM(gs14.Ytd_employee_amount)),
RTRIM(LTRIM(gs14.Ytd_employer_amount)),
RTRIM(LTRIM(gs14.Arrears_amount)),
RTRIM(LTRIM(gs14.Arrears_balance)),
RTRIM(LTRIM(gs14.Begin_date)),
RTRIM(LTRIM(gs14.Deduction_code)),
RTRIM(LTRIM(gs14.Employee_amount)),
RTRIM(LTRIM(gs14.Employee_percent)),
RTRIM(LTRIM(gs14.Activity_code)),
RTRIM(LTRIM(gs14.Employee_limit_amount)),
RTRIM(LTRIM(gs14.Employee_limit_balance)),
RTRIM(LTRIM(gs14.End_date)),
RTRIM(LTRIM(gs14.Employer_amount)),
RTRIM(LTRIM(gs14.Employer_percent)),
RTRIM(LTRIM(gs02.status_code)),
RTRIM(LTRIM(gs02.cur_term_date))
SELECT RTRIM(LTRIM(gs14.Employer_code)),
LEFT OUTER JOIN [dbo].[GFSISSY02] AS gs02 ON gs14.Employer_code =
gs02.Employer_code AND gs14.Emp_no = gs02.Emp_no
FROM dbo.GFSISSY14 AS gs14
RTRIM(LTRIM(gs14.Deduction_code)) NOT IN ('*DCA', '*ETT', '*FICA', '*FMHI',
'*FUTA', '*FWT', '*SCA', '*UCA', '*UMN', 'DDCK', 'DDCU', 'DDFL1', 'DDFL2', 'DDFL3',
'DDPC1', 'DDSAV', 'MISCK')
AND
RTRIM(LTRIM(gs14.Deduction_code)) IN ('401K', '401S')
OR
RTRIM(LTRIM(gs14.Deduction_code)) LIKE 'LOAN%'
OR
CAST(RTRIM(LTRIM(gs14.Ytd_employee_amount)) AS float) > 0.00
OR
CAST(RTRIM(LTRIM(gs14.Ytd_employer_amount)) AS float) > 0.00
OR
CAST(RTRIM(LTRIM(gs14.Arrears_amount)) AS float) > 0.00
OR
CAST(RIGHT(RTRIM(LTRIM(gs14.Begin_date)), 4) AS int) > 2013 --Year
(
(
WHERE
DECLARE datacursor CURSOR SCROLL FOR
BEGIN
TransactionCursor_HD
Thursday, December 12, 2013 3:15 PM
Procedures Page 50
CAST(RIGHT(RTRIM(LTRIM(gs14.Begin_date)), 4) AS int) > 2013 --Year
OR
CAST(RIGHT(RTRIM(LTRIM(gs14.Begin_date)), 4) AS int) = 2013 --
Year
AND
CAST(LEFT(RTRIM(LTRIM(gs14.Begin_date)),
(LEN(RTRIM(LTRIM(gs14.Begin_date)))-6)) AS int) > 4 --Month
(
)
OR
CAST(RIGHT(RTRIM(LTRIM(gs14.Begin_date)), 4) AS int) = 2013 --
Year
AND
CAST(LEFT(RTRIM(LTRIM(gs14.Begin_date)),
(LEN(RTRIM(LTRIM(gs14.Begin_date)))-6)) AS int) = 4 --Month
AND
CAST(LEFT(RIGHT(RTRIM(LTRIM(gs14.Begin_date)), 6), 2) AS
int) > 1 --Day
(
)
)
)
AND
(
CAST(RTRIM(LTRIM(gs14.Employee_amount)) AS float) > 0.00
OR
CAST(RTRIM(LTRIM(gs14.Employee_percent)) AS float) > 0.0000
OR
CAST(RTRIM(LTRIM(gs14.Employer_amount)) AS float) > 0.00
OR
CAST(RTRIM(LTRIM(gs14.Employer_percent)) AS float) > 0.0000
)
ORDER BY gs14.Emp_no, gs14.Deduction_code
OPEN datacursor;
FETCH NEXT FROM datacursor
@DeductionCode, @EmpeeAmount, @EmpeePercent, @ActivityCode,
@EmpeeLimitAmount, @EmpeeLimitBalance,
@EndDate, @EmperAmount, @EmperPercent, @StatusCode, @TermDate;
INTO @EmployerCode, @EmpNum, @YtdEmpeeAmount, @YtdEmperAmount, @ArrearsAmount,
@ArrearsBalance, @BeginDate,
WHILE @@FETCH_STATUS = 0
@StopCode nchar(1), @StopField nchar(6), @StopFieldDec decimal(13,2),
@AmountPercent nvarchar(12), @AmountOne nchar(9), @AmountTwo
nchar(10), @UserCode nchar(2),
@BeginYear int, @BeginMonth int, @BeginDay int, @DupEmployerCode
nchar(3), @DupActivityCode nchar(1), @IsBeginDateFuture int,
@IsEndDateFuture int;
DECLARE @OrgId nvarchar(6), @HEDNumber nvarchar(10), @HEDEarnFreq nchar(2),
@StartCode nchar(1), @StartField nchar(6),
EXEC @OrgId = dbo.ufn_GetOrgId02 @EmployerCode, @EmpNum;
IF (CAST(@EmpeeAmount AS float) > 0.00 OR CAST(@EmpeePercent AS float) > 0.0000
OR @DeductionCode LIKE '401%' OR @DeductionCode LIKE 'LOAN%')
IF (@DeductionCode = 'SUPP')
SET @HEDNumber = '501';
SET @HEDEarnFreq = '01';
BEGIN
END
ELSE IF ((@DeductionCode = '401K ' AND @HEDNumber = '801') OR
(@DeductionCode = '401S ' AND @HEDNumber = '801') OR @HEDNumber = '803')
SET @HEDEarnFreq = '18';
BEGIN
END
ELSE IF (@DeductionCode LIKE 'LOAN%')
BEGIN
BEGIN
Procedures Page 51
ELSE IF (@DeductionCode LIKE 'LOAN%')
DECLARE @StopFieldValue decimal(9,2), @limitamount float, @limitbalance
float;
SET @limitamount = CAST(@EmpeeLimitAmount AS float);
SET @limitbalance = CAST(@EmpeeLimitBalance AS float);
SET @StopFieldValue = @limitamount - @limitbalance;
EXEC @IsBeginDateFuture = dbo.ufn_IsDateFuture @BeginDate;
EXEC @IsEndDateFuture = dbo.ufn_IsDateFuture @EndDate;
PRINT 'Employee: ' + @EmpNum +
' -- YTDEmployeeAmount: ' + @YtdEmpeeAmount +
' -- IsEndDateFuture: ' + CAST(@IsEndDateFuture AS nvarchar) + ' ( '
+ @EndDate + ' ) ' +
' -- StopFieldValue: ' + CAST(@StopFieldValue AS nvarchar);
' -- IsBeginDateFuture: ' + CAST(@IsBeginDateFuture AS nvarchar) + ' ( ' +
@BeginDate + ' ) ' +
IF (@IsBeginDateFuture = 0)
SET @HEDEarnFreq = '01';
SET @StopCode = '7';
IF(CAST(@EmpeeLimitAmount AS float) > 9999.99)
SET @StopField = '999999';
SET @AmountOne = @StopFieldValue;
BEGIN
END
ELSE
EXEC @StopField = dbo.ufn_RemoveDecimal @StopFieldValue, 2;
BEGIN
END
BEGIN
END
ELSE IF(CAST(@YtdEmpeeAmount AS float) > 0)
IF(@IsEndDateFuture = 1 OR @StopFieldValue = 0)
SET @HEDEarnFreq = '00';
SET @StopCode = '1';
EXEC @StopField = dbo.ufn_GetDate_YYMMDD @EndDate;
BEGIN
END
ELSE IF(@IsEndDateFuture = 0)
IF(@StopFieldValue > 0)
SET @HEDEarnFreq = '01';
SET @StopCode = '7';
IF(CAST(@EmpeeLimitAmount AS float) > 9999.99)
SET @StopField = '999999';
SET @AmountOne = @StopFieldValue;
BEGIN
END
ELSE
EXEC @StopField = dbo.ufn_RemoveDecimal
@StopFieldValue, 2;
BEGIN
END
BEGIN
END
ELSE
SET @HEDEarnFreq = '00';
SET @StopCode = '1';
EXEC @StopField = dbo.ufn_GetDate_YYMMDD @EndDate;
BEGIN
END
BEGIN
END
BEGIN
END
IF(@CurrentGarnishNum IS NULL OR @CurrentGarnishNum != @EmpNum)
BEGIN
BEGIN
Procedures Page 52
SET @CurrentGarnishNum = @EmpNum;
SET @CurrentGarnishCount = 1;
BEGIN
END
IF(@StopCode IN ('1', '7'))
IF(@CurrentGarnishCount=1)
SET @HEDNumber='520';
SET @CurrentGarnishCount = @CurrentGarnishCount+1;
BEGIN
END
ELSE
SET @HEDNumber = '521';
SET @CurrentGarnishCount = @CurrentGarnishCount+1;
BEGIN
END
BEGIN
END
END
ELSE IF (@DeductionCode IN ('BANK', 'GAR', 'GAR1', 'GAR2', 'GAR4', 'GAR6',
'GAR7', 'IRS', 'SCH', 'STATE'))
IF(@CurrentDeductNum IS NULL OR @CurrentDeductNum != @EmpNum)
SET @CurrentDeductNum = @EmpNum;
SET @CurrentDeductCount = 1;
BEGIN
END
IF(@CurrentDeductCount=1)
SET @HEDNumber = '505';
SET @CurrentDeductCount = @CurrentDeductCount + 1;
BEGIN
END
ELSE IF (@CurrentDeductCount = 2)
SET @HEDNumber = '506';
SET @CurrentDeductCount = @CurrentDeductCount + 1;
BEGIN
END
ELSE IF (@CurrentDeductCount = 3)
SET @HEDNumber = '507';
SET @CurrentDeductCount = @CurrentDeductCount + 1;
BEGIN
END
ELSE IF (@CurrentDeductCount = 4)
SET @HEDNumber = '508';
SET @CurrentDeductCount = @CurrentDeductCount + 1;
BEGIN
END
SET @HEDEarnFreq = '01';
BEGIN
END
ELSE IF(@DeductionCode IS NULL)
SET @HEDNumber = NULL;
SET @HEDEarnFreq = '01';
BEGIN
END
ELSE
SET @HEDNumber =
FROM [dbo].[Inc_and_Deduct_To_HED_Nos] AS idh
WHERE idh.EMPLOYER = @EmployerCode AND idh.[INCOME
CODE]=@DeductionCode
SELECT SUBSTRING(idh.HED2, 2, 3)
(
)
SET @HEDEarnFreq = '01';
BEGIN
END
END
Procedures Page 53
END
ELSE
SET @HEDNumber =
FROM [dbo].[Inc_and_Deduct_To_HED_Nos] AS idh
WHERE idh.EMPLOYER = @EmployerCode AND idh.[INCOME
CODE]=@DeductionCode
SELECT SUBSTRING(idh.HED2, 2, 3)
(
)
SET @HEDEarnFreq = '01';
BEGIN
END
IF (LEN(@BeginDate) > 6)
EXEC @StartField = dbo.ufn_GetDate_YYMMDD @BeginDate;
BEGIN
END
IF(LEN(@StartField) > 1)
SET @StartCode = '1';
BEGIN
END
ELSE
SET @StartCode = NULL;
BEGIN
END
IF (CAST(@EmpeeAmount AS float) > 0.00)
EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmpeeAmount, 2;
BEGIN
END
ELSE IF (CAST(@EmpeePercent AS float) > 0.0000)
EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmpeePercent, 2;
BEGIN
END
ELSE IF (CAST(@EmperAmount AS float) > 0.00)
EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmperAmount, 2;
BEGIN
END
ELSE IF (CAST(@EmperPercent AS float) > 0.0000)
EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmperPercent, 2;
BEGIN
END
EXEC @AmountPercent = [dbo].[ufn_SetStringLength] @AmountPercent, 7, '0';
--EXEC @AmountOne = [dbo].[ufn_SetStringLength] @AmountOne, 9, '0';
IF(@HEDNumber = '801')
SET @UserCode = 'L1';
BEGIN
END
ELSE IF(@HEDNumber = '805')
SET @UserCode = 'L4';
BEGIN
END
ELSE IF(@DeductionCode LIKE 'LOAN%')
SET @UserCode = '0' + RIGHT(@DeductionCode, 1);
BEGIN
END
SET @AmountTwo = @EmpeeLimitAmount;
EXEC @AmountTwo = [dbo].[ufn_SetStringLength] @AmountTwo, 10, '0';
IF(@HEDNumber IS NOT NULL)
INSERT INTO dbo.Transaction_HD
[EmployerCode],
[EmpNum],
[YtdEmployeeAmount],
[YtdEmployerAmount],
[ArrearsAmount],
(
BEGIN
Procedures Page 54
[ArrearsAmount],
[ActivityCode],
[CompanyNumber],
[ProgramField],
[IncomeCode],
[HEDNumber],
[HEDEarningFreqCode],
[BeginDate],
[StartCode],
[StartField],
[StopCode],
[AmountPercent],
[StopField],
[UserCode],
[AmountOne],
[AmountTwo]
)
VALUES
@EmployerCode,
@EmpNum,
@YtdEmpeeAmount,
@YtdEmperAmount,
@ArrearsAmount,
@ActivityCode,
@OrgId,
'HH-SCR',
@DeductionCode,
@HEDNumber,
@HEDEarnFreq,
@BeginDate,
@StartCode,
@StartField,
@StopCode,
@AmountPercent,
@StopField,
@UserCode,
@AmountOne,
@AmountTwo
(
)
IF (@HEDNumber = '755')
SET @HEDNumber = '0';
BEGIN
END
ELSE IF (@HEDNumber = '735')
SET @HEDNumber = '755'
IF ( CAST(@EmperAmount AS float) > 0.00)
EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmperAmount, 2;
EXEC @AmountPercent = [dbo].[ufn_SetStringLength] @AmountPercent,
7, '0';
BEGIN
END
ELSE IF ( CAST(@EmperPercent AS float) > 0.0000)
EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmperPercent, 2;
EXEC @AmountPercent = [dbo].[ufn_SetStringLength] @AmountPercent,
7, '0';
BEGIN
END
BEGIN
END
ELSE IF(@HEDNumber = '801')
SET @HEDNumber = '805';
SET @UserCode = 'L4';
EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmperPercent, 2;
BEGIN
Procedures Page 55
EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmperPercent, 2;
EXEC @AmountPercent = [dbo].[ufn_SetStringLength] @AmountPercent, 7, '0';
END
IF(@HEDNumber IN ('755', '805'))
INSERT INTO dbo.Transaction_HD
[EmployerCode],
[EmpNum],
[YtdEmployeeAmount],
[YtdEmployerAmount],
[ArrearsAmount],
[ActivityCode],
[CompanyNumber],
[ProgramField],
[IncomeCode],
[HEDNumber],
[HEDEarningFreqCode],
[BeginDate],
[StartCode],
[StartField],
[StopCode],
[AmountPercent],
[StopField],
[UserCode],
[AmountOne],
[AmountTwo]
(
)
VALUES
@EmployerCode,
@EmpNum,
@YtdEmpeeAmount,
@YtdEmperAmount,
@ArrearsAmount,
@ActivityCode,
@OrgId,
'HH-SCR',
@DeductionCode,
@HEDNumber,
@HEDEarnFreq,
@BeginDate,
@StartCode,
@StartField,
@StopCode,
@AmountPercent,
@StopField,
@UserCode,
@AmountOne,
@AmountTwo
(
)
BEGIN
END
END
SET @EmployerCode = NULL;
SET @EmpNum = NULL;
SET @YtdEmpeeAmount = NULL;
SET @YtdEmperAmount = NULL;
SET @DeductionCode = NULL;
SET @BeginDate = NULL;
SET @ArrearsAmount = NULL;
SET @ArrearsBalance = NULL;
SET @EmpeeAmount = NULL;
SET @EmpeePercent = NULL;
SET @ActivityCode = NULL;
SET @EmpeeLimitAmount = NULL;
Procedures Page 56
SET @EmpeeLimitAmount = NULL;
SET @EmpeeLimitBalance = NULL;
SET @EndDate = NULL;
SET @EmperAmount = NULL;
SET @EmperPercent = NULL;
SET @OrgId = NULL;
SET @DeductionCode = NULL;
SET @HEDNumber = NULL;
SET @HEDEarnFreq = NULL;
SET @StartCode = NULL;
SET @StartField = NULL;
SET @StopCode = NULL;
SET @StopField = NULL;
SET @AmountPercent = NULL;
SET @AmountOne = NULL;
SET @AmountTwo = NULL;
SET @UserCode = NULL;
SET @StatusCode = NULL;
SET @TermDate = NULL;
FETCH NEXT FROM datacursor
@DeductionCode, @EmpeeAmount, @EmpeePercent, @ActivityCode,
@EmpeeLimitAmount, @EmpeeLimitBalance,
@EndDate, @EmperAmount, @EmperPercent, @StatusCode, @TermDate;
INTO @EmployerCode, @EmpNum, @YtdEmpeeAmount, @YtdEmperAmount,
@ArrearsAmount, @ArrearsBalance, @BeginDate,
END
CLOSE datacursor;
DEALLOCATE datacursor;
END
Procedures Page 57
/****** Object: StoredProcedure [dbo].[TransactionCursor_HE] Script Date: 12/12/2013 15:16:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_HE]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_HE;
@IncAmount nchar(13), @YtdPay nchar(13), @YtdHrs nchar(9), @HEDNumber
nchar(4), @group_number nvarchar(5);
DECLARE @EmployerCode nchar(3), @EmpNum nchar(9), @IncCode nchar(5), @BeginDate
nchar(8), @EndDate nchar(8),
gs13.Emp_no,
gs13.Income_code,
gs13.Begin_date,
gs13.End_date,
RTRIM(LTRIM(gs13.Income_amount)),
gs13.YTD_pay,
gs13.YTD_hours,
idh.HED2,
RTRIM(LTRIM(gb.Group_number))
INNER JOIN [dbo].[Inc_and_Deduct_To_HED_Nos] AS idh ON idh.EMPLOYER
= gs13.Employer_code AND idh.[INCOME CODE] = gs13.Income_code
LEFT OUTER JOIN [dbo].[GFSISSY56] AS gb ON RTRIM(LTRIM(gb.[Emp_no]))
= RIGHT(gs13.[Emp_no],7) AND RTRIM(LTRIM(gb.Employer_code)) =
LEFT(gs13.Employer_code,2)
FROM dbo.GFSISSY13 AS gs13
RTRIM(LTRIM(gs13.YTD_pay)) != '.00'
AND
RTRIM(LTRIM(gs13.YTD_hours)) != '.00'
AND
RTRIM(LTRIM(gs13.Begin_date)) != '0'
AND
RIGHT(RTRIM(LTRIM(gs13.Begin_date)), 4) > 2012
AND
LEFT(RTRIM(LTRIM(gs13.Begin_date)),
LEN(RTRIM(LTRIM(gs13.Begin_date)))-6) > 4
AND
LEFT(RIGHT(RTRIM(LTRIM(gs13.Begin_date)), 6), 2) > 01
(
)
(
)
OR
RTRIM(LTRIM(gs13.YTD_pay)) != '.00'
OR
RTRIM(LTRIM(gs13.YTD_hours)) != '.00'
(
)
AND
RTRIM(LTRIM(gs13.Income_amount)) != '.00'
(
)
WHERE
SELECT gs13.Employer_code,
DECLARE datacursor CURSOR FOR
OPEN datacursor;
BEGIN
TransactionCursor_HE
Thursday, December 12, 2013 3:16 PM
Procedures Page 58
OPEN datacursor;
FETCH NEXT FROM datacursor
INTO @EmployerCode, @EmpNum, @IncCode, @BeginDate, @EndDate, @IncAmount,
@YtdPay, @YtdHrs, @HEDNumber, @group_number;
WHILE @@FETCH_STATUS = 0
SET @BeginDate = RTRIM(LTRIM(@BeginDate));
IF(LEN(@BeginDate) = 7)
SET @BeginDate = '0' + @BeginDate;
BEGIN
END
@StartCode nchar(1), @StartField nchar(6), @StopCode nchar(1), @AmtPct
nchar(7), @StopField nchar(6);
DECLARE @OrgId char(6), @StatusCode nchar(5), @TermDate nchar(8),
@TermDate=gs02.cur_term_date
FROM dbo.GFSISSY02 AS gs02
WHERE gs02.Employer_code = @EmployerCode AND gs02.Emp_no = @EmpNum;
SELECT @StatusCode=gs02.status_code,
--EXEC @OrgId = dbo.ufn_GetOrgId @EmployerCode, @StatusCode, @TermDate;
EXEC @OrgId = dbo.ufn_GetOrgId02 @EmployerCode, @EmpNum;
IF(@IncAmount != '0' OR @IncAmount != '0.00' OR @IncAmount != '.00')
SET @HEDNumber = RIGHT(@HEDNumber, 3);
BEGIN
END
ELSE
SET @HEDNumber = NULL;
BEGIN
END
IF (@IncCode = '401KI')
IF (@group_number = '75585')
SET @HEDNumber = '487';
BEGIN
END
ELSE IF (@group_number = '20923')
SET @HEDNumber = '488';
BEGIN
END
BEGIN
END
IF (LEN(RTRIM(LTRIM(@BeginDate))) > 1)
SET @StartCode = 1;
SET @BeginDate = (LTRIM(@BeginDate));
EXEC @StartField = dbo.ufn_GetDate_YYMMDD @BeginDate;
BEGIN
END
IF (LEN(RTRIM(LTRIM(@EndDate))) > 1)
SET @StopCode = 1;
SET @EndDate = RTRIM(LTRIM(@EndDate));
EXEC @StopField = dbo.ufn_GetDate_YYMMDD @EndDate;
BEGIN
END
--SET @AmtPct = @IncAmount; --REPLACE(@IncAmount, '.', '');
SET @EmpNum = SUBSTRING(@EmpNum, 3, 7);
INSERT INTO dbo.Transaction_HE
(
CompanyNumber,
ProgramField,
Emp_no,
HEDNumber,
BeginDate,
StartCode,
StartField,
EndDate,
StopCode,
AmountPercent,
BEGIN
Procedures Page 59
AmountPercent,
StopField,
IncomeCode,
IncomeAmount,
YTDPay,
YTDHours
)
VALUES
(
@OrgId,
'HH-SCR',
@EmpNum,
@HEDNumber,
@BeginDate,
@StartCode,
@StartField,
@EndDate,
@StopCode,
REPLACE(@IncAmount, '.', ''), --@AmtPct,
@StopField,
@IncCode,
@IncAmount,
@YtdPay,
@YtdHrs
)
SET @EmployerCode = NULL;
SET @EmpNum = NULL;
SET @IncCode = NULL;
SET @BeginDate = NULL;
SET @EndDate = NULL;
SET @IncAmount = NULL;
SET @YtdPay = NULL;
SET @YtdHrs = NULL;
SET @OrgId = NULL;
SET @StatusCode = NULL;
SET @TermDate = NULL;
SET @HEDNumber = NULL;
SET @StartCode = NULL;
SET @StartField = NULL;
SET @StopCode = NULL;
SET @AmtPct = NULL;
SET @StopField = NULL;;
FETCH NEXT FROM datacursor
INTO @EmployerCode, @EmpNum, @IncCode, @BeginDate, @EndDate, @IncAmount,
@YtdPay, @YtdHrs, @HEDNumber, @group_number;
END
END
Procedures Page 60
/****** Object: StoredProcedure [dbo].[TransactionCursor_J] Script Date: 12/12/2013 15:16:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_J]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_J;
DECLARE @EmployerCode nchar(3), @EmpNum nchar(9), @MaritalStatusTax nchar(1),
@FedExempts nvarchar(255), @StateExempts nvarchar(255)
FROM dbo.GFSISSY04 AS gs4;
SELECT gs4.Employer_code, gs4.Emp_no, gs4.Marital_status_tax, gs4.Fed_exmptions,
gs4.State_exemptions
DECLARE datacursor CURSOR FOR
OPEN datacursor;
FETCH NEXT FROM datacursor
INTO @EmployerCode, @EmpNum, @MaritalStatusTax, @FedExempts, @StateExempts;
WHILE @@FETCH_STATUS = 0
DECLARE @OrgId char(6), @StatusCode nchar(5), @TermDate nchar(8)
SET @OrgId = NULL;
SET @StatusCode = NULL;
SET @TermDate = NULL;
FROM dbo.GFSISSY02 AS gs2
WHERE gs2.Employer_code = @EmployerCode AND gs2.Emp_no = @EmpNum;
SELECT @StatusCode = gs2.status_code, @TermDate = gs2.cur_term_date
--EXEC @OrgId = dbo.ufn_GetOrgId @EmployerCode, @StatusCode, @TermDate;
EXEC @OrgId = dbo.ufn_GetOrgId02 @EmployerCode, @EmpNum;
IF (@OrgId IS NOT NULL)
SET @EmpNum = SUBSTRING(@EmpNum, 3, 7);
DECLARE @DeductCode nchar(5), @MaritalStatus nchar(1), @AddAmount nchar(13),
@AddPercent nchar(11);
SET @FedTaxMethodCode = '1';
SET @StateTaxMethodCode = '1';
SET @FedTaxMaritalCode = @MaritalStatusTax;
SET @StateTaxMaritalCode = @MaritalStatusTax;
DECLARE @FedTaxMethodCode nchar(1), @FedTaxMaritalCode nchar(1),
@StateTaxMethodCode nchar(1), @StateTaxMaritalCode nchar(1);
DECLARE gs8Cursor CURSOR FOR
FROM dbo.GFSISSY08 AS gs8
WHERE gs8.Employer_code = @EmployerCode AND gs8.Emp_no =
@EmpNum;
SELECT gs8.Deduction_code, gs8.Marital_status, gs8.Additional_employee_amount,
gs8.Additional_employee_percent
OPEN gs8Cursor;
FETCH NEXT FROM gs8Cursor
INTO @DeductCode, @MaritalStatus, @AddAmount, @AddPercent
WHILE @@FETCH_STATUS = 0
IF(@DeductCode = 'FWT' AND CAST(@AddAmount AS decimal) > 0)
SET @FedTaxMethodCode = '6';
BEGIN
END
ELSE IF (@DeductCode = 'FWT' AND CAST(@AddPercent AS decimal) > 0)
SET @FedTaxMethodCode = '7';
BEGIN
BEGIN
BEGIN
BEGIN
BEGIN
TransactionCursor_J
Thursday, December 12, 2013 3:16 PM
Procedures Page 61
SET @FedTaxMethodCode = '7';
END
IF(@DeductCode = 'SCA' AND CAST(@AddAmount AS decimal) > 0)
SET @StateTaxMethodCode = '6';
BEGIN
END
ELSE IF (@DeductCode = 'SCA' AND CAST(@AddPercent AS decimal) > 0)
SET @StateTaxMethodCode = '7';
BEGIN
END
IF(@DeductCode = 'FWT')
Set @FedTaxMaritalCode = @MaritalStatus;
BEGIN
END
IF(@DeductCode = 'SCA')
Set @StateTaxMaritalCode = @MaritalStatus;
BEGIN
END
SET @DeductCode = NULL;
SET @MaritalStatus = NULL;
SET @AddAmount = NULL;
SET @AddPercent = NULL;
END
CLOSE gs8Cursor;
DEALLOCATE gs8Cursor;
DECLARE @ConvFedMarital nchar(1), @ConvStatMarital nchar(1);
EXEC @ConvFedMarital = dbo.ufn_Convert_MaritalCode @FedTaxMaritalCode;
EXEC @ConvStatMarital = dbo.ufn_Convert_MaritalCode @StateTaxMaritalCode;
DECLARE @ExemptFed nvarchar(2), @ExemptState nvarchar(2);
SET @ExemptFed = RTRIM(LTRIM(@FedExempts));
SET @ExemptState = RTRIM(LTRIM(@StateExempts));
INSERT INTO dbo.Transaction_J
OrgId,
Program_field,
Emp_no,
TaxId,
Tax_method_code,
Reciprocal_code,
Tax_marital_code,
Tax_dependents
(
)
VALUES
@OrgId,
'JJ-SCR',
@EmpNum,
'102',
@FedTaxMethodCode,
'3',
@ConvFedMarital,
@ExemptFed
(
)
INSERT INTO dbo.Transaction_J
OrgId,
Program_field,
Emp_no,
TaxId,
Tax_method_code,
Reciprocal_code,
Tax_marital_code,
Tax_dependents
(
)
VALUES
Procedures Page 62
VALUES
@OrgId,
'JJ-SCR',
@EmpNum,
'2CA',
@StateTaxMethodCode,
'3',
@ConvStatMarital,
@ExemptState
(
)
INSERT INTO dbo.Transaction_J
OrgId,
Program_field,
Emp_no,
TaxId,
Tax_method_code,
Reciprocal_code,
Tax_marital_code,
Tax_dependents
(
)
VALUES
@OrgId,
'JJ-SCR',
@EmpNum,
'4CASDI',
'2',
'',
'1',
'00'
(
)
SET @OrgId = NULL;
SET @StatusCode = NULL;
SET @TermDate = NULL;
SET @FedTaxMethodCode = NULL;
SET @FedTaxMaritalCode = NULL;
SET @StateTaxMethodCode = NULL;
SET @StateTaxMaritalCode = NULL;
END
SET @EmployerCode = NULL;
SET @EmpNum = NULL;
SET @MaritalStatusTax = NULL;
--SET @FedExempts = NULL;
--SET @StateExempts = NULL;
FETCH NEXT FROM datacursor
INTO @EmployerCode, @EmpNum, @MaritalStatusTax, @FedExempts, @StateExempts;
END
CLOSE datacursor;
DEALLOCATE datacursor;
END
Procedures Page 63
/****** Object: StoredProcedure [dbo].[TransactionCursor_K_HED] Script Date: 12/12/2013 15:17:56
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_K_HED]
AS
DECLARE @datenow datetime;
SET @datenow = SYSDATETIME();
PRINT 'TransactionCursor_K_HED BEGIN: ' + CAST(@datenow AS nvarchar);
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_K_HED;
@check_number nvarchar(12), @codetype nvarchar(10), @check_date_string
nvarchar(10), @check_date date,
@CompanyNumber nvarchar(6), @code nvarchar(10), @origin nvarchar(10),
@Amount_paid decimal(10,2), @Hours_paid decimal(7,2),
@EEDeduct decimal(10,2), @ERDeduct decimal(10,2),
@hednumber nvarchar(10), @inchrsfield nvarchar(1), @inc_HEDNumber
nvarchar(10), @H9_HEDNumber nvarchar(10), @HD_HEDNumber nvarchar(10),
@batchkeyid int, @batchnum int, @batchempno nvarchar(10), @update bit,
@garnishmentcount int, @batchcode nvarchar(1),
@maxguid float, @repetitioncount int, @stepper int, @xintv int, @yintv int,
@group_number nvarchar(5);
DECLARE @keyid int, @empno nvarchar(10), @employercode nvarchar(3), @periodenddate
nvarchar(10),
FROM [dbo].[Transaction_K_Unique]
SELECT @maxguid = MAX([Transaction_K_Unique].[GUID])
SET @repetitioncount = CEILING(@maxguid/1000);
SET @stepper = 0;
PRINT 'Max GUID: ' + CAST(@maxguid AS nvarchar);;
PRINT 'Ceiling : ' + CAST(@repetitioncount AS nvarchar);;
WHILE (@stepper < @repetitioncount)
SET @datenow = SYSDATETIME();
SET @xintv = @stepper * 1000;
SET @yintv = @xintv + 999;
PRINT 'Step ' + CAST(@stepper AS nvarchar) + ': ' + CAST(@datenow AS nvarchar);
PRINT 'From: ' + CAST(@xintv AS nvarchar);
PRINT 'To : ' + CAST(@yintv AS nvarchar);
DECLARE chkcur CURSOR FOR
ks.Emp_no,
ks.Employer_code,
RTRIM(LTRIM(ks.check_date_string)) AS check_date,
RTRIM(LTRIM(ks.Check_date)),
RTRIM(LTRIM(ks.Check_number)),
RTRIM(LTRIM(ks.Action_code_code)) AS Actioncode,
RTRIM(LTRIM(ga.code_type)),
RTRIM(LTRIM(ga.Origin)),
SUM(CAST(RTRIM(LTRIM(ga.amount_paid)) AS decimal(10,2))),
SUM(CAST(RTRIM(LTRIM(ga.hours_paid)) AS decimal(7,2))),
SUM(CAST(RTRIM(LTRIM(ga.employee_deduction)) AS decimal(10,2))),
SUM(CAST(RTRIM(LTRIM(ga.employer_deduction)) AS decimal(10,2))),
RTRIM(LTRIM(gb.Group_number))
LEFT OUTER JOIN [dbo].[GFSISSY24_GFSISSY25] AS ga ON
RTRIM(LTRIM(ga.Emp_no)) = ks.Emp_no AND
RTRIM(LTRIM(ga.Employer_code)) = ks.Employer_code AND
FROM [dbo].[Transaction_K_Unique] AS ks
SELECT ks.[GUID] AS [GUID],
BEGIN
BEGIN
[TransactionCursor_K_HED
Thursday, December 12, 2013 3:17 PM
Procedures Page 64
RTRIM(LTRIM(ga.Employer_code)) = ks.Employer_code AND
RTRIM(LTRIM(ga.period_end_date)) = ks.Period_end_date_string AND
RTRIM(LTRIM(ga.Check_number)) = ks.Check_number AND ga.code =
ks.Action_code_code
LEFT OUTER JOIN [dbo].[GFSISSY56] AS gb ON RTRIM(LTRIM(gb.[Emp_no]))
= RIGHT(ks.[Emp_no],7) AND RTRIM(LTRIM(gb.Employer_code)) =
LEFT(ks.Employer_code,2)
--AND
--ks.[Emp_no] = '001661364' AND ks.[Period_end_date] = '2013-02-24'
WHERE ks.[GUID] BETWEEN (@xintv) AND (@yintv)
ks.Emp_no,
ks.Employer_code,
RTRIM(LTRIM(ks.check_date_string)),
RTRIM(LTRIM(ks.Check_date)),
RTRIM(LTRIM(ks.Check_number)),
ks.[GUID],
RTRIM(LTRIM(ks.Action_code_code)),
RTRIM(LTRIM(ga.code_type)),
RTRIM(LTRIM(ga.Origin)),
RTRIM(LTRIM(gb.Group_number))
GROUP BY
ks.Emp_no,
ks.Employer_code,
RTRIM(LTRIM(ks.Check_number)),
RTRIM(LTRIM(ks.Action_code_code)),
RTRIM(LTRIM(ga.code_type)),
RTRIM(LTRIM(ga.Origin))
ORDER BY ks.[GUID],
OPEN chkcur;
FETCH NEXT FROM chkcur INTO @keyid, @empno, @employercode,
@check_date_string, @check_date, @check_number, @code, @codetype, @origin,
@Amount_paid, @Hours_paid, @EEDeduct, @ERDeduct, @group_number;
SET @batchnum = 1;
SET @batchcode = 'A';
SET @batchempno = 0;
SET @update = 0;
WHILE @@FETCH_STATUS = 0
@Century_check_date nvarchar(10),
@ValueA decimal(10,2), @ValueB decimal(10,2), @codesign int;
DECLARE @actioncode nvarchar(1), @todatecode nvarchar(1),
BEGIN
IF (@batchempno != @empno)
SET @batchnum = 1;
SET @batchcode = 'A';
SET @garnishmentcount = 0;
SET @update = 0;
SET @batchempno = @empno;
BEGIN
END
ELSE
IF (@batchkeyid != @keyid)
SET @batchnum = @batchnum + 1;
SET @garnishmentcount = 0;
EXEC @batchcode = dbo.ufn_GetBatchCode @batchnum;
SET @update = 0;
BEGIN
END
ELSE
SET @update = 1;
BEGIN
END
BEGIN
END
IF (@update = 0)
Procedures Page 65
IF (@update = 0)
IF(@code = 'V')
SET @actioncode = '-';
SET @codesign = -1;
BEGIN
END
ELSE
SET @actioncode = 'M';
SET @codesign = 1;
BEGIN
END
IF(DATEDIFF(day,'2013-07-01',@check_date) > 0)
SET @todatecode = '3';
BEGIN
END
ELSE
SET @todatecode = '5';
BEGIN
END
Batch_code = @batchcode,
ToDateCode = @todatecode
SET Action_code = @actioncode,
WHERE [GUID] = @keyid;
UPDATE [dbo].[Transaction_K_Unique]
BEGIN
END
LEFT OUTER JOIN [dbo].Transaction_H9 AS h9 ON h9.EmpNum=
@empno AND h9.EmployerCode = @employercode AND
h9.DeductionCode = @codetype
LEFT OUTER JOIN [dbo].[Transaction_HD] AS hd ON hd.EmpNum
= @empno And hd.EmployerCode = @employercode AND
hd.IncomeCode = @codetype
FROM [dbo].[Inc_and_Deduct_To_HED_Nos] AS inc
inc.EMPLOYER = @employercode
AND
inc.[INCOME CODE] = @codetype;
WHERE
SELECT @inc_HEDNumber = inc.HED2, @inchrsfield = inc.[Inc Hrs Flag], @H9
_HEDNumber = h9.HEDNumber, @HD_HEDNumber = hd.HEDNumber
IF((@codetype LIKE 'LOAN%') OR @codetype IN ('BANK', 'GAR', 'GAR1',
'GAR2', 'GAR4', 'GAR6', 'GAR7', 'IRS', 'SCH', 'STATE'))
SET @hednumber = @HD_HEDNumber;
BEGIN
END
ELSE IF (@codetype IN ('DDCK', 'DDCU', 'DDFL1', 'DDFL2', 'DDFL3', 'DDPC1',
'DDSAV') AND @origin = '25')
SET @hednumber = @H9_HEDNumber;
BEGIN
END
ELSE
SET @hednumber = RIGHT(@inc_HEDNumber,3);
BEGIN
END
IF(@hednumber IS NULL)
SET @hednumber = RIGHT(@inc_HEDNumber,3);
BEGIN
END
IF(@codetype = '*DCA')
IF (@EEDeduct <> 0)
BEGIN
SET [code_type_*DCA] = @EEDeduct
UPDATE [dbo].[Transaction_K_Unique]
--PRINT @codetype + ' --- ' + @hednumber + ' --- ' + CAST(@EEDeduct
AS nvarchar) + ' --- ' + CAST(@ERDeduct AS nvarchar);
BEGIN
Procedures Page 66
SET [code_type_*DCA] = @EEDeduct
WHERE [GUID] = @keyid;
END
ELSE
WHERE [GUID] = @keyid;
SET [code_type_*DCA] = '0'
--SET [code_type_*DCA] = @ERDeduct
UPDATE [dbo].[Transaction_K_Unique]
BEGIN
END
END
ELSE IF(@codetype = '*FICA')
IF (@EEDeduct <> 0)
SET [code_type_*FICA] = @EEDeduct
WHERE [GUID] = @keyid;
UPDATE [dbo].[Transaction_K_Unique]
BEGIN
END
ELSE
SET [code_type_*FICA] = '0'
WHERE [GUID] = @keyid;
--SET [code_type_*FICA] = @ERDeduct
UPDATE [dbo].[Transaction_K_Unique]
BEGIN
END
BEGIN
END
ELSE IF(@codetype = '*FMHI')
IF (@EEDeduct <> 0)
SET [code_type_*FMHI] = @EEDeduct
WHERE [GUID] = @keyid;
UPDATE [dbo].[Transaction_K_Unique]
BEGIN
END
ELSE
SET [code_type_*FMHI] = '0'
WHERE [GUID] = @keyid;
--SET [code_type_*FMHI] = @ERDeduct
UPDATE [dbo].[Transaction_K_Unique]
BEGIN
END
BEGIN
END
ELSE IF(@codetype = '*FWT')
IF (@EEDeduct <> 0)
SET [code_type_*FWT] = @EEDeduct
WHERE [GUID] = @keyid;
UPDATE [dbo].[Transaction_K_Unique]
BEGIN
END
ELSE
SET [code_type_*FWT] = '0'
WHERE [GUID] = @keyid;
--SET [code_type_*FWT] = @ERDeduct
UPDATE [dbo].[Transaction_K_Unique]
BEGIN
END
BEGIN
END
ELSE IF(@codetype = '*SCA')
IF (@EEDeduct <> 0)
SET [code_type_*SCA] = @EEDeduct
UPDATE [dbo].[Transaction_K_Unique]
BEGIN
BEGIN
Procedures Page 67
SET [code_type_*SCA] = @EEDeduct
WHERE [GUID] = @keyid;
END
ELSE
SET [code_type_*SCA] = '0'
WHERE [GUID] = @keyid;
--SET [code_type_*SCA] = @ERDeduct
UPDATE [dbo].[Transaction_K_Unique]
BEGIN
END
END
ELSE IF(@codetype = '*UCA')
IF (@EEDeduct <> 0)
SET [code_type_*UCA] = @EEDeduct
WHERE [GUID] = @keyid;
UPDATE [dbo].[Transaction_K_Unique]
BEGIN
END
ELSE
SET [code_type_*UCA] = '0'
WHERE [GUID] = @keyid;
--SET [code_type_*UCA] = @ERDeduct
UPDATE [dbo].[Transaction_K_Unique]
BEGIN
END
BEGIN
END
ELSE IF(@codetype IN ('DDCK'))
IF (@EEDeduct <> 0)
SET [Net_pay] = @EEDeduct
WHERE [GUID] = @keyid;
UPDATE [dbo].[Transaction_K_Unique]
BEGIN
END
ELSE
SET [Net_pay] = '0'
WHERE [GUID] = @keyid;
--SET [Net_pay] = @ERDeduct
UPDATE [dbo].[Transaction_K_Unique]
BEGIN
END
BEGIN
END
ELSE IF (@codetype NOT IN ('*ETT', '*FUTA', '*UNM', '2CA', 'CRDK', 'DDCK'))
--DECLARE @hedint int;
--BEGIN TRY
-- SET @hedint = CAST(@hednumber AS int);
--END TRY
--BEGIN CATCH
-- SET @hedint = -1;
--END CATCH
IF (@codetype = '401KI' AND @origin = '24')
IF (@group_number = '75585')
SET @hednumber = '487';
BEGIN
END
ELSE IF (@group_number = '20923')
SET @hednumber = '488';
BEGIN
END
BEGIN
END
IF (CAST(@hednumber AS int) > 0 AND CAST(@hednumber AS int)
< 500)
BEGIN
Procedures Page 68
< 500)
IF(@inchrsfield = 'N')
SET @ValueB = NULL;
BEGIN
END
ELSE
SET @ValueB = @Hours_paid;
BEGIN
END
SET @ValueA = @Amount_paid;
BEGIN
END
ELSE IF (@codetype IN ('LTD', 'SSLIF'))
IF(@EEDeduct <> 0 AND @EEDeduct IS NOT NULL)
SET @ValueA = @EEDeduct;
SET @ValueB = @ERDeduct;
BEGIN
END
ELSE --IF(CAST(@ERDeduct AS float) <> 0 OR @ERDeduct
IS NOT NULL)
SET @ValueA = @ERDeduct;
BEGIN
END
BEGIN
END
ELSE IF(@codetype = 'STATE' AND @origin = '25')
SET @ValueA = @EEDeduct;
SET @ValueB = NULL;
BEGIN
END
ELSE IF(@codetype = 'STATE' AND @origin = '24')
SET @hednumber = NULL;
SET @ValueA = NULL;
SET @ValueB = NULL;
BEGIN
END
ELSE IF (@hednumber = '735')
SET @hednumber = '755';
SET @ValueA = @ERDeduct;
(KID, Code_type, Origin, HEDNumber, ValueA, ValueB)
VALUES
(@keyid, @codetype, @origin, @hednumber, @ValueA, '')
INSERT INTO dbo.Transaction_K_HED
SET @hednumber = '735';
SET @ValueA = @EEDeduct;
BEGIN
END
ELSE IF (@hednumber = '801')
SET @hednumber = '805';
SET @ValueA = @ERDeduct;
(KID, Code_type, Origin, HEDNumber, ValueA, ValueB)
VALUES
(@keyid, @codetype, @origin, @hednumber, @ValueA, '')
INSERT INTO dbo.Transaction_K_HED
SET @hednumber = '801';
SET @ValueA = @EEDeduct;
BEGIN
END
ELSE
IF(@Amount_paid > 0 OR @Hours_paid > 0)
SET @ValueA = @Amount_paid;
IF(@inchrsfield = 'N')
BEGIN
BEGIN
BEGIN
Procedures Page 69
SET @ValueB = NULL;
BEGIN
END
ELSE
SET @ValueB = @Hours_paid;
BEGIN
END
END
ELSE
IF(@EEDeduct <> 0 AND @EEDeduct IS NOT NULL)
SET @ValueA = @EEDeduct;
SET @ValueB = @ERDeduct;
BEGIN
END
ELSE --IF(CAST(@ERDeduct AS float) <> 0 OR @ERDeduct
IS NOT NULL)
SET @ValueA = @ERDeduct;
BEGIN
END
BEGIN
END
END
IF (@hednumber IS NOT NULL)
IF(@ValueA IS NOT NULL OR @ValueB IS NOT NULL)
(KID, Code_type, Origin, HEDNumber, ValueA, ValueB)
VALUES
(@keyid, @codetype, @origin, @hednumber, @ValueA,
@ValueB)
INSERT INTO dbo.Transaction_K_HED
BEGIN
END
BEGIN
END
END
SET @batchkeyid = @keyid;
SET @Amount_paid = NULL;
SET @Check_date = NULL;
SET @code = NULL;
SET @codetype = NULL;
SET @CompanyNumber = NULL;
SET @EEDeduct = NULL;
SET @empno = NULL;
SET @ERDeduct = NULL;
SET @hednumber = NULL;
SET @Hours_paid = NULL;
SET @inchrsfield = NULL;
SET @keyid = NULL;
SET @origin = NULL;
SET @actioncode = NULL;
SET @batchcode = NULL;
SET @Century_check_date = NULL;
SET @todatecode = NULL;
SET @ValueA = NULL;
SET @ValueB = NULL;
SET @hednumber = NULL;
SET @inchrsfield = NULL;
SET @inc_HEDNumber = NULL;
SET @H9_HEDNumber = NULL;
SET @HD_HEDNumber = NULL;
SET @group_number = NULL;
FETCH NEXT FROM chkcur INTO @keyid, @empno, @employercode,
@check_date_string, @check_date, @check_number, @code, @codetype, @origin,
@Amount_paid, @Hours_paid, @EEDeduct, @ERDeduct, @group_number;
END
CLOSE chkcur;
Procedures Page 70
CLOSE chkcur;
DEALLOCATE chkcur;
SET @stepper = @stepper + 1;
END
SET @datenow = SYSDATETIME();
PRINT 'TransactionCursor_K_HED END: ' + CAST(@datenow AS nvarchar);
END
Procedures Page 71
/****** Object: StoredProcedure [dbo].[TransactionCursor_K_Unique] Script Date: 12/12/2013 15:18:36
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- Batch submitted through debugger: SQLQuery2.sql|7|0|C:Usersluther.quinnAppDataLocalTemp1
~vs56DB.sql
ALTER PROCEDURE [dbo].[TransactionCursor_K_Unique]
AS
DECLARE @datenow datetime;
SET @datenow = SYSDATETIME();
PRINT 'TransactionCursor_K_Unique BEGIN: ' + CAST(@datenow AS nvarchar);
SET NOCOUNT ON;
DROP CONSTRAINT [FK_Transaction_K_HED_Transaction_K_Unique];
ALTER TABLE [dbo].[Transaction_K_HED]
BEGIN
END
TRUNCATE TABLE dbo.Transaction_K_Unique;
TRUNCATE TABLE dbo.Transaction_K_HED;
WITH CHECK ADD CONSTRAINT [FK_Transaction_K_HED_Transaction_K_Unique]
FOREIGN KEY([KID])
REFERENCES [dbo].[Transaction_K_Unique] ([GUID])
ALTER TABLE [dbo].[Transaction_K_HED]
BEGIN
END
(Emp_no, Employer_code, Period_end_date_string, Period_end_date,
Century_period_end_date, Check_number, Action_code_code, Check_date_string,
Check_date, Century_check_date, CompanyNumber, Check_net) --, Action_code,
ToDateCode)
RTRIM(LTRIM(g.Employer_code)),
RTRIM(LTRIM(g.Period_end_date)),
[dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g.Period_end_date))),
[dbo].[ufn_Convert_ToCenturyDate] (RTRIM(LTRIM(g.period_end_date))),
RTRIM(LTRIM(g.Check_number)),
RTRIM(LTRIM(g.code)),
RTRIM(LTRIM(g.check_date)),
[dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g.check_date))),
SELECT RTRIM(LTRIM(g.Emp_no)),
INSERT INTO [dbo].[Transaction_K_Unique]
BEGIN
[dbo].[ufn_Convert_ToCenturyDate] (RTRIM(LTRIM(g.check_date))),
cn.CompanyNumber,
LEFT OUTER JOIN [dbo].[CompanyNumber] AS cn ON cn.EmpNum =
g.Emp_no AND cn.EmployerCode = g.Employer_code
LEFT OUTER JOIN [dbo].[GFSISSY26] AS g6 ON RTRIM(LTRIM(g6.Emp_no))
= RTRIM(LTRIM(g.Emp_no)) AND RTRIM(LTRIM(g6.Employer_code)) =
RTRIM(LTRIM(g.Employer_code)) AND RTRIM(LTRIM(g6.Check_date)) =
RTRIM(LTRIM(g.check_date)) AND RTRIM(LTRIM(g6.Check_number)) =
RTRIM(LTRIM(g.check_number)) AND RTRIM(LTRIM(g6.Signchar)) =
RTRIM(LTRIM(g.code))
FROM [dbo].[GFSISSY24_GFSISSY25] AS g
--AND g.[Emp_no] IN ('')
WHERE CAST(RIGHT(RTRIM(LTRIM(g.check_date)),4) AS int) >= 2013
GROUP BY cn.CompanyNumber, RTRIM(LTRIM(g.Emp_no)),
RTRIM(LTRIM(g.Employer_code)), RTRIM(LTRIM(g.Check_number)),
RTRIM(LTRIM(g.code)), RTRIM(LTRIM(g.Period_end_date)),
RTRIM(LTRIM(g.check_date)), g6.Check_net
g6.Check_net
TransactionCursor_K_Unique
Thursday, December 12, 2013 3:18 PM
Procedures Page 72
RTRIM(LTRIM(g.check_date)), g6.Check_net
ORDER BY RTRIM(LTRIM(g.Emp_no)), RTRIM(LTRIM(g.Employer_code)),
dbo.ufn_Convert_ToDate (RTRIM(LTRIM(g.Period_end_date))),
RTRIM(LTRIM(g.Check_number)), RTRIM(LTRIM(g.code));
SET @datenow = SYSDATETIME();
PRINT 'TransactionCursor_K_Unique END: ' + CAST(@datenow AS nvarchar);
EXEC [dbo].[TransactionCursor_K_HED];
END
Procedures Page 73
/****** Object: StoredProcedure [dbo].[TransactionCursor_LLK] Script Date: 12/12/2013 15:19:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_LLK]
AS
SET NOCOUNT ON;
TRUNCATE TABLE [dbo].[Transaction_LLK];
@GroupNumber nvarchar(5), @Date_in_plan nvarchar(10),
@CompanyNumber nvarchar(6), @Plan_id_code nvarchar(3), @Date_check
date, @Date_birth date, @Age int, @OfHours nvarchar(1), @Statuscode
char(1),
@Date_planentry date, @Planentry nvarchar(10), @Serviceindic char(1),
@Empnokeeper nvarchar(10), @Employercodekeeper nvarchar(3),
@Statuskeeper char(1);
DECLARE @Emp_no nvarchar(10), @Employer_code nvarchar(3), @PayYear nvarchar(10),
@Yearhours numeric(8,2), @Birthday nvarchar(10), @Nonresalien char(1),
RTRIM(LTRIM(g24.Employer_code)),
RIGHT(RTRIM(LTRIM(g24.check_date)),4),
SUM(CAST(RTRIM(LTRIM(g24.hours_paid)) AS numeric(8,2))),
RTRIM(LTRIM(g02.Date_of_Birth)),
RTRIM(LTRIM(g04.Non_alien_code)),
RTRIM(LTRIM(g56.Group_number)),
RTRIM(LTRIM(g56.Date_in_plan))
LEFT OUTER JOIN [dbo].[GFSISSY02] AS g02 ON
g02.Employer_code = g24.Employer_code AND g02.Emp_no =
g24.Emp_no
LEFT OUTER JOIN [dbo].[GFSISSY04] AS g04 ON
g04.Employer_code = g24.Employer_code AND g04.Emp_no =
g24.Emp_no
LEFT OUTER JOIN [dbo].[GFSISSY56] AS g56 ON
RTRIM(LTRIM(g56.Employer_code)) =
LEFT(RTRIM(LTRIM(g24.Employer_code)),2) AND
RTRIM(LTRIM(g56.Emp_no)) =
RIGHT(RTRIM(LTRIM(g24.Emp_no)),7)
LEFT OUTER JOIN [dbo].[Inc_To_HED_No] AS hed ON
hed.EMPLOYER = g24.Employer_code AND hed.[INCOME CODE]
= g24.Income_code_type
AND
hed.[Inc Hrs Flag] = 'Y'
AND
hed.HED IS NOT NULL
WHERE RIGHT(g24.check_date,4) >= 2004
RTRIM(LTRIM(g24.Employer_code)),
RIGHT(RTRIM(LTRIM(g24.check_date)),4),
RTRIM(LTRIM(g02.Date_of_Birth)),
RTRIM(LTRIM(g04.Non_alien_code)),
RTRIM(LTRIM(g56.Group_number)),
RTRIM(LTRIM(g56.Date_in_plan))
GROUP BY RTRIM(LTRIM(g24.Emp_no)),
RTRIM(LTRIM(g24.Employer_code)),
RIGHT(RTRIM(LTRIM(g24.check_date)),4)
ORDER BY RTRIM(LTRIM(g24.Emp_no)),
FROM [dbo].[GFSISSY24] AS g24
SELECT RTRIM(LTRIM(g24.Emp_no)),
DECLARE regcrs CURSOR FOR
SET @Empnokeeper = '';
BEGIN
TransactionCursor_LLK
Thursday, December 12, 2013 3:19 PM
Procedures Page 74
SET @Empnokeeper = '';
SET @Employercodekeeper = '';
OPEN regcrs;
FETCH NEXT FROM regcrs INTO @Emp_no, @Employer_code, @PayYear, @Yearhours,
@Birthday, @Nonresalien, @GroupNumber, @Date_in_plan;
WHILE (@@FETCH_STATUS = 0)
--PRINT @Empnokeeper + '; ' + @Emp_no;
IF (@Empnokeeper != @Emp_no OR @Employercodekeeper != @Employer_code)
SET @Empnokeeper = @Emp_no;
SET @Employercodekeeper = @Employer_code;
SET @Statuskeeper = '';
BEGIN
END
@Monthstring nvarchar(2), @Daystring nvarchar(2), @Yearstring
nvarchar(4), @Yearhours_char nvarchar(8);
DECLARE @Dateinplan_string nvarchar(10), @Datestring nvarchar(8), @Monthint int,
@Dayint int, @Yearint int,
EXEC @CompanyNumber = [dbo].[ufn_GetOrgId02] @Employer_code, @Emp_no;
SET @Datestring = '1231' + @PayYear;
EXEC @Date_check = [dbo].[ufn_Convert_ToDate] @Datestring;
EXEC @Date_birth = [dbo].[ufn_Convert_ToDate] @Birthday;
SET @Age = DATEDIFF(year, @Date_birth, @Date_check);
SET @Dateinplan_string = SUBSTRING(@Date_in_plan, 5, 2) + RIGHT(@Date_in_plan, 2)
+ LEFT(@Date_in_plan, 4);
EXEC @Date_planentry = [dbo].[ufn_Convert_ToDate] @Dateinplan_string;
IF (@GroupNumber = '75585')
SET @Plan_id_code = 'RP1';
SET @Statuskeeper = 'E';
BEGIN
END
ELSE IF (@GroupNumber = '20923')
SET @Plan_id_code = 'RP2';
SET @Statuskeeper = 'E';
BEGIN
END
ELSE IF (@CompanyNumber IN ('047C2F', '057D2F'))
SET @Plan_id_code = 'RP1';
BEGIN
END
ELSE
SET @Plan_id_code = 'RP2';
BEGIN
END
IF (@Statuskeeper = 'E')
SET @Statuscode = 'E';
BEGIN
END
ELSE IF (@Statuskeeper = 'L')
SET @Statuscode = 'L';
BEGIN
END
ELSE IF (@Statuskeeper = 'Z' AND @Age >= 21)
SET @Statuscode = 'L';
BEGIN
END
ELSE IF (@Statuskeeper = 'Z' AND @Age < 21)
SET @Statuscode = 'Z';
BEGIN
END
ELSE IF (@Yearhours >= 1000)
IF (@Age >= 21)
SET @Statuscode = 'L';
BEGIN
BEGIN
BEGIN
Procedures Page 75
SET @Statuscode = 'L';
END
ELSE
SET @Statuscode = 'Z';
BEGIN
END
END
ELSE IF (@Nonresalien = '1')
SET @Statuscode = 'I';
BEGIN
END
ELSE
SET @Statuscode = 'O';
BEGIN
END
SET @Statuskeeper = @Statuscode;
SET @Monthint = MONTH(@Date_planentry);
SET @Dayint = DAY(@Date_planentry);
SET @Yearint = YEAR(@Date_planentry);
IF (@Monthint < 10)
SET @Monthstring = '0' + CAST(@Monthint AS nvarchar);
BEGIN
END
ELSE
SET @Monthstring = CAST(@Monthint AS nvarchar);
BEGIN
END
IF (@Dayint < 10)
SET @Daystring = '0' + CAST(@Dayint AS nvarchar);
BEGIN
END
ELSE
SET @Daystring = CAST(@Dayint AS nvarchar);
BEGIN
END
SET @Yearstring = CAST(@Yearint AS nvarchar);
SET @Planentry = @Monthstring + '-' + @Daystring + '-' + @Yearstring;
IF (@Yearhours >= 1000)
SET @Serviceindic = 'Y';
BEGIN
END
ELSE
SET @Serviceindic = 'N';
BEGIN
END
SET @Yearhours_char = CAST(@Yearhours AS nvarchar);
SET @Yearhours_char = REPLACE(@Yearhours_char, '.', '');;
CompanyNumber,
Emp_no,
GroupNumber,
Plan_id_code,
Plan_year,
Status_code,
Plan_entry_date,
Hours_plan_year,
Age_plan_year,
Year_of_service_ind
(
)
VALUES
@CompanyNumber,
@Emp_no,
(
INSERT INTO [dbo].[Transaction_LLK]
Procedures Page 76
@Emp_no,
@GroupNumber,
@Plan_id_code,
'12-31-' + @PayYear,
@Statuscode,
@Planentry,
@Yearhours_char,
@Age,
@Serviceindic
)
SET @Emp_no = '';
SET @Employer_code = '';
SET @PayYear = '';
SET @Yearhours = NULL;
SET @Yearhours_char = '';
SET @Birthday = '';
SET @GroupNumber = NULL;
SET @Date_in_plan = '';
SET @CompanyNumber = '';
SET @Plan_id_code = '';
SET @Date_check = '';
SET @Date_birth = '';
SET @Age = '';
SET @OfHours = '';
SET @Statuscode = '';
SET @Date_planentry = '';
SET @Planentry = '';
SET @Serviceindic = '';
SET @Dateinplan_string = NULL;
SET @Datestring = NULL;
SET @Monthint = NULL;
SET @Dayint = NULL;
SET @Yearint = NULL;
SET @Monthstring = NULL;
SET @Daystring = NULL;
SET @Yearstring = NULL;
FETCH NEXT FROM regcrs INTO @Emp_no, @Employer_code, @PayYear, @Yearhours,
@Birthday, @Nonresalien, @GroupNumber, @Date_in_plan;
END
CLOSE regcrs;
DEALLOCATE regcrs;
END
Procedures Page 77
/****** Object: StoredProcedure [dbo].[TransactionCursor_LLM] Script Date: 12/12/2013 15:19:52
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_LLM]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_LLM;
@PropertyCode nvarchar(10), @EffDateIn nvarchar(10), @EffDateOut char(10),
@TempId nvarchar(10), @ID1 nvarchar(10), @ID2 nvarchar(10);
DECLARE @Emp_no nvarchar(10), @Employer_code nvarchar(3), @CompanyNumber
nvarchar(6),
FROM [dbo].[GFSISSY21] AS g
WHERE g.Property_type_code IN ('REC1', 'REC2')
GROUP BY g.Emp_no, g.Employer_code
ORDER BY g.Emp_no, g.Employer_code
SELECT g.Emp_no, g.Employer_code
DECLARE regcrs CURSOR FOR
OPEN regcrs;
FETCH NEXT FROM regcrs INTO @Emp_no, @Employer_code;
WHILE (@@FETCH_STATUS = 0)
EXEC @CompanyNumber = [dbo].[ufn_GetOrgId02] @Employer_code, @Emp_no;
FROM [dbo].[GFSISSY21] AS f
WHERE f.Emp_no = @Emp_no AND f.Employer_code = @Employer_code AND
f.Property_type_code IN ('REC1', 'REC2')
ORDER by f.Property_type_code, f.Date_entered
SELECT f.Property_type_code, f.Date_entered, f.RegNum_IdNum
DECLARE xlmcrs CURSOR FOR
OPEN xlmcrs;
FETCH NEXT FROM xlmcrs INTO @PropertyCode, @EffDateIn, @TempId;
WHILE (LEN(@EffDateIn)<8)
SET @EffDateIn = '0' + @EffDateIn;
BEGIN
END
SET @EffDateOut = LEFT(@EffDateIn,2) + '-' + SUBSTRING(@EffDateIn,3,2) + '-' +
RIGHT(@EffDateIn,4);
WHILE (@@FETCH_STATUS = 0)
IF(@PropertyCode = 'REC1')
SET @ID1 = @TempId;
BEGIN
END
ELSE
SET @ID2 = @TempId;
BEGIN
END
FETCH NEXT FROM xlmcrs INTO @PropertyCode, @EffDateIn, @TempId;
BEGIN
END
CLOSE xlmcrs;
(Emp_no, CompanyNumber, XLM_EFF_DATE, XLM_EE_ID_1, XLM_EE_ID_2)
VALUES
(@Emp_no, @CompanyNumber, @EffDateOut, @ID1, @ID2)
INSERT INTO [dbo].[Transaction_LLM]
DEALLOCATE xlmcrs;
SET @PropertyCode = NULL;
BEGIN
BEGIN
TransactionCursor_LLM
Thursday, December 12, 2013 3:19 PM
Procedures Page 78
SET @PropertyCode = NULL;
SET @EffDateIn = NULL;
SET @TempId = NULL;
SET @ID1 = NULL;
SET @ID2 = NULL;
FETCH NEXT FROM regcrs INTO @Emp_no, @Employer_code;
END
CLOSE regcrs;
DEALLOCATE regcrs;
END
Procedures Page 79
/****** Object: StoredProcedure [dbo].[TransactionCursor_LOD] Script Date: 12/12/2013 15:20:17
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_LOD]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_LOD;
SET ANSI_WARNINGS OFF;
@BenefitId nvarchar(10), @BenefitPlanId nvarchar(10),
@DependentNo int, @DPDate date, @DPStatus nvarchar(15), @Dependents
nvarchar(48),
@Current_TerminationDate date, @CurrentDate date, @NextDate date,
@DateType nvarchar(10), @DateId int,
@CurrentDependentNo int, @CurrentDependentStatus nvarchar(20),
@CurrentDpndTerm date,@RecordId int,
@RecordStatus nvarchar(15), @RecordTerm date, @CurrentTerminationDate
date, @CurrentNo int,
@TermCnt int, @PreviousTerminationDate date;
DECLARE @Emp_no nvarchar(10), @Employer_code nvarchar(3), @BenefitPlanCode
nvarchar(3),
RTRIM(LTRIM(g8.Employer_code)),
RTRIM(LTRIM(m.[Accero Benefit_Plan_Cd]))
LEFT OUTER JOIN [dbo].[Benefits_MedicalDentalVision] AS m ON
RTRIM(LTRIM(m.Benefit_id)) = RTRIM(LTRIM(g8.Benefit_id)) AND
RTRIM(LTRIM(m.Benefit_plan_id)) = RTRIM(LTRIM(g8.Benefit_plan_id))
FROM [dbo].[GFSISSY18] AS g8
--AND
--[Emp_no] IN ( '001660581', '001661671')
--('001660352', '001660562')
--('001660600', '001660377')
--
WHERE m.[Accero Benefit_Plan_Cd] IS NOT NULL
RTRIM(LTRIM(g8.Employer_code)),
RTRIM(LTRIM(m.[Accero Benefit_Plan_Cd]))
GROUP BY RTRIM(LTRIM(g8.Emp_no)),
RTRIM(LTRIM(g8.Employer_code)),
RTRIM(LTRIM(m.[Accero Benefit_Plan_Cd]))
ORDER BY RTRIM(LTRIM(g8.Emp_no)),
SELECT RTRIM(LTRIM(g8.Emp_no)),
DECLARE empcur CURSOR FOR
OPEN empcur;
FETCH NEXT FROM empcur INTO @Emp_no, @Employer_code, @BenefitPlanCode;
WHILE (@@FETCH_STATUS = 0)
PRINT '';
PRINT '';
PRINT @Emp_no + ', ' + @Employer_code + ', ' + @BenefitPlanCode;
PRINT '**************************************************************************';
DECLARE @CompanyNumber nvarchar(6), @EffectiveDate date, @TerminationDate date,
@EE_TerminationDateDate date, @EE_TerminationDateChar nvarchar(10);
EXEC @CompanyNumber = [dbo].[ufn_GetOrgId02] @Employer_code, @Emp_no;
CREATE TABLE #tbl_DpndntNo
[NumRecordId] int identity(1,1),
[DependentNo] int,
(
BEGIN
BEGIN
TransactionCursor_LOD
Thursday, December 12, 2013 3:20 PM
Procedures Page 80
[DependentNo] int,
[Status] nvarchar(30),
[TerminationDate] date
);
CREATE TABLE #tbl_DatesEffective
[NumRecordId] int identity(1,1),
[DateEffective] date UNIQUE NONCLUSTERED,
[DateType] nvarchar(10)
(
);
FROM [dbo].[GFSISSY19] AS g9
AND
g9.Employer_code = @Employer_code
WHERE g9.Emp_no = @Emp_no
SELECT MAX([dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g9.Termination_date))))
(
)
SET @EE_TerminationDateDate =
DECLARE @monthint int, @monthchar char(2), @dayint int, @daychar char(2)
SET @monthint = MONTH(@EE_TerminationDateDate);
SET @dayint = DAY(@EE_TerminationDateDate);
IF (@monthint < 10)
SET @monthchar = '0' + CAST(@monthint AS CHAR(1));
BEGIN
END
ELSE
SET @monthchar = CAST(@monthint AS CHAR(2));
BEGIN
END
IF (@dayint < 10)
SET @daychar = '0' + CAST(@dayint AS CHAR(1));
BEGIN
END
ELSE
SET @daychar = CAST(@dayint AS CHAR(2));
BEGIN
END
SET @EE_TerminationDateChar = @monthchar + @daychar +
CAST(YEAR(@EE_TerminationDateDate) AS CHAR(4));;
IF(@EE_TerminationDateDate > '2007-07-02' OR @EE_TerminationDateChar = '0')
SET @Dependents = N'#';
LEFT OUTER JOIN [dbo].[Benefits_MedicalDentalVision] AS v ON
RTRIM(LTRIM(v.Benefit_id)) = RTRIM(LTRIM(g18.Benefit_id)) AND
RTRIM(LTRIM(v.Benefit_plan_id)) =
RTRIM(LTRIM(g18.Benefit_plan_id))
FROM [dbo].[GFSISSY18] AS g18
AND
g18.Employer_code = @Employer_code
AND
v.[Accero Benefit_Plan_Cd] = @BenefitPlanCode
WHERE g18.Emp_no = @Emp_no
GROUP BY CAST(RTRIM(LTRIM(g18.Dependent_no)) AS int)
ORDER BY CAST(RTRIM(LTRIM(g18.Dependent_no)) AS int);
SELECT CAST(RTRIM(LTRIM(g18.Dependent_no)) AS int)
DECLARE dpndcrsr CURSOR FOR
OPEN dpndcrsr;
FETCH NEXT FROM dpndcrsr INTO @DependentNo;
WHILE (@@FETCH_STATUS = 0)
IF(@DependentNo > 0)
INSERT INTO #tbl_DpndntNo
([DependentNo], [Status], [TerminationDate])
BEGIN
BEGIN
BEGIN
Procedures Page 81
([DependentNo], [Status], [TerminationDate])
VALUES
(@DependentNo, 'NotEffective', '2007-07-03');
END
SET @DependentNo = 0;
FETCH NEXT FROM dpndcrsr INTO @DependentNo;
END
CLOSE dpndcrsr;
DEALLOCATE dpndcrsr;
LEFT OUTER JOIN [dbo].[Benefits_MedicalDentalVision] AS m ON
RTRIM(LTRIM(m.Benefit_id)) = RTRIM(LTRIM(g8.Benefit_id)) AND
RTRIM(LTRIM(m.Benefit_plan_id)) =
RTRIM(LTRIM(g8.Benefit_plan_id))
FROM [dbo].[GFSISSY18] AS g8
AND
RTRIM(LTRIM(g8.Employer_code)) = @Employer_code
AND
RTRIM(LTRIM(m.[Accero Benefit_Plan_Cd])) =
@BenefitPlanCode
AND
LEN(g8.Effective_date) > 6
[dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Termination_date))) >
[dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Effective_date)))
OR
[dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Termination_date))) IS NULL
(
)
AND
WHERE RTRIM(LTRIM(g8.Emp_no)) = @Emp_no
GROUP BY [dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Effective_date)))
ORDER BY [dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Effective_date)));
SELECT [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Effective_date)))
DECLARE dteffcrs SCROLL CURSOR FOR
OPEN dteffcrs;
FETCH NEXT FROM dteffcrs INTO @EffectiveDate;
WHILE (@@FETCH_STATUS = 0)
SET @TermCnt = 0;
IF(@EffectiveDate <= '2007-07-02')
LEFT OUTER JOIN
[dbo].[Benefits_MedicalDentalVision] AS m ON
RTRIM(LTRIM(m.Benefit_id)) =
RTRIM(LTRIM(g8.Benefit_id)) AND
RTRIM(LTRIM(m.Benefit_plan_id)) =
RTRIM(LTRIM(g8.Benefit_plan_id))
FROM [dbo].[GFSISSY18] AS g8
AND
RTRIM(LTRIM(g8.Employer_code)) =
@Employer_code
AND
RTRIM(LTRIM(m.[Accero Benefit_Plan_Cd])) =
@BenefitPlanCode
AND
[dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Effective_date))) =
WHERE RTRIM(LTRIM(g8.Emp_no)) = @Emp_no
SELECT [dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Termination_date)))
DECLARE dttrmcrs SCROLL CURSOR FOR
BEGIN
BEGIN
Procedures Page 82
(RTRIM(LTRIM(g8.Effective_date))) =
@EffectiveDate
[dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Termination_date))
) > [dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Effective_date)))
OR
[dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Termination_date))
) IS NULL
(
)
AND
GROUP BY [dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Termination_date)))
ORDER BY [dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Termination_date)));
OPEN dttrmcrs;
FETCH NEXT FROM dttrmcrs INTO @TerminationDate;
WHILE (@@FETCH_STATUS = 0)
IF(@TerminationDate > '2007-07-02')
IF( @TermCnt = 0)
IF
NOT EXISTS
FROM #tbl_DatesEffective
WHERE [DateEffective] =
@EffectiveDate
SELECT [DateEffective]
(
)
(
)
PRINT 'Unique Effective Date: ' +
CAST(@TerminationDate AS varchar);
INSERT INTO #tbl_DatesEffective
(DateEffective, DateType)
VALUES
(@EffectiveDate, 'Effect');
SET @TermCnt = @TermCnt + 1;
BEGIN
END
ELSE
PRINT 'Duplicate Effective Date Skiped: ' +
CAST(@EffectiveDate AS varchar) + ' -- ' +
CAST(@TerminationDate AS varchar);
BEGIN
END
BEGIN
END
IF(@PreviousTerminationDate != @TerminationDate)
IF
NOT EXISTS
FROM #tbl_DatesEffective
WHERE [DateEffective] =
@TerminationDate
SELECT [DateEffective]
(
)
(
)
PRINT 'Unique Termination Date: ' +
BEGIN
BEGIN
BEGIN
BEGIN
Procedures Page 83
PRINT 'Unique Termination Date: ' +
CAST(@TerminationDate AS varchar);
INSERT INTO #tbl_DatesEffective
(DateEffective, DateType)
VALUES
(@TerminationDate, 'Term');
END
ELSE
PRINT 'Duplicate Termination Date Skipped: ' +
CAST(@TerminationDate AS varchar);
BEGIN
END
END
END
ELSE IF(@TerminationDate IS NULL)
FETCH NEXT FROM dttrmcrs INTO @NextDate;
IF(@@FETCH_STATUS != 0)
IF(@TermCnt = 0)
IF
NOT EXISTS
FROM #tbl_DatesEffective
WHERE [DateEffective] =
@EffectiveDate
SELECT [DateEffective]
(
)
(
)
PRINT 'Unique Effective Date: ' +
CAST(@TerminationDate AS varchar);
INSERT INTO #tbl_DatesEffective
(DateEffective, DateType)
VALUES
(@EffectiveDate, 'Effect');
SET @TermCnt = @TermCnt + 1;
BEGIN
END
ELSE
PRINT 'Duplicate Effective Date Skipped: '
+ CAST(@EffectiveDate AS varchar);
BEGIN
END
BEGIN
END
BEGIN
END
FETCH PRIOR FROM dttrmcrs INTO @NextDate;
BEGIN
END
ELSE
PRINT 'Step 3: Termination Date, ' +
CAST(@TerminationDate AS varchar) + ', on or prior to
2007-07-02.';
BEGIN
END
SET @PreviousTerminationDate = @TerminationDate;
FETCH NEXT FROM dttrmcrs INTO @TerminationDate;
END
CLOSE dttrmcrs;
DEALLOCATE dttrmcrs;
SET @EffectiveDate = NULL;
SET @TerminationDate = NULL;
SET @PreviousTerminationDate = NULL;
END
ELSE -- if EffectiveDate is > '2007-07-03'
Procedures Page 84
ELSE -- if EffectiveDate is > '2007-07-03'
IF
NOT EXISTS
FROM #tbl_DatesEffective
WHERE [DateEffective] = @EffectiveDate
SELECT [DateEffective]
(
)
(
)
PRINT 'Unique Effective Date: ' + CAST(@TerminationDate AS
varchar);
INSERT INTO #tbl_DatesEffective
(DateEffective, DateType)
VALUES
(@EffectiveDate, 'Effect');
BEGIN
END
ELSE
PRINT 'Duplicate Effective Date Skipped: ' + CAST(@EffectiveDate
AS varchar);
BEGIN
END
LEFT OUTER JOIN
[dbo].[Benefits_MedicalDentalVision] AS m ON
RTRIM(LTRIM(m.Benefit_id)) =
RTRIM(LTRIM(g8.Benefit_id)) AND
RTRIM(LTRIM(m.Benefit_plan_id)) =
RTRIM(LTRIM(g8.Benefit_plan_id))
FROM [dbo].[GFSISSY18] AS g8
AND
RTRIM(LTRIM(g8.Employer_code)) =
@Employer_code
AND
RTRIM(LTRIM(m.[Accero Benefit_Plan_Cd])) =
@BenefitPlanCode
AND
[dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Effective_date))) =
@EffectiveDate
[dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Termination_date))
) > [dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Effective_date)))
OR
[dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Termination_date))
) IS NULL
(
)
AND
WHERE RTRIM(LTRIM(g8.Emp_no)) = @Emp_no
GROUP BY [dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Termination_date)))
ORDER BY [dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Termination_date)));
SELECT [dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g8.Termination_date)))
DECLARE dttrmcrs SCROLL CURSOR FOR
OPEN dttrmcrs;
FETCH NEXT FROM dttrmcrs INTO @TerminationDate;
WHILE (@@FETCH_STATUS = 0)
IF
BEGIN
BEGIN
Procedures Page 85
IF
NOT EXISTS
FROM #tbl_DatesEffective
WHERE [DateEffective] = @TerminationDate
SELECT [DateEffective]
(
)
(
)
PRINT 'Unique Termination Date: ' +
CAST(@TerminationDate AS varchar);
IF(@TerminationDate > '2007-07-02')
INSERT INTO #tbl_DatesEffective
(DateEffective, DateType)
VALUES
(@TerminationDate, 'Term');
BEGIN
END
BEGIN
END
ELSE
PRINT 'Duplicate Termination Date Skipped: ' +
CAST(@TerminationDate AS varchar);
BEGIN
END
FETCH NEXT FROM dttrmcrs INTO @TerminationDate;
END
CLOSE dttrmcrs;
DEALLOCATE dttrmcrs;
END
FETCH NEXT FROM dteffcrs INTO @EffectiveDate;
END
CLOSE dteffcrs;
DEALLOCATE dteffcrs;
SET @EffectiveDate = NULL;
SET @TerminationDate = NULL;
FROM #tbl_DatesEffective
ORDER BY [DateEffective], [DateType];
SELECT [NumRecordId], [DateEffective], [DateType]
DECLARE xcrs CURSOR FOR
OPEN xcrs;
FETCH NEXT FROM xcrs INTO @RecordId, @EffectiveDate, @DateType;
WHILE (@@FETCH_STATUS = 0)
PRINT @BenefitPlanCode + ' -- ' + CAST(@RecordId AS varchar) + ' -- ' +
CAST(@EffectiveDate AS varchar) + ' -- ' + @DateType;
FETCH NEXT FROM xcrs INTO @RecordId, @EffectiveDate, @DateType;
BEGIN
END
CLOSE xcrs;
DEALLOCATE xcrs;
PRINT '';
PRINT '';
SET @RecordId = 0;
SET @EffectiveDate = NULL;
SET @DateType = '';
FROM #tbl_DatesEffective
ORDER BY [DateEffective], [DateType];
SELECT [DateEffective], [DateType], [NumRecordId]
DECLARE datecur SCROLL CURSOR FOR
OPEN datecur;
FETCH NEXT FROM datecur INTO @DPDate, @DateType, @RecordId;
WHILE (@@FETCH_STATUS = 0)
DECLARE @DPVar nvarchar(10);
IF(@DPDate IS NOT NULL)
BEGIN
Procedures Page 86
IF(@DPDate IS NOT NULL)
SET @DPVar = CAST(@DPDate AS varchar);
BEGIN
END
ELSE
SET @DPVar = 'NULL'
BEGIN
END
PRINT '';
PRINT '';
PRINT @BenefitPlanCode + ' -- ' + CAST(@RecordId AS varchar) + ' -- ' +
@DPVar + ' -- ' + @DateType;
PRINT '-------------------------------------------------';
FROM #tbl_DpndntNo AS d
ORDER BY d.[NumRecordId], d. [DependentNo], d.[Status],
d.[TerminationDate]
SELECT d.[NumRecordId], d. [DependentNo], d.[Status],
d.[TerminationDate]
DECLARE dpnocrsr CURSOR FOR
OPEN dpnocrsr;
FETCH NEXT FROM dpnocrsr INTO @RecordId, @CurrentDependentNo,
@CurrentDependentStatus, @CurrentDpndTerm;
WHILE (@@FETCH_STATUS = 0)
IF(@DateType = 'Effect')
LEFT OUTER JOIN
[dbo].[Benefits_MedicalDentalVision] AS v ON
RTRIM(LTRIM(v.Benefit_id)) =
RTRIM(LTRIM(g18.Benefit_id)) AND
RTRIM(LTRIM(v.Benefit_plan_id)) =
RTRIM(LTRIM(g18.Benefit_plan_id))
FROM [dbo].[GFSISSY18] AS g18
AND
RTRIM(LTRIM(g18.Employer_code)) =
@Employer_code
AND
v.[Accero Benefit_Plan_Cd] = @BenefitPlanCode
AND
[dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g18.Effective_date))) = @DPDate
AND
RTRIM(LTRIM(g18.Dependent_no)) =
@CurrentDependentNo;
WHERE RTRIM(LTRIM(g18.Emp_no)) = @Emp_no
SELECT @CurrentNo = CAST(RTRIM(LTRIM(g18.Dependent_no))
AS int), @EffectiveDate = [dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g18.Effective_date))), @TerminationDate =
[dbo].[ufn_Convert_ToDate](RTRIM(LTRIM(g18.Termination_date)))
PRINT 'Current Dependent No: ' +
CAST(@CurrentDependentNo AS varchar);
PRINT 'Current No: ' +
RTRIM(LTRIM(CAST(@CurrentNo AS varchar)));
PRINT 'Effect Date: ' + CAST(@DPDate AS
varchar);
PRINT 'Selected Effective Date ' + CAST(@EffectiveDate AS
varchar);
PRINT 'The Termination Date: ' + CAST(@TerminationDate
AS varchar);
PRINT 'Current Dependent Status: ' + @CurrentDependentStatus;
IF((@TerminationDate > '2007-07-02' OR @TerminationDate IS
NULL) AND @DPDate = @EffectiveDate)
IF(@CurrentNo = @CurrentDependentNo)
BEGIN
BEGIN
BEGIN
BEGIN
Procedures Page 87
PRINT 'Step A1';
IF(@CurrentDependentNo < 10)
SET @Dependents = @Dependents + N'00' +
CAST(@CurrentDependentNo AS CHAR(1));
BEGIN
END
ELSE
SET @Dependents = @Dependents + N'0' +
CAST(@CurrentDependentNo AS CHAR(2));
BEGIN
END
[TerminationDate] = @TerminationDate
SET [Status] = 'Effective',
WHERE [NumRecordId] = @RecordId;
UPDATE #tbl_DpndntNo
BEGIN
END
ELSE IF (@CurrentDependentStatus = 'Effective')
PRINT 'Step A2';
IF(@CurrentDependentNo < 10)
SET @Dependents = @Dependents + N'00' +
CAST(@CurrentDependentNo AS CHAR(1));
BEGIN
END
ELSE
SET @Dependents = @Dependents + N'0' +
CAST(@CurrentDependentNo AS CHAR(2));
BEGIN
END
[TerminationDate] = @TerminationDate
SET [Status] = 'Effective',
WHERE [NumRecordId] = @RecordId;
UPDATE #tbl_DpndntNo
BEGIN
END
ELSE
PRINT 'Step A3';
[TerminationDate] = NULL
SET [Status] = 'NotEffective',
WHERE [NumRecordId] = @RecordId;
UPDATE #tbl_DpndntNo
BEGIN
END
PRINT CAST(@DPDate AS varchar) + ' -- ' + @DateType;
END
ELSE IF(@TerminationDate > @EffectiveDate AND
@TerminationDate > '2007-07-02')
IF(@CurrentNo = @CurrentDependentNo)
PRINT 'Step B1';
IF(@CurrentDependentNo < 10)
SET @Dependents = @Dependents + N'00' +
CAST(@CurrentDependentNo AS CHAR(1));
BEGIN
END
ELSE
SET @Dependents = @Dependents + N'0' +
CAST(@CurrentDependentNo AS CHAR(2));
BEGIN
END
[TerminationDate] = @TerminationDate
SET [Status] = 'Effective',
WHERE [NumRecordId] = @RecordId;
UPDATE #tbl_DpndntNo
BEGIN
BEGIN
Procedures Page 88
WHERE [NumRecordId] = @RecordId;
END
ELSE IF (@CurrentDependentStatus = 'Effective')
PRINT 'Step B2';
IF(@CurrentDependentNo < 10)
SET @Dependents = @Dependents + N'00' +
CAST(@CurrentDependentNo AS CHAR(1));
BEGIN
END
ELSE
SET @Dependents = @Dependents + N'0' +
CAST(@CurrentDependentNo AS CHAR(2));
BEGIN
END
[TerminationDate] = @TerminationDate
SET [Status] = 'Effective',
WHERE [NumRecordId] = @RecordId;
UPDATE #tbl_DpndntNo
BEGIN
END
ELSE
PRINT 'Step B3';
[TerminationDate] = NULL
SET [Status] = 'NotEffective',
WHERE [NumRecordId] = @RecordId;
UPDATE #tbl_DpndntNo
BEGIN
END
PRINT CAST(@DPDate AS varchar) + ' -- ' + @DateType;
END
ELSE
PRINT 'Not Effective!';
BEGIN
END
END
ELSE
LEFT OUTER JOIN
[dbo].[Benefits_MedicalDentalVision] AS v ON
RTRIM(LTRIM(v.Benefit_id)) =
RTRIM(LTRIM(g18.Benefit_id)) AND
RTRIM(LTRIM(v.Benefit_plan_id)) =
RTRIM(LTRIM(g18.Benefit_plan_id))
FROM [dbo].[GFSISSY18] AS g18
AND
RTRIM(LTRIM(g18.Employer_code)) =
@Employer_code
AND
v.[Accero Benefit_Plan_Cd] = @BenefitPlanCode
AND
[dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g18.Termination_date))) =
@DPDate
AND
RTRIM(LTRIM(g18.Dependent_no)) =
@CurrentDependentNo;
WHERE RTRIM(LTRIM(g18.Emp_no)) = @Emp_no
SELECT @CurrentNo = CAST(RTRIM(LTRIM(g18.Dependent_no))
AS int), @EffectiveDate = [dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(g18.Effective_date))), @TerminationDate =
[dbo].[ufn_Convert_ToDate](RTRIM(LTRIM(g18.Termination_date)))
PRINT 'Current Dependent No: ' +
CAST(@CurrentDependentNo AS varchar);
PRINT 'Current No: ' +
RTRIM(LTRIM(CAST(@CurrentNo AS varchar)));
BEGIN -- date type = 'Term'
Procedures Page 89
RTRIM(LTRIM(CAST(@CurrentNo AS varchar)));
PRINT 'Effect Date: ' + CAST(@DPDate AS
varchar);
PRINT 'Selected Effective Date ' + CAST(@EffectiveDate AS
varchar);
PRINT 'The Termination Date: ' + CAST(@TerminationDate
AS varchar);
PRINT 'Current Dependent Status: ' + @CurrentDependentStatus;
IF (@TerminationDate > '2007-07-02' AND
@CurrentDependentStatus = 'Effective' AND
@CurrentDependentNo != @CurrentNo)
PRINT 'Step C2';
IF(@CurrentDependentNo < 10)
SET @Dependents = @Dependents + N'00' +
CAST(@CurrentDependentNo AS CHAR(1));
BEGIN
END
ELSE
SET @Dependents = @Dependents + N'0' +
CAST(@CurrentDependentNo AS CHAR(2));
BEGIN
END
BEGIN
END
ELSE
PRINT 'Termination Date, ' + CAST(@TerminationDate AS
varchar) + ', on or prior to 2007-07-02.';
BEGIN
END
END
PRINT '';
PRINT '-------------------------------------------------';
PRINT '';
FETCH NEXT FROM dpnocrsr INTO @RecordId, @CurrentDependentNo,
@CurrentDependentStatus, @CurrentDpndTerm;
END
CLOSE dpnocrsr;
DEALLOCATE dpnocrsr;
IF(LEN(@Dependents) > 1)
PRINT 'Dependents: ' + @Dependents;
INSERT INTO [dbo].[Transaction_LOD]
([CompanyNumber], [Emp_no], [Benefit_Plan_Code],
[Dependent_Date], [Dependent_Ids])
VALUES
(@CompanyNumber, @Emp_no, @BenefitPlanCode,
@DPDate, @Dependents)
BEGIN
END
SET @Dependents = '#';
FETCH NEXT FROM datecur INTO @DPDate, @DateType, @RecordId;
END
CLOSE datecur;
DEALLOCATE datecur;
END
ELSE
PRINT 'Last day of employment for employee, ' + @Emp_no + ', was 2007-07-02 or
earlier.';
BEGIN
END
SET @Emp_no = '';
SET @Employer_code = '';
SET @BenefitPlanCode = '';
FETCH NEXT FROM empcur INTO @Emp_no, @Employer_code, @BenefitPlanCode;
DROP TABLE #tbl_DpndntNo;
Procedures Page 90
DROP TABLE #tbl_DpndntNo;
DROP TABLE #tbl_DatesEffective;
END
CLOSE empcur;
DEALLOCATE empcur;
END
Procedures Page 91
/****** Object: StoredProcedure [dbo].[TransactionCursor_LQ] Script Date: 12/12/2013 15:20:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_LQ]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_LQ1;
TRUNCATE TABLE dbo.Transaction_LQ5;
TRUNCATE TABLE dbo.Transaction_LQ8;
CREATE TABLE #benefits
BId int PRIMARY KEY IDENTITY(1,1),
Emp_no nvarchar(10),
CompanyNumber nvarchar(6),
BenefitId nvarchar(6),
BenefitPlanId nvarchar(10),
PlanId nvarchar(20),
OptionElect nvarchar(20),
EffectiveDate date,
TerminationDate nvarchar(10),
BenefitAmount numeric(12,2),
EE_HED nvarchar(20),
ER_HED nvarchar(20),
EE_Contribution nvarchar(9),
ER_Contribution nvarchar(8),
EE_ContribType nvarchar(1),
ContribRule nvarchar(20)
(
)
@PlanId nvarchar(20), @OptionElect nvarchar(2), @EffectiveDate date,
@TerminationDate nvarchar(10), @BenefitAmount nvarchar(14),
@EE_HED nvarchar(20), @ER_HED nvarchar(20), @EE_Contribution
nvarchar(9), @ER_Contribution nvarchar(8), @EE_ContribType nvarchar(1),
@ContribRule nvarchar(20);
DECLARE @Emp_no nvarchar(10), @CompanyNumber nvarchar(6), @BenefitId nvarchar(6),
@BenefitPlanId nvarchar(10),
RTRIM(LTRIM(e9.Emp_no)),
RTRIM(LTRIM(c.CompanyNumber)),
RTRIM(LTRIM(e9.Benefit_id)) ,
RTRIM(LTRIM(e9.Benefit_plan_id)),
RTRIM(LTRIM(mdv.[Accero Benefit_Plan_Cd])),
RTRIM(LTRIM(mdv.[Option])),
[dbo].[ufn_Convert_ToDate](RTRIM(LTRIM(e9.Effective_date))),
(RTRIM(LTRIM(e9.Termination_date))),
RTRIM(LTRIM(e9.Benefit_amount)),
RTRIM(LTRIM(mdv.[EE HED])),
RTRIM(LTRIM(mdv.[ER HED])),
RTRIM(LTRIM(e9.Employee_contribution_amount)),
RTRIM(LTRIM(e9.Employer_contribution_amount)),
RTRIM(LTRIM(mdv.[EE Contrib Type])),
RTRIM(LTRIM(mdv.[Contrib Rule]))
LEFT OUTER JOIN [dbo].[Benefits_MedicalDentalVision] AS mdv
ON RTRIM(LTRIM(mdv.Benefit_id)) = RTRIM(LTRIM(e9.Benefit_id))
AND RTRIM(LTRIM(mdv.Benefit_plan_id)) =
RTRIM(LTRIM(e9.Benefit_plan_id))
FROM GFSISSY19 AS e9
SELECT
DECLARE outcrs CURSOR FOR
BEGIN
[TransactionCursor_LQ
Thursday, December 12, 2013 3:20 PM
Procedures Page 92
RTRIM(LTRIM(e9.Benefit_plan_id))
LEFT OUTER JOIN [dbo].[CompanyNumber] AS c ON c.EmpNum =
RTRIM(LTRIM(e9.Emp_no)) AND c.EmployerCode =
RTRIM(LTRIM(e9.Employer_code))
AND
RTRIM(LTRIM(mdv.[Accero Benefit_Plan_Cd])) IS NOT NULL
AND
[KBF_Data].[dbo].[ufn_Convert_ToDate] (e9.Effective_date) >
'2007-07-01'
OR
[KBF_Data].[dbo].[ufn_Convert_ToDate]
(RTRIM(LTRIM(e9.Termination_date))) > '2007-07-01'
OR
RTRIM(LTRIM(e9.Termination_date)) = '0'
(
)
(
)
WHERE LEN(RTRIM(LTRIM(e9.Benefit_id))) > 1
ORDER BY RTRIM(LTRIM(e9.Emp_no)), c.CompanyNumber,
RTRIM(LTRIM(e9.Benefit_id)), RTRIM(LTRIM(e9.Benefit_plan_id)),
RTRIM(LTRIM(mdv.[Accero Benefit_Plan_Cd])), RTRIM(LTRIM(mdv.[Option])),
RTRIM(LTRIM(e9.Effective_date)), RTRIM(LTRIM(e9.Termination_date)),
RTRIM(LTRIM(e9.Benefit_amount))
OPEN outcrs;
FETCH NEXT FROM outcrs INTO @Emp_no, @CompanyNumber, @BenefitId, @BenefitPlanId,
@PlanId, @OptionElect, @EffectiveDate, @TerminationDate, @BenefitAmount, @EE_HED,
@ER_HED, @EE_Contribution, @ER_Contribution, @EE_ContribType, @ContribRule;
WHILE @@FETCH_STATUS = 0
Emp_no,
CompanyNumber,
BenefitId,
BenefitPlanId,
PlanId,
OptionElect,
EffectiveDate,
TerminationDate,
BenefitAmount,
EE_HED,
ER_HED,
EE_Contribution,
ER_Contribution,
EE_ContribType,
ContribRule
(
)
VALUES
@Emp_no,
@CompanyNumber,
@BenefitId,
@BenefitPlanId,
@PlanId,
@OptionElect,
@EffectiveDate,
@TerminationDate,
@BenefitAmount,
@EE_HED,
@ER_HED,
@EE_Contribution,
@ER_Contribution,
@EE_ContribType,
@ContribRule
(
INSERT INTO #benefits
BEGIN
Procedures Page 93
@ContribRule
)
FETCH NEXT FROM outcrs INTO @Emp_no, @CompanyNumber, @BenefitId,
@BenefitPlanId, @PlanId, @OptionElect, @EffectiveDate, @TerminationDate,
@BenefitAmount, @EE_HED, @ER_HED, @EE_Contribution, @ER_Contribution,
@EE_ContribType, @ContribRule;
END
CLOSE outcrs;
DEALLOCATE outcrs;
SET @Emp_no = NULL;
SET @CompanyNumber = NULL;
SET @BenefitId = NULL;
SET @BenefitPlanId = NULL;
SET @PlanId = NULL;
SET @OptionElect = NULL;
SET @EffectiveDate = NULL;
SET @TerminationDate = NULL;
SET @BenefitAmount = NULL;
SET @EE_HED = NULL;
SET @ER_HED = NULL;
SET @EE_Contribution = NULL;
SET @ER_Contribution = NULL;
SET @ContribRule = NULL;
FROM #benefits AS b
ORDER BY b.Emp_no, b.CompanyNumber, b.BenefitId, b.BenefitPlanId;
SELECT b.Emp_no, b.CompanyNumber, b.BenefitId, b.BenefitPlanId, b.PlanId,
b.OptionElect, b.EffectiveDate, b.TerminationDate, b.BenefitAmount, b.EE_HED,
b.ER_HED, b.EE_Contribution, b.ER_Contribution, b.EE_ContribType, b.ContribRule
DECLARE bnftcrs1 CURSOR DYNAMIC FOR
OPEN bnftcrs1;
FETCH NEXT FROM bnftcrs1 INTO @Emp_no, @CompanyNumber, @BenefitId,
@BenefitPlanId, @PlanId, @OptionElect, @EffectiveDate, @TerminationDate,
@BenefitAmount, @EE_HED, @ER_HED, @EE_Contribution, @ER_Contribution,
@EE_ContribType, @ContribRule;
WHILE (@@FETCH_STATUS = 0)
IF(@BenefitId = 'BLF')
WHERE CURRENT OF bnftcrs1;
DELETE FROM #benefits
SET @PlanId = NULL;
SET @OptionElect = NULL;
SET @EE_HED = NULL;
SET @ER_HED = NULL
SET @EE_ContribType = NULL;
SET @ContribRule = NULL;
FROM [dbo].[ufn_BenefitIterate_BLF](@BenefitPlanId);
SELECT Accero_benefit_plan_code, AcceroOption, EE_HED, ER_HED,
EE_ContribType, ContribRule
DECLARE incrs CURSOR FOR
OPEN incrs;
FETCH NEXT FROM incrs INTO @PlanId, @OptionElect, @EE_HED,
@ER_HED, @EE_ContribType, @ContribRule;
WHILE (@@FETCH_STATUS = 0)
Emp_no, CompanyNumber, BenefitId, BenefitPlanId, PlanId,
OptionElect, EffectiveDate, TerminationDate, BenefitAmount,
EE_HED, ER_HED, EE_Contribution, ER_Contribution,
EE_ContribType, ContribRule
(
)
VALUES
(
INSERT INTO #benefits
BEGIN
BEGIN
BEGIN
BEGIN
Procedures Page 94
@Emp_no, @CompanyNumber, @BenefitId, @BenefitPlanId,
@PlanId, @OptionElect, @EffectiveDate, @TerminationDate,
@BenefitAmount, @EE_HED, @ER_HED,
@EE_Contribution, @ER_Contribution, @EE_ContribType,
@ContribRule
(
)
FETCH NEXT FROM incrs INTO @PlanId, @OptionElect, @EE_HED,
@ER_HED, @EE_ContribType, @ContribRule;
END
CLOSE incrs;
DEALLOCATE incrs;
END
ELSE IF (@BenefitId IN ('WVE'))
IF (@BenefitPlanId IN ('WVALL', 'WVMD'))
WHERE CURRENT OF bnftcrs1;
DELETE FROM #benefits
SET @PlanId = NULL;
SET @OptionElect = NULL;
SET @EE_HED = NULL;
SET @ER_HED = NULL;
SET @EE_ContribType = NULL;
SET @ContribRule = NULL;
FROM [dbo].[ufn_BenefitIterate_WVE](@BenefitPlanId);
SELECT Accero_benefit_plan_code, AcceroOption, EE_HED,
ER_HED, EE_ContribType, ContribRule
DECLARE incrs CURSOR FOR
OPEN incrs;
FETCH NEXT FROM incrs INTO @PlanId, @OptionElect, @EE_HED,
@ER_HED, @EE_ContribType, @ContribRule;
WHILE (@@FETCH_STATUS = 0)
Emp_no, CompanyNumber, BenefitId, BenefitPlanId,
PlanId, OptionElect, EffectiveDate, TerminationDate,
BenefitAmount, EE_HED, ER_HED, EE_Contribution,
ER_Contribution, EE_ContribType, ContribRule
(
)
VALUES
@Emp_no, @CompanyNumber, @BenefitId,
@BenefitPlanId, @PlanId, @OptionElect,
@EffectiveDate, @TerminationDate, @BenefitAmount,
@EE_HED, @ER_HED, @EE_Contribution,
@ER_Contribution, @EE_ContribType, @ContribRule
(
)
INSERT INTO #benefits
FETCH NEXT FROM incrs INTO @PlanId, @OptionElect,
@EE_HED, @ER_HED, @EE_ContribType, @ContribRule;
BEGIN
END
CLOSE incrs;
DEALLOCATE incrs;
BEGIN
END
BEGIN
END
ELSE IF(@PlanId IN ('ADC', 'SLC'))
IF(@BenefitAmount = '5000.00')
SET @OptionElect = '1A';
BEGIN
END
ELSE
SET @OptionElect = '18';
BEGIN
BEGIN
Procedures Page 95
SET @OptionElect = '18';
END
SET OptionElect = @OptionElect
AND
BenefitId = @BenefitId AND BenefitPlanId = @BenefitPlanId
AND
PlanId = @PlanId
AND
EffectiveDate = @EffectiveDate AND TerminationDate =
@TerminationDate;
WHERE Emp_no = @Emp_no AND CompanyNumber =
@CompanyNumber
UPDATE #benefits
END
SET @Emp_no = '';
SET @CompanyNumber = '';
SET @BenefitId = '';
SET @BenefitPlanId = '';
SET @PlanId = '';
SET @OptionElect = '';
SET @EffectiveDate = '';
SET @TerminationDate = '';
SET @BenefitAmount = '';
SET @EE_HED = '';
SET @ER_HED = '';
SET @EE_Contribution = '';
SET @ER_Contribution = '';
SET @EE_ContribType = '';
SET @ContribRule = '';
FETCH NEXT FROM bnftcrs1 INTO @Emp_no, @CompanyNumber, @BenefitId,
@BenefitPlanId, @PlanId, @OptionElect, @EffectiveDate, @TerminationDate,
@BenefitAmount, @EE_HED, @ER_HED, @EE_Contribution, @ER_Contribution,
@EE_ContribType, @ContribRule;
END
CLOSE bnftcrs1;
DEALLOCATE bnftcrs1;
@VariableFactor numeric(8,2), @VariableFactorFloat float,
@InsertFactorNum float, @InsertFactorChar nvarchar(9);
DECLARE @PrimaryId int, @PreviousRecord nvarchar(30), @Month nvarchar(2),
@Day nvarchar(2), @CurrentDate nvarchar(10), @PlanEntryDate nvarchar(10),
@ContributionAmountNum numeric(11,2), @ContributionAmountChar nvarchar(9),
@Next_PlanId nvarchar(20), @Next_OptionElect nvarchar(2),
@Next_EffectiveDate date, @Next_TerminationDate nvarchar(10),
@Next_BenefitAmount nvarchar(14),
@Next_EE_HED nvarchar(20), @Next_ER_HED nvarchar(20),
@Next_EE_Contribution nvarchar(9), @Next_ER_Contribution
nvarchar(8), @Next_EE_ContribType nvarchar(1),
@BenefitAmountNum float, @BenefitAmountInt int,
@CoverageAmount1 nvarchar(14), @ContribCode nvarchar(1);
DECLARE @Next_PrimaryId int, @Next_Emp_no nvarchar(10),
@Next_CompanyNumber nvarchar(6),
SET @PreviousRecord = '';
FROM #benefits AS b
ORDER BY b.Emp_no, b.CompanyNumber, b.PlanId, b.EffectiveDate,
b.TerminationDate;
SELECT b.BId, b.Emp_no, b.CompanyNumber, b.PlanId, b.OptionElect,
b.EffectiveDate, b.TerminationDate, b.BenefitAmount, b.EE_HED, b.ER_HED,
b.EE_Contribution, b.ER_Contribution, b.EE_ContribType, b.ContribRule
DECLARE bnftcrs2 CURSOR SCROLL FOR
OPEN bnftcrs2;
FETCH NEXT FROM bnftcrs2 INTO @PrimaryId, @Emp_no, @CompanyNumber,
@PlanId, @OptionElect, @EffectiveDate, @TerminationDate, @BenefitAmount,
@EE_HED, @ER_HED, @EE_Contribution, @ER_Contribution, @EE_ContribType,
@ContribRule;
BEGIN
Procedures Page 96
@ContribRule;
WHILE (@@FETCH_STATUS = 0)
IF (@EffectiveDate <= '2007-07-01')
SET @EffectiveDate = '2007-07-01';
BEGIN
END
SET @Month = CAST(MONTH(@EffectiveDate) AS nvarchar);
WHILE(LEN(@Month) < 2)
SET @Month = '0' + @Month;
BEGIN
END
SET @Day = CAST(DAY(@EffectiveDate) AS nvarchar)
WHILE(LEN(@Day) < 2)
SET @Day = '0' + @Day;
BEGIN
END
SET @CurrentDate = @Month + '-' + @Day + '-' + CAST(YEAR(@EffectiveDate)
AS nvarchar);
IF(@PreviousRecord != @Emp_no + @CompanyNumber + @PlanId)
SET @PreviousRecord = @Emp_no + @CompanyNumber + @PlanId;
SET @PlanEntryDate = @Month + '-' + @Day + '-' +
CAST(YEAR(@EffectiveDate) AS nvarchar);
BEGIN
END
IF (LEN(@TerminationDate) IN ('7', '8'))
SET @Month = LEFT(@TerminationDate, LEN(@TerminationDate) - 6);
WHILE(LEN(@Month) < 2)
SET @Month = '0' + @Month;
BEGIN
END
SET @Day = SUBSTRING(@TerminationDate, LEN(@TerminationDate) -
5, 2);
WHILE(LEN(@Day) < 2)
SET @Day = '0' + @Day;
BEGIN
END
SET @TerminationDate = @Month + '-' + @Day + '-' +
RIGHT(@TerminationDate,4);
BEGIN
END
ELSE
SET @TerminationDate = NULL;
BEGIN
END
SET @VariableFactor = CAST(@BenefitAmount AS numeric(8,2));
SET @BenefitAmountNum = CAST(@BenefitAmount AS float);
SET @BenefitAmountInt = CHARINDEX('.', @BenefitAmount);
SET @CoverageAmount1 = LEFT(@BenefitAmount, (LEN(@BenefitAmount)-3));
IF(@BenefitAmountNum > 0)
SET @BenefitAmount = REPLACE(@BenefitAmount, '.', '');
BEGIN
END
ELSE
SET @BenefitAmount = NULL;
BEGIN
END
IF (@PlanId IN ('ADE', 'ADS', 'SLE', 'SLS'))
SET @VariableFactorFloat = @VariableFactor/10000.00;
SET @VariableFactor = @VariableFactorFloat;
INSERT INTO dbo.Transaction_LQ1
(CompanyNumber, EmpNum, PlanId,
OptionElected, WelfareEffective, PlanEntryDate,
ResultingPlanStat, VariableFactor,
BEGIN
BEGIN
Procedures Page 97
ResultingPlanStat, VariableFactor,
IdKey)
VALUES
(@CompanyNumber, @Emp_no, @PlanId,
@OptionElect, @CurrentDate, @PlanEntryDate,
'1' , @VariableFactor,
@PrimaryId);
END
ELSE IF (@PlanId IN ('SAD', 'SAH'))
IF(@EE_Contribution != '0.00' AND LEN(@EE_Contribution) > 0)
SET @ContributionAmountNum = CAST(@EE_Contribution
AS numeric(7,2));
SET @ContributionAmountNum = @ContributionAmountNum
* 26;
SET @ContributionAmountChar =
REPLACE(CAST(@ContributionAmountNum AS nvarchar), '.',
'');
BEGIN
END
ELSE
SET @ContributionAmountChar = NULL;
BEGIN
END
BEGIN TRY
END TRY
EXEC [dbo].[GetErrorInfo];
BEGIN CATCH
END CATCH
INSERT INTO dbo.Transaction_LQ1
(CompanyNumber, EmpNum, PlanId,
OptionElected, WelfareEffective, PlanEntryDate,
ResultingPlanStat, VariableFactor,
IdKey)
VALUES
(@CompanyNumber, @Emp_no, @PlanId,
@OptionElect, @CurrentDate, @PlanEntryDate,
'1' ,
@ContributionAmountChar, @PrimaryId);
SET @BenefitAmount = REPLACE(CAST(@VariableFactor AS nvarchar),
'.', '');
SET @ContributionAmountNum = 0;
SET @ContributionAmountChar = '';
BEGIN
END
ELSE IF (@PlanId IN ('WAD', 'WAM', 'WAV'))
INSERT INTO dbo.Transaction_LQ1
(CompanyNumber, EmpNum, PlanId,
OptionElected, WelfareEffective, PlanEntryDate,
ResultingPlanStat, VariableFactor,
IdKey)
VALUES
(@CompanyNumber, @Emp_no, @PlanId, '99',
@CurrentDate, @PlanEntryDate,
'7', '',
@PrimaryId);
BEGIN
END
ELSE
INSERT INTO dbo.Transaction_LQ1
(CompanyNumber, EmpNum, PlanId,
OptionElected, WelfareEffective, PlanEntryDate,
ResultingPlanStat, VariableFactor,
IdKey)
BEGIN
Procedures Page 98
IdKey)
VALUES
(@CompanyNumber, @Emp_no, @PlanId,
@OptionElect, @CurrentDate, @PlanEntryDate,
'1', ''
, @PrimaryId);
END
IF(LEN(@EE_HED) = 3)
IF(CAST(@EE_Contribution AS float) = 0)
SET @EE_Contribution = NULL;
BEGIN
END
( CompanyNumber, EmpNum, HEDXRefNumber,
HEDXRefEffectDate , HEDXRefAmtPct,
HEDXRefPlanId,
HEDXRefTMRule, HEDXRefContribCd,
KeyId)
VALUES
( @CompanyNumber, @Emp_no, @EE_HED,
@CurrentDate,
REPLACE(@EE_Contribution, '.', ''), @PlanId,
@ContribRule, @EE_ContribType,
@PrimaryId)
INSERT INTO [dbo].[Transaction_LQ5]
IF(@EE_Contribution != '0.00' AND LEN(@EE_Contribution) > 0)
SET @ContributionAmountNum = CAST(@EE_Contribution
AS numeric(7,2));
SET @ContributionAmountNum = @ContributionAmountNum
* 26;
SET @ContributionAmountChar =
CAST(@ContributionAmountNum AS nvarchar);
PRINT @PlanId + ' -- ' + @EE_Contribution + ' -- ' +
CAST(@ContributionAmountNum AS nvarchar) + ' -- ' +
CAST(((@ContributionAmountNum) * 26) AS nvarchar) + ' -- '
+ @ContributionAmountChar;
BEGIN
END
ELSE
SET @ContributionAmountChar = NULL;
BEGIN
END
BEGIN TRY
END TRY
EXEC [dbo].[GetErrorInfo];
BEGIN CATCH
END CATCH
(CompanyNumber, EmpNum, PlanId,
CoverageDate, ContribType,
ContributeHEDXRef, CoverageAmount1,
ContributionAmount,
DeductionEffective, KeyId)
VALUES
(@CompanyNumber, @Emp_no, @PlanId,
@CurrentDate, @EE_ContribType, @EE_HED,
@CoverageAmount1,
@ContributionAmountChar, @CurrentDate,
@PrimaryId)
INSERT INTO [dbo].[Transaction_LQ8]
BEGIN
END
IF(CAST(@ER_Contribution AS float) = 0)
SET @ER_Contribution = NULL;
BEGIN
END
IF(LEN(@ER_HED) = 3 AND @ER_Contribution IS NOT NULL)
Procedures Page 99
IF(LEN(@ER_HED) = 3 AND @ER_Contribution IS NOT NULL)
SET @ContribCode = '3';
( CompanyNumber, EmpNum, HEDXRefNumber,
HEDXRefEffectDate , HEDXRefAmtPct,
HEDXRefPlanId,
HEDXRefTMRule, HEDXRefContribCd,
KeyId)
VALUES
( @CompanyNumber, @Emp_no, @ER_HED,
@CurrentDate,
REPLACE(@ER_Contribution, '.', ''), @PlanId,
@ContribRule, @ContribCode,
@PrimaryId)
INSERT INTO [dbo].[Transaction_LQ5]
SET @ContributionAmountNum = CAST(@ER_Contribution AS
numeric(7,2));
SET @ContributionAmountNum = @ContributionAmountNum * 26;
SET @ContributionAmountChar = CAST(@ContributionAmountNum
AS nvarchar);
--SET @ContributionAmountChar =
REPLACE(@ContributionAmountChar, '.', '');
PRINT @PlanId + ' -- ' + @ER_Contribution + ' -- ' +
CAST(@ContributionAmountNum AS nvarchar) + ' -- ' +
CAST(((@ContributionAmountNum) * 26) AS nvarchar) + ' -- ' +
@ContributionAmountChar;
BEGIN TRY
END TRY
EXEC [dbo].[GetErrorInfo];
BEGIN CATCH
END CATCH
--*****remove decimals from CoverageAmount (@BenefitAmount)
(CompanyNumber, EmpNum, PlanId,
CoverageDate, ContribType,
ContributeHEDXRef, CoverageAmount1,
ContributionAmount,
DeductionEffective, KeyId)
VALUES
(@CompanyNumber, @Emp_no, @PlanId,
@CurrentDate, '3',
@ER_HED,
@CoverageAmount1,
@ContributionAmountChar, @CurrentDate,
@PrimaryId)
INSERT INTO [dbo].[Transaction_LQ8]
BEGIN
END
FETCH NEXT FROM bnftcrs2 INTO @Next_PrimaryId, @Next_Emp_no,
@Next_CompanyNumber, @Next_PlanId, @Next_OptionElect,
@Next_EffectiveDate, @Next_TerminationDate, @Next_BenefitAmount,
@Next_EE_HED, @Next_ER_HED, @Next_EE_Contribution,
@Next_ER_Contribution, @Next_EE_ContribType, @ContribRule;
IF(@Next_PlanId != @PlanId OR @Next_CompanyNumber !=
@CompanyNumber OR @Next_Emp_no != @Emp_no)
--PRINT 'Next Plan != Current Plan: ' + @Next_PlanId + ' == ' + @PlanId
+ '; ' + @Next_CompanyNumber + ' == ' + @CompanyNumber + '; ' +
@Next_Emp_no + ' == ' + @Emp_no;
IF(@TerminationDate IS NOT NULL)
INSERT INTO dbo.Transaction_LQ1
(CompanyNumber, EmpNum, PlanId,
OptionElected, WelfareEffective,
PlanEntryDate, ResultingPlanStat,
VariableFactor)
VALUES
BEGIN
BEGIN
Procedures Page 100
VALUES
(@CompanyNumber, @Emp_no, @PlanId, '97'
, @TerminationDate,
@PlanEntryDate, '5',
'');
SET @VariableFactor = NULL;
END
END
FETCH PRIOR FROM bnftcrs2 INTO @Next_PrimaryId, @Next_Emp_no,
@Next_CompanyNumber, @Next_PlanId, @Next_OptionElect,
@Next_EffectiveDate, @Next_TerminationDate, @Next_BenefitAmount,
@Next_EE_HED, @Next_ER_HED, @Next_EE_Contribution,
@Next_ER_Contribution, @Next_EE_ContribType, @ContribRule;
SET @Emp_no = '';
SET @CompanyNumber = '';
SET @BenefitId = '';
SET @BenefitPlanId = '';
SET @PlanId = '';
SET @OptionElect = '';
SET @EffectiveDate = '';
SET @TerminationDate = '';
SET @BenefitAmount = '';
SET @Month = '';
SET @Day = '';
SET @CurrentDate = '';
SET @VariableFactor = NULL;
SET @InsertFactorNum = NULL;
SET @InsertFactorChar = '';
SET @ContributionAmountNum = NULL;
SET @ContributionAmountChar = '';
SET @Month = '';
SET @Day = '';
SET @ContribRule = '';
SET @ContribCode = '';
FETCH NEXT FROM bnftcrs2 INTO @PrimaryId, @Emp_no,
@CompanyNumber, @PlanId, @OptionElect, @EffectiveDate,
@TerminationDate, @BenefitAmount, @EE_HED, @ER_HED,
@EE_Contribution, @ER_Contribution, @EE_ContribType, @ContribRule;
END
CLOSE bnftcrs2;
DEALLOCATE bnftcrs2;
END
END
DROP TABLE #benefits;
END
Procedures Page 101
/****** Object: StoredProcedure [dbo].[TransactionCursor_LZ4] Script Date: 12/12/2013 15:21:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_LZ4]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_LZ4;
DECLARE @CompanyNumber nvarchar(6), @Emp_no nvarchar(10), @EmployerCode
nvarchar(3), @OriginalDateHire nvarchar(10);
LEFT OUTER JOIN dbo.CompanyNumber AS cnm ON cnm.EmpNum =
g21.Emp_no AND cnm.EmployerCode = g21.Employer_code
LEFT OUTER JOIN dbo.GFSISSY02 AS g02 ON g02.Emp_no = g21.Emp_no
AND g02.Employer_code = g21.Employer_code
FROM dbo.GFSISSY21 AS g21
GROUP BY RTRIM(LTRIM(g21.Emp_no)), RTRIM(LTRIM(g21.Employer_code)),
cnm.CompanyNumber, RTRIM(LTRIM(g02.original_date_hire))
ORDER BY RTRIM(LTRIM(g21.Emp_no)), RTRIM(LTRIM(g21.Employer_code))
SELECT cnm.CompanyNumber, RTRIM(LTRIM(g21.Emp_no)),
RTRIM(LTRIM(g21.Employer_code)), RTRIM(LTRIM(g02.original_date_hire))
DECLARE datacursor CURSOR FOR
OPEN datacursor;
INTO @CompanyNumber, @Emp_no, @EmployerCode, @OriginalDateHire;
FETCH NEXT FROM datacursor
WHILE @@FETCH_STATUS = 0
DECLARE @CenturyHireDate nvarchar(8), @PropertyCode nvarchar(5), @DateEntered
nvarchar(8), @Descript nvarchar(20), @RegIdNum nvarchar(50)
DECLARE @SLCode1 nvarchar(2), @SLCode2 nvarchar(2), @SLCode3 nvarchar(2);
IF @CompanyNumber IS NULL
EXEC @CompanyNumber = dbo.ufn_GetOrgId02 @EmployerCode, @Emp_no
IF @CompanyNumber IS NULL
SET @CompanyNumber = '';
BEGIN
END
BEGIN
END
IF(LEN(@OriginalDateHire) > 1)
SET @OriginalDateHire = LEFT(@OriginalDateHire,LEN(@OriginalDateHire)-6) + '-' +
SUBSTRING(@OriginalDateHire,LEN(@OriginalDateHire)-5,2) + '-' +
RIGHT(@OriginalDateHire,4);
BEGIN
END
SELECT @OriginalDateHire;
--SET @CenturyHireDate = @OriginalDateHire;
--EXEC @CenturyHireDate = dbo.ufn_Convert_ToCenturyDate @OriginalDateHire;
--IF @CenturyHireDate IS NULL
--BEGIN
-- SET @CenturyHireDate = '';
--END
FROM dbo.GFSISSY21 AS g21b
WHERE g21b.Emp_no = @Emp_no AND g21b.Employer_code =
@EmployerCode
SELECT g21b.Property_type_code, g21b.Date_entered, g21b.Description,
g21b.RegNum_IdNum
DECLARE slcursor CURSOR FOR
OPEN slcursor;
BEGIN
BEGIN
TransactionCursor_LZ4
Thursday, December 12, 2013 3:21 PM
Procedures Page 102
OPEN slcursor;
INTO @PropertyCode, @DateEntered, @Descript, @RegIdNum;
FETCH NEXT FROM slcursor
WHILE @@FETCH_STATUS = 0
IF LEN(@SLCode1) = 0
FROM [dbo].[LanguageCodeConversions] AS lc1
WHERE lc1.KBF_Property_Lang_Code = @PropertyCode;
SELECT @SLCode1 = lc1.[Accero_Property_ Lang_Code]
BEGIN
END
ELSE IF LEN(@SLCode2) = 0
FROM [dbo].[LanguageCodeConversions] AS lc1
WHERE lc1.KBF_Property_Lang_Code = @PropertyCode;
SELECT @SLCode2 = lc1.[Accero_Property_ Lang_Code]
BEGIN
END
ELSE
FROM [dbo].[LanguageCodeConversions] AS lc1
WHERE lc1.KBF_Property_Lang_Code = @PropertyCode;
SELECT @SLCode3 = lc1.[Accero_Property_ Lang_Code]
BEGIN
END
INTO @PropertyCode, @DateEntered, @Descript, @RegIdNum;
FETCH NEXT FROM slcursor
BEGIN
END
CLOSE slcursor;
DEALLOCATE slcursor;
IF LEN(@SLCode1) > 0
INSERT INTO dbo.Transaction_LZ4
CompanyNumber,
Emp_no,
Original_hire_date,
Skill_lang_code1,
Skill_lang_code2,
Skill_lang_code3
(
)
VALUES
@CompanyNumber,
@Emp_no,
@OriginalDateHire,
@SLCode1,
@SLCode2,
@SLCode3
(
)
BEGIN
END
SET @CenturyHireDate = '';
SET @CompanyNumber = '';
SET @DateEntered = '';
SET @Descript = '';
SET @Emp_no = '';
SET @OriginalDateHire = '';
SET @PropertyCode = '';
SET @RegIdNum = '';
SET @SLCode1 = '';
SET @SLCode2 = '';
SET @SLCode3 = '';
INTO @CompanyNumber, @Emp_no, @EmployerCode, @OriginalDateHire;
FETCH NEXT FROM datacursor
END
CLOSE datacursor;
DEALLOCATE datacursor;
Procedures Page 103
DEALLOCATE datacursor;
END
Procedures Page 104
/****** Object: StoredProcedure [dbo].[TransactionCursor_LZA] Script Date: 12/12/2013 15:22:05
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_LZA]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_LZA;
DECLARE @CompanyNumber nvarchar(6), @Emp_no nvarchar(10), @OriginalDateHire
nvarchar(10), @Telephone nvarchar(20);
LEFT OUTER JOIN dbo.CompanyNumber AS cnm ON cnm.EmpNum =
g2.Emp_no AND cnm.EmployerCode = g2.Employer_code
FROM dbo.GFSISSY02 AS g2
SELECT cnm.CompanyNumber, RTRIM(LTRIM(g2.Emp_no)),
RTRIM(LTRIM(g2.original_date_hire)), RTRIM(LTRIM(g2.Telephone))
DECLARE datacursor CURSOR FOR
OPEN datacursor;
FETCH NEXT FROM datacursor
INTO @CompanyNumber, @Emp_no, @OriginalDateHire, @Telephone;
WHILE @@FETCH_STATUS = 0
DECLARE @CenturyHireDate nvarchar(8), @AreaCode nvarchar(3), @HomePhone
nvarchar(8), @InterimPhone nvarchar(20);
IF(LEN(@OriginalDateHire) > 1)
SET @OriginalDateHire = LEFT(@OriginalDateHire,LEN(@OriginalDateHire)-6) + '-' +
SUBSTRING(@OriginalDateHire,LEN(@OriginalDateHire)-5,2) + '-' +
RIGHT(@OriginalDateHire,4);
BEGIN
END
--SET @CenturyHireDate = @OriginalDateHire;
--EXEC @CenturyHireDate = dbo.ufn_Convert_ToCenturyDate @OriginalDateHire;
IF(LEN(@Telephone) >= 12)
SET @AreaCode = LEFT(@Telephone, 3);
SET @InterimPhone = RIGHT(@Telephone, LEN(@Telephone) - 4);
IF (LEN(@InterimPhone) = 8)
SET @HomePhone = LEFT(@InterimPhone, 3) + SUBSTRING(@InterimPhone,
5, 4);
BEGIN
END
ELSE IF(LEN(@InterimPhone) > 8)
IF(SUBSTRING(@InterimPhone, 8, 1) = '.')
SET @HomePhone = SUBSTRING(@InterimPhone, 5, 3) +
SUBSTRING(@InterimPhone, 9 , 4);
BEGIN
END
ELSE
SET @HomePhone = LEFT(@InterimPhone, 3) +
SUBSTRING(@InterimPhone, 5, 4);
BEGIN
END
BEGIN
END
ELSE
IF(SUBSTRING(@Telephone, 8, 1) = '.')
BEGIN
BEGIN
BEGIN
BEGIN
TransactionCursor_LZA
Thursday, December 12, 2013 3:22 PM
Procedures Page 105
IF(SUBSTRING(@Telephone, 8, 1) = '.')
SET @HomePhone = SUBSTRING(@InterimPhone, 5, 3) +
SUBSTRING(@InterimPhone, 9, 4);
--RIGHT(@InterimPhone, LEN(@InterimPhone) - 4);
BEGIN
END
ELSE
SET @HomePhone = LEFT(@InterimPhone, 3) +
SUBSTRING(@InterimPhone, 5, 4);
BEGIN
END
END
END
ELSE
IF(LEN(@Telephone) =11)
SET @AreaCode = LEFT(@Telephone, 3);
IF(SUBSTRING(@Telephone, 4, 1) = '.')
SET @InterimPhone = RIGHT(@Telephone, LEN(@Telephone) - 4);
SET @HomePhone = LEFT(@InterimPhone, 3) +
SUBSTRING(@InterimPhone, 4, 4);
BEGIN
END
ELSE
SET @InterimPhone = RIGHT(@Telephone, LEN(@Telephone) - 3);
SET @HomePhone = LEFT(@InterimPhone, 3) +
SUBSTRING(@InterimPhone, 5, 4);
BEGIN
END
Begin
END
ELSE
SET @AreaCode = '000';
IF(LEN(@Telephone) = 8)
SET @HomePhone = LEFT(@Telephone, 3) + SUBSTRING(@Telephone,
5, 4);
BEGIN
END
ELSE
SET @HomePhone = '0000000';
BEGIN
END
BEGIN
END
BEGIN
END
INSERT INTO dbo.Transaction_LZA
CompanyNumber,
Emp_no,
Original_hire_date,
AreaCode,
HomePhone,
Original_telephone
(
)
VALUES
@CompanyNumber,
@Emp_no,
@OriginalDateHire,
@AreaCode,
@HomePhone,
@Telephone
(
)
SET @AreaCode = '';
SET @CenturyHireDate = '';
Procedures Page 106
SET @CenturyHireDate = '';
SET @CompanyNumber = '';
SET @Emp_no = '';
SET @HomePhone = '';
SET @InterimPhone = '';
SET @OriginalDateHire = '';
SET @Telephone = '';
FETCH NEXT FROM datacursor
INTO @CompanyNumber, @Emp_no, @OriginalDateHire, @Telephone;
END
END
Procedures Page 107
/****** Object: StoredProcedure [dbo].[TransactionCursor_LZB] Script Date: 12/12/2013 15:22:33
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_LZB]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_LZB;
DECLARE @Emp_no nvarchar(10), @Employer_code nvarchar(10), @CompanyNumber
nvarchar(10), @RecordDate nvarchar(10), @MaritalCode nvarchar(10), @TotalDependents
nvarchar(10), @VisaType nvarchar(10);
RTRIM(LTRIM(gs2.Employer_code)),
RTRIM(LTRIM(cn.CompanyNumber)),
[dbo].[ufn_Convert_ToDate] ( RTRIM(LTRIM(gs2.original_date_hire))),
RTRIM(LTRIM(gs5.True_marital_status)),
RTRIM(LTRIM(gs5.True_dependent_count)),
RTRIM(LTRIM(gs4.Non_alien_code))
SELECT RTRIM(LTRIM(gs2.Emp_no)),
LEFT OUTER JOIN dbo.GFSISSY05 AS gs5 ON gs5.Emp_no = gs2.Emp_no
AND gs5.Employer_code = gs2.Employer_code
LEFT OUTER JOIN dbo.GFSISSY04 AS gs4 ON gs4.Emp_no = gs2.Emp_no
AND gs4.Employer_code = gs2.Employer_code
LEFT OUTER JOIN dbo.CompanyNumber AS cn ON cn.EmpNum =
gs2.Emp_no AND cn.EmployerCode = gs2.Employer_code;
FROM dbo.GFSISSY02 AS gs2
DECLARE outcrs CURSOR FOR
OPEN outcrs;
FETCH NEXT FROM outcrs INTO @Emp_no, @Employer_code, @CompanyNumber,
@RecordDate, @MaritalCode, @TotalDependents, @VisaType;
WHILE (@@FETCH_STATUS= 0)
IF(RTRIM(LTRIM(@VisaType)) = '1')
SET @VisaType = 'J1';
BEGIN
END
ELSE
SET @VisaType = '';
BEGIN
END
(Emp_no, Employer_code, CompanyNumber, RecordDate, MaritalCode,
TotalDependents, VisaType)
VALUES
(@Emp_no, @Employer_code, @CompanyNumber, @RecordDate, @MaritalCode,
@TotalDependents, @VisaType)
INSERT INTO dbo.Transaction_LZB
FETCH NEXT FROM outcrs INTO @Emp_no, @Employer_code, @CompanyNumber,
@RecordDate, @MaritalCode, @TotalDependents, @VisaType;
BEGIN
END
BEGIN
END
TransactionCursor_LZB
Thursday, December 12, 2013 3:22 PM
Procedures Page 108
/****** Object: StoredProcedure [dbo].[TransactionCursor_LZN] Script Date: 12/12/2013 15:22:54
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_LZN]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_LZN;
@FoodCardDate nvarchar(10), @WorkPermitLetter nvarchar(5);
DECLARE @Emp_no nvarchar(10), @Employer_code nvarchar(3), @AdjustDateHire
nvarchar(10), @OriginalDateHire nvarchar(10), @WorkPermitDate nvarchar(10),
RTRIM(LTRIM(g2.Employer_code)),
RTRIM(LTRIM(g2.adjusted_date_hire)),
RTRIM(LTRIM(g2.original_date_hire)),
RTRIM(LTRIM(g2.work_permit_date)),
RTRIM(LTRIM(g4.food_handler_card_date)),
RTRIM(LTRIM(g4.work_permit_letter))
LEFT OUTER JOIN [dbo].[GFSISSY45] AS g4 ON g4.Emp_no = g2.Emp_no
AND g4.Employer_code = g2.Employer_code
FROM [dbo].[GFSISSY02] as g2
SELECT RTRIM(LTRIM(g2.Emp_no)),
DECLARE empcrs CURSOR FOR
OPEN empcrs;
FETCH NEXT FROM empcrs INTO @Emp_no, @Employer_code, @AdjustDateHire,
@OriginalDateHire, @WorkPermitDate, @FoodCardDate, @WorkPermitLetter;
WHILE (@@FETCH_STATUS = 0)
@WorkYear int, @WorkMonth int, @WorkDay int, @FoodYear int,
@FoodMonth int, @FoodDay int,
@Letter1Code nvarchar(1), @Letter2Code nvarchar(1) ;
DECLARE @CompanyNumber nvarchar(6), @HireDate nvarchar(10), @StatusCode
nvarchar(1), @WorkPermitDateTimeStatus nvarchar(1), @FoodCardDateTimeStatus
nvarchar(1),
EXEC @CompanyNumber = [dbo].[ufn_GetOrgId02] @Employer_code, @Emp_no;
IF(@WorkPermitLetter IN ('1SENT', '2SENT'))
SET @Letter1Code = 'Y';
BEGIN
END
IF(@WorkPermitLetter = '2SENT')
SET @Letter2Code = 'Y';
BEGIN
END
IF(LEN(@AdjustDateHire) > 1)
SET @HireDate = LEFT(@AdjustDateHire, LEN(@AdjustDateHire)-6) + '-' +
SUBSTRING(@AdjustDateHire, LEN(@AdjustDateHire)-5, 2) + '-' +
RIGHT(@AdjustDateHire,4);
BEGIN
END
ELSE
SET @HireDate = LEFT(@OriginalDateHire, LEN(@OriginalDateHire)-6) + '-' +
SUBSTRING(@OriginalDateHire, LEN(@OriginalDateHire)-5, 2) + '-' +
RIGHT(@OriginalDateHire,4);
BEGIN
END
SET @WorkPermitDate = RTRIM(LTRIM(@WorkPermitDate));
IF (@WorkPermitDate IS NOT NULL AND @WorkPermitDate != '0' AND
LEN(@WorkPermitDate) > 3)
BEGIN
BEGIN
TransactionCursor_LZN
Thursday, December 12, 2013 3:22 PM
Procedures Page 109
LEN(@WorkPermitDate) > 3)
WHILE (LEN(RTRIM(LTRIM(@WorkPermitDate))) < 8)
SET @WorkPermitDate = '0' + @WorkPermitDate;
BEGIN
END
SET @WorkYear = CAST(RIGHT(@WorkPermitDate,4) AS int);
SET @WorkMonth = CAST(LEFT(@WorkPermitDate, (LEN(@WorkPermitDate) -
6)) AS int);
SET @WorkDay = CAST(SUBSTRING(@WorkPermitDate,
LEN(@WorkPermitDate) -5, 2) AS int);
SET @WorkPermitDate = LEFT(@WorkPermitDate, LEN(@WorkPermitDate)-6) + '-' +
SUBSTRING(@WorkPermitDate, LEN(@WorkPermitDate)-5, 2) + '-' +
RIGHT(@WorkPermitDate,4);
IF(@WorkYear > YEAR(GETDATE()))
SET @WorkPermitDateTimeStatus = 'F';
BEGIN
END
ELSE IF(@WorkYear < YEAR(GETDATE()))
SET @WorkPermitDateTimeStatus = 'P';
BEGIN
END
ELSE IF(@WorkMonth > MONTH(GETDATE()))
SET @WorkPermitDateTimeStatus = 'F';
BEGIN
END
ELSE IF(@WorkMonth < MONTH(GETDATE()))
SET @WorkPermitDateTimeStatus = 'P';
BEGIN
END
ELSE IF (@WorkDay >= DAY(GETDATE()))
SET @WorkPermitDateTimeStatus = 'F';
BEGIN
END
ELSE
SET @WorkPermitDateTimeStatus = 'P';
BEGIN
END
IF(@WorkPermitLetter = 'DIPLM')
SET @StatusCode = '9';
BEGIN
END
ELSE IF (@WorkPermitDateTimeStatus = 'P')
SET @StatusCode = '1';
BEGIN
END
ELSE
SET @StatusCode = 'I';
BEGIN
END
(Emp_no, CompanyNumber, [CLP-Type], [CLP-Date-
Recorded], [CLP-Date-Expired], [CLP-Status-Code], [CLP-WP-Let-1-
Cd], [CLP-WP-Let-2-Cd])
VALUES
(@Emp_no, @CompanyNumber, 'W015', @HireDate,
@WorkPermitDate, @StatusCode,
@Letter1Code, @Letter2Code)
INSERT INTO [dbo].[Transaction_LZN]
--SELECT @Emp_no, 'Work', @WorkPermitDate;
BEGIN
END
BEGIN
END
SET @FoodCardDate = RTRIM(LTRIM(@FoodCardDate));
IF (@FoodCardDate IS NOT NULL AND @FoodCardDate != '0' AND
LEN(@FoodCardDate) > 3)
Procedures Page 110
LEN(@FoodCardDate) > 3)
WHILE (LEN(RTRIM(LTRIM(@FoodCardDate))) < 8)
SET @FoodCardDate = '0' + RTRIM(LTRIM(@FoodCardDate));
BEGIN
END
SET @FoodYear = CAST(RIGHT(@FoodCardDate,4) AS int);
SET @FoodMonth = CAST(LEFT(@FoodCardDate, LEN(@FoodCardDate) - 6) AS
int);
SET @FoodDay = CAST(SUBSTRING(@FoodCardDate,
LEN(@FoodCardDate) -5, 2) AS int);
SET @FoodCardDate = LEFT(@FoodCardDate, LEN(@FoodCardDate)-6) + '-' +
SUBSTRING(@FoodCardDate, LEN(@FoodCardDate)-5, 2) + '-' +
RIGHT(@FoodCardDate,4);
IF(@FoodYear > YEAR(GETDATE()))
SET @FoodCardDateTimeStatus = 'F';
BEGIN
END
ELSE IF(@FoodYear < YEAR(GETDATE()))
SET @FoodCardDateTimeStatus = 'P';
BEGIN
END
ELSE IF(@FoodMonth > MONTH(GETDATE()))
SET @FoodCardDateTimeStatus = 'F';
BEGIN
END
ELSE IF(@FoodMonth < MONTH(GETDATE()))
SET @FoodCardDateTimeStatus = 'P';
BEGIN
END
ELSE IF (@FoodDay >= DAY(GETDATE()))
SET @FoodCardDateTimeStatus = 'F';
BEGIN
END
ELSE
SET @FoodCardDateTimeStatus = 'P';
BEGIN
END
IF(@WorkPermitLetter = 'DIPLM')
SET @StatusCode = '9';
BEGIN
END
ELSE IF (@FoodCardDateTimeStatus = 'P')
SET @StatusCode = '1';
BEGIN
END
ELSE
SET @StatusCode = 'I';
BEGIN
END
(Emp_no, CompanyNumber, [CLP-Type], [CLP-Date-
Recorded], [CLP-Date-Expired], [CLP-Status-Code], [CLP-WP-Let-1-
Cd], [CLP-WP-Let-2-Cd])
VALUES
(@Emp_no, @CompanyNumber, 'F025', @HireDate,
@FoodCardDate, @StatusCode,
@Letter1Code, @Letter2Code)
INSERT INTO [dbo].[Transaction_LZN]
--SELECT @Emp_no, 'Food', @FoodCardDate;
BEGIN
END
BEGIN
END
SET @Emp_no = NULL;
SET @Employer_code = NULL;
SET @AdjustDateHire = NULL;
Procedures Page 111
SET @AdjustDateHire = NULL;
SET @OriginalDateHire = NULL;
SET @WorkPermitDate = NULL;
SET @FoodCardDate = NULL;
SET @WorkPermitLetter = NULL;
SET @HireDate = NULL;
SET @StatusCode = NULL;
SET @WorkPermitDateTimeStatus = NULL;
SET @FoodCardDateTimeStatus = NULL;
SET @WorkYear = NULL;
SET @WorkMonth = NULL;
SET @WorkDay = NULL;
SET @FoodYear = NULL;
SET @FoodMonth = NULL;
SET @FoodDay = NULL;
SET @Letter1Code = NULL;
SET @Letter2Code = NULL;
FETCH NEXT FROM empcrs INTO @Emp_no, @Employer_code, @AdjustDateHire,
@OriginalDateHire, @WorkPermitDate, @FoodCardDate, @WorkPermitLetter;
END
END
Procedures Page 112
/****** Object: StoredProcedure [dbo].[TransactionCursor_V] Script Date: 12/12/2013 15:23:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TransactionCursor_V]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.Transaction_V;
@Name_last nchar(18), @Name_first nchar(18), @Name_mi nchar(1),
@Name_middle nchar(15), @Name_suffix nchar(5),
@Address1 nchar(30), @Address2 nchar(30), @City nchar(30), @State nchar(3),
@ZipLong nchar(10), @CountryCode nchar(3)
DECLARE @Employer_code nchar(3), @EmpNum nchar(9), @StatusCode nchar(5), @TermDate
nchar(8), @AdjHireDate nchar(8),
gs2.Last_name, gs2.First_name, gs2.MI, gs2.Middle_name, gs2.Suffix,
gs2.Street_addr1, gs2.Street_addr2, gs2.City, gs2.[State/Province], gs2.Zip,
gs2.Country_code
FROM dbo.GFSISSY02 AS gs2;
SELECT gs2.Employer_code, gs2.Emp_no, gs2.status_code, gs2.cur_term_date,
gs2.adjusted_date_hire,
DECLARE datacursor CURSOR FOR
OPEN datacursor;
FETCH NEXT FROM datacursor
@Name_last, @Name_first, @Name_mi, @Name_middle, @Name_suffix,
@Address1, @Address2, @City, @State, @ZipLong, @CountryCode;
INTO @Employer_code, @EmpNum, @StatusCode, @TermDate, @AdjHireDate,
WHILE @@FETCH_STATUS = 0
DECLARE @OrgId nchar(6), @CenturyAdjHireDate nchar(6), @ConvSuffix nchar(3),
@ZipDash nchar(10), @ConvCountryCode nchar(2);
--EXEC @OrgId = dbo.ufn_GetOrgId @Employer_code, @StatusCode, @TermDate;
EXEC @OrgId = dbo.ufn_GetOrgId02 @Employer_code, @EmpNum;
EXEC @CenturyAdjHireDate = dbo.ufn_Convert_ToCenturyDate @AdjHireDate;
EXEC @ConvSuffix = dbo.ufn_Convert_SuffixCode @Name_suffix;
EXEC @ConvCountryCode = dbo.ufn_Convert_CountryCode @CountryCode;
IF(LEN(RTRIM(LTRIM(@Name_middle))) = 0)
SET @Name_middle = @Name_mi;
BEGIN
END
IF(LEN(@Name_first) > 15)
SET @Name_first = SUBSTRING(@Name_first, 1, 15);
BEGIN
END
IF(LEN(@City)>20)
SET @City = SUBSTRING(@City, 1, 20);
BEGIN
END
SET @State = SUBSTRING(@State, 1, 2);
IF(LEN(@ZipLong) = 10)
SET @ZipDash = SUBSTRING(@ZipLong, 1, 5) + '-' + SUBSTRING(@ZipLong, 7, 4);
BEGIN
END
ELSE
SET @ZipDash = SUBSTRING(@ZipLong, 1, 5);
BEGIN
END
INSERT INTO dbo.Transaction_V
BEGIN
BEGIN
TransactionCursor_V
Thursday, December 12, 2013 3:23 PM
Procedures Page 113
INSERT INTO dbo.Transaction_V
OrgId,
Emp_no,
Century_adj_hire_date,
Name_last,
Name_first,
Name_middle,
Name_suffix,
City,
[State],
ZipCode,
CountryCode
(
)
VALUES
@OrgId,
@EmpNum,
@CenturyAdjHireDate,
@Name_last,
@Name_first,
@Name_middle,
@ConvSuffix,
@City,
@State,
@ZipDash,
@ConvCountryCode
(
)
SET @Employer_code = NULL;
SET @EmpNum = NULL;
SET @StatusCode = NULL;
SET @TermDate = NULL;
SET @AdjHireDate = NULL;
SET @Name_last = NULL;
SET @Name_first = NULL;
SET @Name_mi = NULL;
SET @Name_middle = NULL;
SET @Name_suffix = NULL;
SET @Address1 = NULL;
SET @Address2 = NULL;
SET @City = NULL;
SET @State = NULL;
SET @ZipLong = NULL;
SET @CountryCode = NULL;
SET @OrgId = NULL;
SET @ConvSuffix = NULL;
SET @ZipDash = NULL;
SET @ConvCountryCode = NULL;
FETCH NEXT FROM datacursor
@Name_last, @Name_first, @Name_mi, @Name_middle, @Name_suffix,
@Address1, @Address2, @City, @State, @ZipLong, @CountryCode;
INTO @Employer_code, @EmpNum, @StatusCode, @TermDate, @AdjHireDate,
END
CLOSE datacursor;
DEALLOCATE datacursor;
END
Procedures Page 114
/****** Object: StoredProcedure [dbo].[Update_GFSISSY17_CompanyNum] Script Date: 12/12/2013
15:23:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Update_GFSISSY17_CompanyNum]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.GFSISSY17_CompanyNum;
g17.Emp_no,
cnm.CompanyNumber,
g17.Relationship_code,
g17.Dependent_age,
g17.Dependents_dob,
g17.Dependents_ssno,
g17.Student_status,
g17.Dependents_last_name,
g17.Dependents_first_name,
g17.Dependents_mid_init,
g17.Dependents_gender,
g17.Dependent_no
LEFT OUTER JOIN [dbo].[CompanyNumber] AS cnm ON g17.Employer_code =
cnm.EmployerCode AND g17.Emp_no = cnm.EmpNum
FROM [dbo].[GFSISSY17] AS g17
SELECT g17.Employer_code,
INSERT INTO [dbo].[GFSISSY17_CompanyNum]
BEGIN
END
Update_GFSISSY17_CompanyNum
Thursday, December 12, 2013 3:23 PM
Procedures Page 115
/****** Object: StoredProcedure [dbo].[usp_Convert_ToDate] Script Date: 12/12/2013 15:24:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
@InDate nvarchar(20)
ALTER PROCEDURE [dbo].[usp_Convert_ToDate]
AS
DECLARE @InYear nvarchar(4), @InMonth nvarchar(2), @InDay nvarchar(2), @Outstring
nvarchar(10), @Outdate date;
SET @InDate = RTRIM(LTRIM(@InDate));
IF (LEN(@InDate) < 7)
RETURN NULL;
BEGIN
END
IF(LEN(@InDate) < 8)
SET @InYear = SUBSTRING(@InDate, 4, 4);
SET @InMonth = SUBSTRING (@InDate, 1, 1);
SET @InDay = SUBSTRING(@InDate, 2, 2);
BEGIN
END
ELSE
SET @InYear = SUBSTRING(@InDate, 5, 4);
SET @InMonth = SUBSTRING (@InDate, 1, 2);
SET @InDay = SUBSTRING(@InDate, 3, 2);
BEGIN
END
SET @Outstring = @InYear + '-' + @InMonth + '-' + @InDay;
SET @Outdate = @Outstring;
BEGIN TRY
END TRY
SET @Outdate = '9999-12-31';
BEGIN CATCH
END CATCH
SELECT @Outdate;
BEGIN
END
usp_Convert_ToDate
Thursday, December 12, 2013 3:24 PM
Procedures Page 116
/****** Object: StoredProcedure [dbo].[usp_GetDateType] Script Date: 12/12/2013 15:24:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
@InDate nvarchar(8)
ALTER PROCEDURE [dbo].[usp_GetDateType]
AS
DECLARE @InYear char(4), @InMonth char(2), @InDay char(2), @Outstring char(10), @Outdate
Date;
SET @InDate = RTRIM(LTRIM(@InDate));
IF (LEN(@InDate) < 7)
RETURN NULL;
BEGIN
END
IF(LEN(@InDate) < 8)
SET @InYear = SUBSTRING(@InDate, 4, 4);
SET @InMonth = SUBSTRING (@InDate, 1, 1);
SET @InDay = SUBSTRING(@InDate, 2, 2);
BEGIN
END
ELSE
SET @InYear = SUBSTRING(@InDate, 5, 4);
SET @InMonth = SUBSTRING (@InDate, 1, 2);
SET @InDay = SUBSTRING(@InDate, 3, 2);
BEGIN
END
SET @Outstring = @InYear + '-' + @InMonth + '-' + @InDay;
SET @Outdate = @Outstring;
SELECT @Outdate;
BEGIN
END
usp_GetDateType
Thursday, December 12, 2013 3:24 PM
Procedures Page 117
/****** Object: StoredProcedure [dbo].[usp_PopulateCompanyNumberTable] Script Date: 12/12/2013
15:25:04 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[usp_PopulateCompanyNumberTable]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.CompanyNumber;
DECLARE @Employer_code nchar(3), @EmpNum nvarchar(10), @Status_code nchar(5),
@CurTerm_date nvarchar(8), @InsertCnt int, @NoInsertCnt int, @TargetDate date, @CurrentDate
date;
SET @InsertCnt = 0;
SET @NoInsertCnt = 0;
SET @TargetDate = '2012-12-16'
PRINT @TargetDate;
FROM dbo.GFSISSY02 AS g02
SELECT g02.Employer_code, g02.Emp_no, g02.status_code, g02.cur_term_date
DECLARE datacursor CURSOR FOR
OPEN datacursor;
FETCH NEXT FROM datacursor
INTO @Employer_code, @EmpNum, @Status_code, @CurTerm_date;
WHILE @@FETCH_STATUS = 0
DECLARE @OrgId char(6), @CurrentYear char(4), @CurrentMonth varchar(2),
@CurrentDay char(2), @CurrentTempDate varchar(10), @CompanyNumber nvarchar(6);
SET @OrgId = NULL;
SET @CurrentYear = NULL;
SET @CurrentMonth = NULL;
SET @CurrentDay = NULL;
SET @CompanyNumber = NULL;
SET @CurTerm_date = RTRIM(LTRIM(@CurTerm_date));
IF(LEN(RTRIM(LTRIM(@CurTerm_date))) = 8)
SET @CurrentYear = CONVERT(int, SUBSTRING (@CurTerm_date, 5, 4));
SET @CurrentMonth = CONVERT(int, SUBSTRING(@CurTerm_date, 1, 2));
SET @CurrentDay = CONVERT(int, SUBSTRING (@CurTerm_date, 3,2));
SET @CurrentTempDate = @CurrentMonth + '/' + @CurrentDay + '/' + @CurrentYear;
SET @CurrentDate = @CurrentTempDate;
BEGIN
END
ELSE IF(LEN(RTRIM(LTRIM(@CurTerm_date))) = 7)
SET @CurTerm_date = '0' + @CurTerm_date;
SET @CurrentYear = CONVERT(int, SUBSTRING (@CurTerm_date, 5, 4));
SET @CurrentMonth = CONVERT(int, SUBSTRING(@CurTerm_date, 1, 2));
SET @CurrentDay = CONVERT(int, SUBSTRING (@CurTerm_date, 3,2));
SET @CurrentTempDate = @CurrentMonth + '/' + @CurrentDay + '/' + @CurrentYear;
SET @CurrentDate = @CurrentTempDate;
BEGIN
END
IF (@Employer_code = 'KBF')
IF(@Status_code IN ('EFT', 'EFTG', 'HFT', 'HFTG', 'NFT', 'NFTG'))
IF(RTRIM(LTRIM(@CurTerm_date)) = 0 OR @CurrentDate > @TargetDate)
SET @OrgId = '047C2F';
BEGIN
END
BEGIN
BEGIN
BEGIN
BEGIN
usp_PopulateCompanyNumberTable
Thursday, December 12, 2013 3:24 PM
Procedures Page 118
END
ELSE
SET @OrgId = '047C3F';
BEGIN
END
END
ELSE IF(RTRIM(LTRIM(@CurTerm_date)) = 0 OR @CurrentDate > @TargetDate)
SET @OrgId = '047C2K';
BEGIN
END
ELSE
SET @OrgId = '047C3K';
BEGIN
END
END
ELSE
IF(@Status_code IN ('EFT', 'EFTG', 'HFT', 'HFTG', 'NFT', 'NFTG'))
IF(RTRIM(LTRIM(@CurTerm_date)) = 0 OR @CurrentDate > @TargetDate)
SET @OrgId = '057D2F';
BEGIN
END
ELSE
SET @OrgId = '057D3F';
BEGIN
END
BEGIN
END
ELSE IF(RTRIM(LTRIM(@CurTerm_date)) = 0 OR @CurrentDate > @TargetDate)
SET @OrgId = '057D2K';
BEGIN
END
ELSE
SET @OrgId = '057D3K';
BEGIN
END
BEGIN
END
FROM dbo.CompanyNumber AS cnm
AND
cnm.EmpNum = @EmpNum
AND
cnm.StatusCode = @Status_code
AND
cnm.CurTermDate = @CurTerm_date
AND
cnm.CompanyNumber = @OrgId
WHERE cnm.EmployerCode = @Employer_code
SELECT @CompanyNumber = cnm.CompanyNumber
IF(@CompanyNumber IS NULL)
INSERT INTO dbo.CompanyNumber
EmployerCode,
EmpNum,
StatusCode,
CurTermDate,
CompanyNumber
(
)
VALUES
@Employer_code,
@EmpNum,
@Status_code,
@CurTerm_date,
@OrgId
(
BEGIN
Procedures Page 119
@OrgId
)
END
ELSE
PRINT '**Row not inserted: ' + CAST(@NoInsertCnt AS nvarchar(6)) + ';
EmployerCode: ' + @Employer_code + '; EmpNum: ' + @EmpNum + '; StatusCode: '
+ @Status_code + '; CurTermDate: ' + CAST(@CurTerm_date AS nvarchar) + ';
CompanyNumber: ' + @OrgId;
BEGIN
END
SET @Employer_code = NULL;
SET @Status_code = NULL;
SET @CurTerm_date = NULL;
INTO @Employer_code, @EmpNum, @Status_code, @CurTerm_date;
FETCH NEXT FROM datacursor
END
END
Procedures Page 120
/****** Object: StoredProcedure [dbo].[usp_PopulateGFSISSY24_GFSISSY25] Script Date: 12/12/2013
15:25:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[usp_PopulateGFSISSY24_GFSISSY25]
AS
SET NOCOUNT ON;
TRUNCATE TABLE dbo.GFSISSY24_GFSISSY25;
PRINT 'Inserting rows from GFSISSY24.';
INSERT INTO dbo.GFSISSY24_GFSISSY25
Origin,
Employer_code,
Emp_no,
code_type,
check_date,
period_end_date,
division_charged,
department_charged,
cost_center_charged,
checking_account,
check_number,
fiscal_year,
fiscal_month,
code,
priority_code,
old_division_code,
hours_paid,
actual_rate_paid,
base_rate,
amount_paid,
account_charged,
job_code_charged,
project_code_charged,
country,
[state],
GL_posted,
posting_flag,
position_code,
shift_code
(
g24.Employer_code,
g24.Emp_no,
g24.Income_code_type,
g24.check_date,
g24.period_end_date,
g24.division_charged,
g24.department_charged,
g24.cost_center_charged,
g24.checking_account,
g24.check_number,
g24.fiscal_year,
g24.fiscal_month ,
g24.code,
g24.priority_code,
SELECT '24',
)
BEGIN
usp_PopulateGFSISSY24_GFSISSY25
Thursday, December 12, 2013 3:25 PM
Procedures Page 121
g24.priority_code,
g24.old_division_code,
g24.hours_paid,
g24.actual_rate_paid,
g24.base_rate,
g24.amount_paid,
g24.account_charged,
g24.job_code_charged,
g24.project_code_charged,
g24.country,
g24.[state],
g24.GL_posted,
g24.posting_flag,
g24.position_code,
g24.shift_code
FROM dbo.GFSISSY24 AS g24
WHERE CAST(RIGHT(RTRIM(LTRIM(g24.check_date)),4) AS int) >= 2013;
PRINT 'Inserting rows from GFSISSY24 COMPLETE.';
PRINT 'Inserting rows from GFSISSY25.';
INSERT INTO dbo.GFSISSY24_GFSISSY25
Origin,
Employer_code,
Emp_no,
code_type,
employee_deduction,
employer_deduction,
check_date,
period_end_date,
division_charged,
department_charged,
cost_center_charged,
checking_account,
check_number,
code,
fiscal_year,
fiscal_month,
priority_code,
old_division_code
(
g25.Employer_code,
g25.Emp_no,
g25.deduction_code_type,
g25.employee_deduction,
g25.employer_deduction,
g25.check_date,
g25.period_end_date,
g25.division_charged,
g25.department_charged,
g25.cost_center_charged,
g25.checking_account,
g25.check_number,
g25.code,
g25. fiscal_year,
g25.fiscal_month,
g25.priority_code,
g25.old_division_code
FROM dbo.GFSISSY25 AS g25
WHERE CAST(RIGHT(RTRIM(LTRIM(g25.check_date)),4) AS int) >= 2013;
SELECT '25',
)
PRINT 'Inserting rows from GFSISSY25 COMPLETE.';
END
Procedures Page 122

Procedures

  • 1.
    /****** Object: StoredProcedure[dbo].[AddPrimaryKey_GFSISSY02] Script Date: 12/12/2013 14:59:49 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[AddPrimaryKey_GFSISSY02] AS ADD CONSTRAINT [EmployeeKey] PRIMARY KEY ([Employer_code], [Emp_no]); ALTER TABLE [KBF_Data].[dbo].[GFSISSY02] BEGIN END AddPrimaryKey_GFSISSY02 Thursday, December 12, 2013 2:28 PM Procedures Page 1
  • 2.
    /****** Object: StoredProcedure[dbo].[Analysis_GFSISSY26_DuplicateCheck] Script Date: 12/12/2013 15:00:17 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Analysis_GFSISSY26_DuplicateCheck] AS DROP TABLE #counts; DROP TABLE #RowsCounted; CREATE TABLE #counts Employer_code nvarchar(3), Emp_no nvarchar(10), Check_date nvarchar(10), Check_number int, Rowcnt int ( ) CREATE TABLE #RowsCounted Emp_no nvarchar(10), Employer_code nvarchar(3), Check_date nvarchar(10), Check_number int, Check_gross decimal(10,2), Check_net decimal(10,2) ( ) SELECT g26.[Employer_code] ,g26.[Emp_no] ,g26.[Check_date] ,g26.[Check_number] ,COUNT(*) AS 'rowcnt' FROM [KBF_Data].[dbo].[GFSISSY26] AS g26 GROUP BY [Employer_code] ,g26.[Emp_no] ,g26.[Check_date] ,g26.[Check_number] ORDER BY g26.[Emp_no], g26.[Employer_code], g26.[Check_date], g26.[Check_number]; INSERT INTO #counts @Emp_no nvarchar(10), @Check_date nvarchar(10), @Check_number int, @Rowcnt int; DECLARE @Employer_code nvarchar(3), FROM #counts SELECT Emp_no, Employer_code, Check_date, Check_number, Rowcnt DECLARE datacursor CURSOR FOR OPEN datacursor; INTO @Emp_no, @Employer_code, @Check_date, @Check_number, @Rowcnt; FETCH NEXT FROM datacursor WHILE @@FETCH_STATUS = 0 IF (@Rowcnt > 1) FROM [KBF_Data].[dbo].[GFSISSY26] AS b62g SELECT b62g.Emp_no, b62g.Employer_code, b62g.Check_date, b62g.Check_number, b62g.Check_gross, b62g.Check_net INSERT INTO #RowsCounted BEGIN BEGIN BEGIN Analysis_GFSISSY26_DuplicateCheck Thursday, December 12, 2013 3:00 PM Procedures Page 2
  • 3.
    FROM [KBF_Data].[dbo].[GFSISSY26] ASb62g AND b62g.[Employer_code] = @Employer_code AND b62g.[Check_date] = @Check_date AND b62g.[Check_number] = @Check_number WHERE b62g.[Emp_no] = @Emp_no END INTO @Emp_no, @Employer_code, @Check_date, @Check_number, @Rowcnt; FETCH NEXT FROM datacursor END CLOSE datacursor; DEALLOCATE datacursor; SELECT * FROM #RowsCounted; DROP TABLE #counts; DROP TABLE #RowsCounted; END Procedures Page 3
  • 4.
    /****** Object: StoredProcedure[dbo].[BulkInsert_GFSISSY02] Script Date: 12/12/2013 15:00:51 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= @datafile nvarchar(max), @formatfile nvarchar(max) ALTER PROCEDURE [dbo].[BulkInsert_GFSISSY02] AS --SET NOCOUNT ON; TRUNCATE TABLE [dbo].[GFSISSY02]; DECLARE @commandstring nvarchar(max); SET @commandstring = 'BULK INSERT [dbo].[GFSISSY02] FROM ''' + @datafile + ''' WITH ( FORMATFILE=''' + @formatfile + ''' );' EXEC sp_executesql @commandstring; BEGIN END BulkInsert_GFSISSY02 Thursday, December 12, 2013 3:00 PM Procedures Page 4
  • 5.
    /****** Object: StoredProcedure[dbo].[BulkInsert_GFSISSY92] Script Date: 12/12/2013 15:02:28 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= @datafile nvarchar(max), @formatfile nvarchar(max) ALTER PROCEDURE [dbo].[BulkInsert_GFSISSY92] AS BEGIN TRUNCATE TABLE [dbo].[GFSISSY92]; SET @commandstring = 'BULK INSERT [dbo].[GFSISSY92] FROM ''' + @datafile + ''' WITH ( FORMATFILE=''' + @formatfile + ''' );' EXEC sp_executesql @commandstring; DECLARE @commandstring nvarchar(max); END BulkInsert_GFSISSY92 Thursday, December 12, 2013 3:01 PM Procedures Page 5
  • 6.
    /****** Object: StoredProcedure[dbo].[GetErrorInfo] Script Date: 12/12/2013 15:03:01 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[GetErrorInfo] AS SET NOCOUNT ON; BEGIN SELECT ERROR_NUMBER() AS ErrorNumber, ERROR_SEVERITY() AS ErrorSeverity, ERROR_STATE() AS ErrorState, ERROR_PROCEDURE() AS ErrorProcedure, ERROR_LINE() AS ErrorLine, ERROR_MESSAGE() AS ErrorMessage; END GetErrorInfo Thursday, December 12, 2013 3:02 PM Procedures Page 6
  • 7.
    /****** Object: StoredProcedure[dbo].[log_event] Script Date: 12/12/2013 15:03:26 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO @ProcName nvarchar(50), @LogText nvarchar(max) ALTER PROCEDURE [dbo].[log_event] AS BEGIN SET NOCOUNT ON; DECLARE @logDate datetime; SET @logDate = SYSDATETIME(); IF @LogText IS NULL SET @LogText = 'UNDESCRIBED ERROR' BEGIN END VALUES (@logDate, @ProcName, @LogText) INSERT INTO [dbo].[EventLog] ([LogDate], [ProcName], [LogText]) BEGIN TRY END TRY VALUES (@logDate, '[dbo].[log_event]','Logging failure.') INSERT INTO [dbo].[EventLog] ([LogDate], [ProcName], [LogText]) BEGIN CATCH END CATCH END log_event Thursday, December 12, 2013 3:03 PM Procedures Page 7
  • 8.
    /****** Object: StoredProcedure[dbo].[Process_PhoneNumber] Script Date: 12/12/2013 15:03:52 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO @PhoneIn nvarchar(30) ALTER PROCEDURE [dbo].[Process_PhoneNumber] AS DECLARE @Areacode nchar(3), @Num1 nchar(3), @Num2 nchar(4), @Number nchar(8), @Extension nvarchar(30) SET @PhoneIn = RTRIM(LTRIM(@PhoneIn)); SET @PhoneIn = REPLACE(@PhoneIn, '.', ''); SET @PhoneIn = REPLACE(@PhoneIn, '-', ''); SET @PhoneIn = REPLACE(@PhoneIn, '(', ''); SET @PhoneIn = REPLACE(@PhoneIn, ')', ''); --SELECT @PhoneIn; IF(PATINDEX('1%', @PhoneIn) = 1) SET @PhoneIn = RIGHT(@PhoneIn, (LEN(@PhoneIn)-1)); BEGIN END ELSE IF (PATINDEX('001%', @PhoneIn) = 1) SET @PhoneIn = RIGHT(@PhoneIn, (LEN(@PhoneIn) - 3)); BEGIN END ELSE IF (PATINDEX('003%', @PhoneIn) = 1) SET @PhoneIn = RIGHT(@PhoneIn, (LEN(@PhoneIn) - 3)); BEGIN END --SELECT @PhoneIn; IF(LEN(@PhoneIn)>10) SET @Extension = RIGHT(@PhoneIn, (LEN(@PhoneIn) - 10)); SET @Areacode=LEFT(@PhoneIn, 3); SET @Number=SUBSTRING(RTRIM(@PhoneIn), 4, 7); BEGIN END ELSE SET @Areacode=LEFT(@PhoneIn, 3); SET @Number=SUBSTRING(RTRIM(@PhoneIn), 4, 7); BEGIN --END IF (LEN(@PhoneIn)=10) --ELSE --BEGIN END SET @Num1 = LEFT(@Number, 3); SET @Num2 = RIGHT(@Number, 5); SELECT @Areacode, @Num1 + '-' + @Num2, @Extension; BEGIN END Process_PhoneNumber Thursday, December 12, 2013 3:03 PM Procedures Page 8
  • 9.
    /****** Object: StoredProcedure[dbo].[Select_DirectDeposit] Script Date: 12/12/2013 15:04:18 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Select_DirectDeposit] AS BEGIN select SUBSTRING(gs14a.Emp_no,3,(LEN(gs14a.Emp_no)-2)) AS 'Emp_no', stuff(( select ',' + gs14b.Deduction_code from dbo.GFSISSY14 AS gs14b AND RTRIM(LTRIM(gs14b.Ytd_employee_amount)) != '.00' OR RTRIM(LTRIM(gs14b.Ytd_employer_amount)) != '.00' OR RTRIM(LTRIM(gs14b.Arrears_amount)) != '.00' OR RTRIM(LTRIM(gs14b.Begin_date)) != 0 AND RIGHT(RTRIM(LTRIM(gs14b.Begin_date)), 4) > 2012 AND LEFT(RTRIM(LTRIM(gs14b.Begin_date)), LEN(RTRIM(LTRIM(gs14b.Begin_date)))-6) > 4 AND LEFT(RIGHT(RTRIM(LTRIM(gs14b.Begin_date)), 6), 2) > 01 ( ) ( ) AND gs14b.Emp_no = gs14a.Emp_no where RTRIM(LTRIM(gs14b.Deduction_code)) IN ('DDCK', 'DDCU', 'DDFL1', 'DDFL2', 'DDFL3', 'DDPC1', 'DDSAV') order by gs14b.Deduction_code for xml path('') ),1,1,'') AS 'Deduction Codes' from dbo.GFSISSY14 AS gs14a AND RTRIM(LTRIM(gs14a.Ytd_employee_amount)) != '.00' OR RTRIM(LTRIM(gs14a.Ytd_employer_amount)) != '.00' OR RTRIM(LTRIM(gs14a.Arrears_amount)) != '.00' OR RTRIM(LTRIM(gs14a.Begin_date)) != 0 AND RIGHT(RTRIM(LTRIM(gs14a.Begin_date)), 4) > 2012 AND LEFT(RTRIM(LTRIM(gs14a.Begin_date)), LEN(RTRIM(LTRIM(gs14a.Begin_date)))-6) > 4 AND LEFT(RIGHT(RTRIM(LTRIM(gs14a.Begin_date)), 6), 2) > 01 ( ( WHERE RTRIM(LTRIM(gs14a.Deduction_code)) IN ('DDCK', 'DDCU', 'DDFL1', 'DDFL2', 'DDFL3', 'DDPC1', 'DDSAV') Select_DirectDeposit Thursday, December 12, 2013 3:04 PM Procedures Page 9
  • 10.
    LEFT(RIGHT(RTRIM(LTRIM(gs14a.Begin_date)), 6), 2)> 01 ) ) group by gs14a.Emp_no END Procedures Page 10
  • 11.
    /****** Object: StoredProcedure[dbo].[Select_Employees_Current_WithPayRateHireDatesSSN] Script Date: 12/12/2013 15:04:47 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Select_Employees_Current_WithPayRateHireDatesSSN] AS FROM GFSISSY02 AS g2 AND (RTRIM(LTRIM(g2.last_day_worked)) = 0 OR RIGHT(RTRIM(LTRIM(g2.last_day_worked)),4) = '2013') --(RTRIM(LTRIM(g2.cur_term_date)) = 0 OR RIGHT(RTRIM(LTRIM(g2.cur_term_date)),4) = '2013') WHERE RTRIM(LTRIM(g2.rate_frequency)) = 'H' ORDER BY RTRIM(LTRIM(g2.Last_name)), RTRIM(LTRIM(g2.First_name)), RTRIM(LTRIM(g2.MI)) SELECT RIGHT(RTRIM(LTRIM(g2.Emp_no)),7) AS 'Emp_no', RTRIM(LTRIM(g2.Employer_code)) AS 'Employer_code', RTRIM(LTRIM(g2.First_name)) + ' ' + RTRIM(LTRIM(g2.MI)) + ' ' + RTRIM(LTRIM(g2.Last_name)) AS 'Full_name', RTRIM(LTRIM(g2.soc_sec_no)) AS 'soc_sec_no', RTRIM(LTRIM(g2.cur_rate_of_pay)) AS 'cur_rate_of_pay', RTRIM(LTRIM(g2.adjusted_date_hire)) AS 'adjusted_date_hire', RTRIM(LTRIM(g2.last_day_worked)) AS 'last_day_worked'--, RTRIM(LTRIM(g2.cur_term_date)) AS 'cur_term_date' BEGIN END Select_Employees_Current_WithPayRateHireDatesSSN Thursday, December 12, 2013 3:04 PM Procedures Page 11
  • 12.
    /****** Object: StoredProcedure[dbo].[Select_Garnishments] Script Date: 12/12/2013 15:05:17 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Select_Garnishments] AS BEGIN select SUBSTRING(gs14a.Emp_no,3,(LEN(gs14a.Emp_no)-2)) AS 'Emp_no', stuff(( select ',' + gs14b.Deduction_code from dbo.GFSISSY14 AS gs14b AND RTRIM(LTRIM(gs14b.Ytd_employee_amount)) != '.00' OR RTRIM(LTRIM(gs14b.Ytd_employer_amount)) != '.00' OR RTRIM(LTRIM(gs14b.Arrears_amount)) != '.00' OR RTRIM(LTRIM(gs14b.Begin_date)) != 0 AND RIGHT(RTRIM(LTRIM(gs14b.Begin_date)), 4) > 2012 AND LEFT(RTRIM(LTRIM(gs14b.Begin_date)), LEN(RTRIM(LTRIM(gs14b.Begin_date)))-6) > 4 AND LEFT(RIGHT(RTRIM(LTRIM(gs14b.Begin_date)), 6), 2) > 01 ( ) ( ) AND gs14b.Emp_no = gs14a.Emp_no where RTRIM(LTRIM(gs14b.Deduction_code)) IN ('SUPP', 'BANK', 'GAR', 'GAR2', 'GAR4', 'GAR6', 'GAR7', 'IRS', 'SCH', 'STATE') order by gs14b.Deduction_code for xml path('') ),1,1,'') AS 'Deduction Codes' from dbo.GFSISSY14 AS gs14a WHERE AND RTRIM(LTRIM(gs14a.Ytd_employee_amount)) != '.00' OR RTRIM(LTRIM(gs14a.Ytd_employer_amount)) != '.00' OR RTRIM(LTRIM(gs14a.Arrears_amount)) != '.00' OR RTRIM(LTRIM(gs14a.Begin_date)) != 0 AND RIGHT(RTRIM(LTRIM(gs14a.Begin_date)), 4) > 2012 AND LEFT(RTRIM(LTRIM(gs14a.Begin_date)), LEN(RTRIM(LTRIM(gs14a.Begin_date)))-6) > 4 AND ( ( RTRIM(LTRIM(gs14a.Deduction_code)) IN ('SUPP', 'BANK', 'GAR', 'GAR2', 'GAR4', 'GAR6', 'GAR7', 'IRS', 'SCH', 'STATE') Select_Garnishments Thursday, December 12, 2013 3:05 PM Procedures Page 12
  • 13.
    AND LEFT(RIGHT(RTRIM(LTRIM(gs14a.Begin_date)), 6), 2)> 01 ) ) group by gs14a.Emp_no END Procedures Page 13
  • 14.
    /****** Object: StoredProcedure[dbo].[Select_GFSISSY26_CheckNet] Script Date: 12/12/2013 15:05:40 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO @Emp_no nvarchar(10) ,@Employer_code nvarchar(3) ,@Check_date nvarchar(10) ,@Check_number int ALTER PROCEDURE [dbo].[Select_GFSISSY26_CheckNet] AS SELECT gf.[Check_net] FROM [dbo].[GFSISSY26] AS gf AND RTRIM(LTRIM(gf.[Employer_code])) = RTRIM(LTRIM(@Employer_code)) AND RTRIM(LTRIM(gf.Check_date)) = RTRIM(LTRIM(@Check_date)) AND RTRIM(LTRIM(gf.Check_number)) = RTRIM(LTRIM(@Check_number)) WHERE RTRIM(LTRIM(gf.Emp_no)) = RTRIM(LTRIM(@Emp_no)) BEGIN END Select_GFSISSY26_CheckNet Thursday, December 12, 2013 3:05 PM Procedures Page 14
  • 15.
    /****** Object: StoredProcedure[dbo].[Select_PayrollTesting] Script Date: 12/12/2013 15:06:06 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Select_PayrollTesting] AS RTRIM(LTRIM(g.[Emp_no])), RTRIM(LTRIM(c.[CompanyNumber])), RTRIM(LTRIM(g.[Amount_paid])), RTRIM(LTRIM(g.[Hours_paid])), RTRIM(LTRIM(g.[Income_code_type])), RTRIM(LTRIM(i.[HED])), LEFT(RTRIM(LTRIM(g.[Period_end_date])), LEN(RTRIM(LTRIM(g.[Period_end_date])))-6) + LEFT(RIGHT(RTRIM(LTRIM(g.[Period_end_date])), 6),2), RTRIM(LTRIM(g.[Division_charged])), RTRIM(LTRIM(g.[Cost_center_charged])), RTRIM(LTRIM(g.[Department_charged])), REPLACE(SUBSTRING(RTRIM(LTRIM(g.[Account_charged])),10, 4) + SUBSTRING(RTRIM(LTRIM(g.[Account_charged])),15, 4),'-', '') LEFT OUTER JOIN [dbo].[CompanyNumber] AS c ON c.[EmpNum] = g.[Emp_no] AND c.[EmployerCode] = g.[Employer_code] LEFT OUTER JOIN [dbo].[Inc_To_HED_No] AS i ON i.[EMPLOYER] = g.[Employer_code] AND i.[INCOME CODE]= g.[Income_code_type] FROM [KBF_Data].[dbo].[GFSISSY92] AS g WHERE g.[Posting_flag] = '0' ORDER BY RTRIM(LTRIM(g.[Emp_no])), RTRIM(LTRIM(c.[CompanyNumber])) SELECT BEGIN END Select_PayrollTesting Thursday, December 12, 2013 3:06 PM Procedures Page 15
  • 16.
    /****** Object: StoredProcedure[dbo].[Select_Tables_Columns] Script Date: 12/12/2013 15:06:25 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Select_Tables_Columns] AS FROM INFORMATION_SCHEMA.COLUMNS ORDER BY TABLE_NAME SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE --DECLARE @counter int, @tablename nvarchar(20); --DECLARE tablecursor CURSOR FOR -- SELECT TABLE_NAME -- FROM [INFORMATION_SCHEMA].[TABLES] -- ORDER BY TABLE_NAME --OPEN tablecursor; --FETCH NEXT FROM tablecursor -- INTO @tablename; --WHILE @@FETCH_STATUS = 0 --BEGIN -- SELECT @tablename; -- SELECT COLUMN_NAME, DATA_TYPE -- FROM INFORMATION_SCHEMA.COLUMNS -- WHERE TABLE_NAME = @tablename -- FETCH NEXT FROM tablecursor -- INTO @tablename; --END BEGIN END Select_Tables_Columns Thursday, December 12, 2013 3:06 PM Procedures Page 16
  • 17.
    /****** Object: StoredProcedure[dbo].[Select_Tables_RowCount] Script Date: 12/12/2013 15:06:54 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Select_Tables_RowCount] AS (SELECT COUNT(*) FROM [dbo].[GFSISSY02]) AS 'GFSISSY02', (SELECT COUNT(*) FROM [dbo].[GFSISSY03]) AS 'GFSISSY03', (SELECT COUNT(*) FROM [dbo].[GFSISSY04]) AS 'GFSISSY04', (SELECT COUNT(*) FROM [dbo].[GFSISSY05]) AS 'GFSISSY05', (SELECT COUNT(*) FROM [dbo].[GFSISSY06]) AS 'GFSISSY06', (SELECT COUNT(*) FROM [dbo].[GFSISSY08]) AS 'GFSISSY08', (SELECT COUNT(*) FROM [dbo].[GFSISSY10]) AS 'GFSISSY10', (SELECT COUNT(*) FROM [dbo].[GFSISSY11]) AS 'GFSISSY11', (SELECT COUNT(*) FROM [dbo].[GFSISSY13]) AS 'GFSISSY13', (SELECT COUNT(*) FROM [dbo].[GFSISSY14]) AS 'GFSISSY14', (SELECT COUNT(*) FROM [dbo].[GFSISSY15]) AS 'GFSISSY15', (SELECT COUNT(*) FROM [dbo].[GFSISSY16]) AS 'GFSISSY16', (SELECT COUNT(*) FROM [dbo].[GFSISSY17]) AS 'GFSISSY17', (SELECT COUNT(*) FROM [dbo].[GFSISSY17_CompanyNum]) AS 'GFSISSY17 _CompanyNum', (SELECT COUNT(*) FROM [dbo].[GFSISSY18]) AS 'GFSISSY18', (SELECT COUNT(*) FROM [dbo].[GFSISSY19]) AS 'GFSISSY19', (SELECT COUNT(*) FROM [dbo].[GFSISSY20]) AS 'GFSISSY20', (SELECT COUNT(*) FROM [dbo].[GFSISSY21]) AS 'GFSISSY21', (SELECT COUNT(*) FROM [dbo].[GFSISSY22]) AS 'GFSISSY22', (SELECT COUNT(*) FROM [dbo].[GFSISSY23]) AS 'GFSISSY23', (SELECT COUNT(*) FROM [dbo].[GFSISSY24]) AS 'GFSISSY24', (SELECT COUNT(*) FROM [dbo].[GFSISSY25]) AS 'GFSISSY25', (SELECT COUNT(*) FROM [dbo].[GFSISSY24_GFSISSY25]) AS 'GFSISSY24 _GFSISSY25', (SELECT COUNT(*) FROM [dbo].[GFSISSY26]) AS 'GFSISSY26', (SELECT COUNT(*) FROM [dbo].[GFSISSY45]) AS 'GFSISSY45', (SELECT COUNT(*) FROM [dbo].[GFSISSY56]) AS 'GFSISSY56', (SELECT COUNT(*) FROM [dbo].[GFSISSY92]) AS 'GFSISSY92'; SELECT (SELECT COUNT(*) FROM [dbo].[Benefits_MedicalDentalVision]) AS 'Benefits_MedicalDentalVision', (SELECT COUNT(*) FROM [dbo].[CompanyNumber]) AS 'CompanyNumber', (SELECT COUNT(*) FROM [dbo].[Inc_and_Deduct_To_HED_Nos]) AS 'Inc/DeductToHEDNo', (SELECT COUNT(*) FROM [dbo].[Inc_To_HED_No]) AS 'Inc_To_HED_No', (SELECT COUNT(*) FROM [dbo].[LanguageCodeConversions]) AS 'LanguageCodeConversions', (SELECT COUNT(*) FROM [dbo].[Relationship_Codes_Used]) AS 'Relationship_Codes_Used'; SELECT BEGIN (SELECT COUNT(*) FROM [dbo].[Transaction_10]) AS 'Transaction_10', (SELECT COUNT(*) FROM [dbo].[Transaction_16]) AS 'Transaction_16', (SELECT COUNT(*) FROM [dbo].[Transaction_E]) AS 'Transaction_E', (SELECT COUNT(*) FROM [dbo].[Transaction_F]) AS 'Transaction_F', (SELECT COUNT(*) FROM [dbo].[Transaction_H9]) AS 'Transaction_H', (SELECT COUNT(*) FROM [dbo].[Transaction_H9]) AS 'Transaction_H9', SELECT Select_Tables_RowCount Thursday, December 12, 2013 3:06 PM Procedures Page 17
  • 18.
    (SELECT COUNT(*) FROM[dbo].[Transaction_H9]) AS 'Transaction_H9', (SELECT COUNT(*) FROM [dbo].[Transaction_HD]) AS 'Transaction_HD', (SELECT COUNT(*) FROM [dbo].[Transaction_HE]) AS 'Transaction_HE', (SELECT COUNT(*) FROM [dbo].[Transaction_J]) AS 'Transaction_J', (SELECT COUNT(*) FROM [dbo].[Transaction_K_Unique]) AS 'Transaction_K', (SELECT COUNT(*) FROM [dbo].[Transaction_LLM]) AS 'Transaction_LLK', (SELECT COUNT(*) FROM [dbo].[Transaction_LLM]) AS 'Transaction_LLM', (SELECT COUNT(*) FROM [dbo].[Transaction_LOD]) AS 'Transaction_LOD', (SELECT COUNT(*) FROM [dbo].[Transaction_LQ1]) AS 'Transaction_LQ', (SELECT COUNT(*) FROM [dbo].[Transaction_LZ4]) AS 'Transaction_LZ4', (SELECT COUNT(*) FROM [dbo].[Transaction_LZA]) AS 'Transaction_LZA', (SELECT COUNT(*) FROM [dbo].[Transaction_LZB]) AS 'Transaction_LZB', (SELECT COUNT(*) FROM [dbo].[Transaction_LZN]) AS 'Transaction_LZN', (SELECT COUNT(*) FROM [dbo].[Transaction_V]) AS 'Transaction_V'; END Procedures Page 18
  • 19.
    /****** Object: StoredProcedure[dbo].[Select_Transaction_10] Script Date: 12/12/2013 15:11:41 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Select_Transaction_10] AS BEGIN SELECT [CompanyNumber], [ProgramField], [Emp_no], [Employer_code], [Dependent_no], [Dependent_name], [Relationship_code], [Dependent_gender], [Dependent_dob], [Dependent_ssn] FROM [KBF_Data].[dbo].[Transaction_10] ORDER BY [Emp_no], [Employer_code] END Select_Transaction_10 Thursday, December 12, 2013 3:11 PM Procedures Page 19
  • 20.
    /****** Object: StoredProcedure[dbo].[Select_Transaction_V] Script Date: 12/12/2013 15:12:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Select_Transaction_V] AS SELECT * FROM [dbo].[Transaction_V] BEGIN END Select_Transaction_V Thursday, December 12, 2013 3:12 PM Procedures Page 20
  • 21.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_10] Script Date: 12/12/2013 15:13:01 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_10] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_10; @DpndName_middle nvarchar(15), @InRelation nchar(2), @DpndGender nchar(1), @DpndDob nchar(10), @DpndSsn nchar(9), @StatusCode nchar(5), @TermDate nvarchar(8); DECLARE @EmployerCode nchar(3), @EmpNum nchar(9), @DpndNum nchar(3), @DpndName_last nvarchar(15), @DpndName_first nvarchar(15), RTRIM(LTRIM(g17.Emp_no)), RTRIM(LTRIM(g17.Dependent_no)), RTRIM(LTRIM(g17.Dependents_last_name)), RTRIM(LTRIM(g17.Dependents_first_name)), RTRIM(LTRIM(g17.Dependents_mid_init)), RTRIM(LTRIM(g17.Relationship_code)), RTRIM(LTRIM(g17.Dependents_gender)), RTRIM(LTRIM(g17.Dependents_dob)), RTRIM(LTRIM(g17.Dependents_ssno)), RTRIM(LTRIM(g02.status_code)), RTRIM(LTRIM(g02.cur_term_date)) LEFT JOIN dbo.GFSISSY02 AS g02 ON g02.Employer_code = g17.Employer_code AND g02.Emp_no = g17.Emp_no FROM dbo.GFSISSY17 AS g17 OR LEN(RTRIM(LTRIM(g17.Dependents_first_name))) > 0 OR LEN(RTRIM(LTRIM(g17.Dependents_mid_init))) > 0 ; WHERE LEN(RTRIM(LTRIM(g17.Dependents_last_name))) > 0 SELECT RTRIM(LTRIM(g17.Employer_code)), DECLARE datacursor CURSOR FOR OPEN datacursor; FETCH NEXT FROM datacursor @DpndName_middle, @InRelation, @DpndGender, @DpndDob, @DpndSsn, @StatusCode, @TermDate; INTO @EmployerCode, @EmpNum, @DpndNum, @DpndName_last, @DpndName_first, WHILE @@FETCH_STATUS = 0 DECLARE @OrgId nchar(6), @FullName nvarchar(30), @OutRelation nchar(2); EXEC @OrgId = dbo.ufn_GetOrgId02 @EmployerCode, @EmpNum; WHILE(LEN(@DpndNum)<3) SET @DpndNum = '0' + @DpndNum; BEGIN END IF(LEN(@DpndName_last) != 0) IF(LEN(@DpndName_first) != 0) IF(LEN(@DpndName_middle) != 0) SET @FullName = @DpndName_last + ', ' + @DpndName_first + ' ' + @DpndName_middle; BEGIN END ELSE BEGIN BEGIN BEGIN BEGIN TransactionCursor_10 Thursday, December 12, 2013 3:12 PM Procedures Page 21
  • 22.
    ELSE SET @FullName =@DpndName_last + ', ' + @DpndName_first; BEGIN END END ELSE IF(LEN(@DpndName_middle) != 0) SET @FullName = @DpndName_last + ', ' + @DpndName_middle; BEGIN END ELSE SET @FullName = @DpndName_last; BEGIN END BEGIN END END ELSE IF(LEN(@DpndName_first) != 0) IF(LEN(@DpndName_middle) != 0) SET @FullName = @DpndName_first + ' ' + @DpndName_middle; BEGIN END ELSE SET @FullName = @DpndName_first; BEGIN END BEGIN END ELSE IF(LEN(@DpndName_middle) != 0) SET @FullName = @DpndName_middle; BEGIN END ELSE SET @FullName = ''; BEGIN END BEGIN END BEGIN END FROM dbo.Relationship_Codes_Used AS rcu WHERE rcu.CODE=@InRelation; SELECT @OutRelation = rcu.CyborgCode IF(LEN(@DpndGender)=0) SET @DpndGender='U'; BEGIN END IF(LEN(@DpndDob)>1) WHILE(LEN(@DpndDob)<8) SET @DpndDob = '0' + @DpndDob; BEGIN END SET @DpndDob = LEFT(@DpndDob, 2) + '-' + SUBSTRING(@DpndDob, 3, 2) + '-' + SUBSTRING(@DpndDob, 5, 4); BEGIN END ELSE SET @DpndDob = ''; BEGIN END SET @DpndSsn = REPLACE(@DpndSsn, '.', ''); INSERT INTO dbo.Transaction_10 ( Procedures Page 22
  • 23.
  • 24.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_16] Script Date: 12/12/2013 15:13:30 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_16] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_16; @ContactNo_main nchar(30), @ContactNo_office nchar(30), @ContactNo_cell nchar(30), @OrgId nchar(6); DECLARE @EmployerCode nchar(3), @EmpNum nchar(9), @EmergencyContactIn nchar(50), RTRIM(LTRIM(gs22.Emp_no)), RTRIM(LTRIM(gs22.Emergency_contact_name)), RTRIM(LTRIM(gs22.Emergency_contact_no)), RTRIM(LTRIM(gs22.Emergency_contact_no_office_phone)), RTRIM(LTRIM(gs22.Emergency_contact_no_cell_phone)), cnm.CompanyNumber --LEFT JOIN [dbo].[GFSISSY02] AS gs02 ON gs02.Employer_code = gs22.Employer_code AND gs02.Emp_no = gs22.Emp_no LEFT JOIN [dbo].[CompanyNumber] AS cnm ON gs22.Employer_code = cnm.EmployerCode AND gs22.Emp_no = cnm.EmpNum FROM dbo.GFSISSY22 AS gs22 ORDER BY gs22.Emp_no, gs22.Employer_code SELECT RTRIM(LTRIM(gs22.Employer_code)), DECLARE datacursor CURSOR FOR OPEN datacursor; FETCH NEXT FROM datacursor @ContactNo_main, @ContactNo_office, @ContactNo_cell, @OrgId; INTO @EmployerCode, @EmpNum, @EmergencyContactIn, WHILE @@FETCH_STATUS = 0 @NameSpace int, @Name1 nvarchar(20), @Name2 nvarchar(20), @Name3 nvarchar(20), @Name4 nvarchar(20), @AreaCode nchar(3), @Phonenum nchar(8), @Extention nvarchar(30); DECLARE @EmergencyKey nchar(3), @EmergencyContactOut nvarchar(30), @ContactTemp nchar(30), SET @EmpNum = RIGHT(@EmpNum, 7); IF(@EmergencyContactIn IS NOT NULL) SET @ContactTemp = @EmergencyContactIn; SET @NameSpace = CHARINDEX(' ', @EmergencyContactIn); IF (@NameSpace > 1) SET @Name1 = RTRIM(LTRIM(SUBSTRING(@EmergencyContactIn, 1, @NameSpace))); IF(LEN(@EmergencyContactIn) > @NameSpace) SET @EmergencyContactIn = RTRIM(LTRIM(SUBSTRING(@EmergencyContactIn, @NameSpace+1, (LEN(@EmergencyContactIn) - @NameSpace)))); SET @NameSpace = CHARINDEX(' ', @EmergencyContactIn); IF(@NameSpace > 1) SET @Name2 = RTRIM(LTRIM(SUBSTRING(@EmergencyContactIn, 1, @NameSpace))); BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN TransactionCursor_16 Thursday, December 12, 2013 3:13 PM Procedures Page 24
  • 25.
    @NameSpace))); IF(LEN(@EmergencyContactIn) > @NameSpace) SET@EmergencyContactIn = RTRIM(LTRIM(SUBSTRING(@EmergencyContactIn, @NameSpace+1, (LEN(@EmergencyContactIn) - @NameSpace)))); SET @NameSpace = CHARINDEX(' ', @EmergencyContactIn); IF(@NameSpace > 1) SET @Name3 = RTRIM(LTRIM(SUBSTRING(@EmergencyContactIn, 1, @NameSpace))); IF(LEN(@EmergencyContactIn) > @NameSpace) SET @EmergencyContactIn = RTRIM(LTRIM(SUBSTRING(@EmergencyContac tIn, @NameSpace+1, (LEN(@EmergencyContactIn) - @NameSpace)))); IF(LEN(@EmergencyContactIn) > 0) SET @Name4 = RTRIM(LTRIM(@EmergencyContactIn)); BEGIN END BEGIN END BEGIN END ELSE SET @Name3 = @EmergencyContactIn; BEGIN END BEGIN END END ELSE SET @Name2 = @EmergencyContactIn; BEGIN END END END ELSE SET @Name1 = @EmergencyContactIn; BEGIN END END IF(LEN(@Name1) > 0) IF(LEN(@Name2)>0) IF(LEN(@Name3)>0) IF(LEN(@Name4)>0) IF(@Name2 IN ('AND', 'OR')) SET @Name1 = @Name1 + ' ' + @Name2 + ' ' + @Name3; SET @EmergencyContactOut = @Name4 + ', ' + @Name1; BEGIN END ELSE IF(@Name2 IN ('DE', 'DEL', 'LA', 'MC', 'VAN')) SET @EmergencyContactOut = @Name2 + ' ' + @Name3 + ' ' + @Name4 + ', ' + @Name1; BEGIN END ELSE IF(@Name3 IN ('DE', 'DEL', 'LA', 'MC', 'VAN') OR @Name4 IN ('JR', 'SR', 'II', 'III')) BEGIN BEGIN BEGIN BEGIN BEGIN Procedures Page 25
  • 26.
    SET @EmergencyContactOut =@Name3 + ' ' + @Name4 + ', ' + @Name1 + ' ' +@Name2; BEGIN END ELSE SET @EmergencyContactOut = @Name4 + ', ' + @Name1 + ' ' + @Name2 + ' ' + @Name3; --SELECT @ContactTemp, @EmergencyContactOut; BEGIN END END ELSE IF(@Name2 IN ('AND', 'OR')) SET @EmergencyContactOut = @Name1 + ' ' + @Name2 + ' ' + @Name3; BEGIN END ELSE IF(@Name2 IN ('DE', 'DEL', 'LA', 'MC', 'VAN')) SET @EmergencyContactOut = @Name2 + ' ' + @Name3 + ', ' + @Name1; BEGIN END ELSE IF(@Name3 IN ('JR', 'SR', 'II', 'III')) SET @EmergencyContactOut = @Name2 + ' ' + @Name3 + ', ' + @Name1; --SELECT @ContactTemp, @EmergencyContactOut; BEGIN END ELSE SET @EmergencyContactOut = @Name3 + ', ' + @Name1 + ' ' + @Name2; --SELECT @ContactTemp, @EmergencyContactOut; BEGIN END BEGIN END END ELSE SET @EmergencyContactOut = @Name2 + ', ' + @Name1; BEGIN END END ELSE SET @EmergencyContactOut = @Name1; BEGIN END END IF (LEN(@ContactNo_cell) >= 1) SET @ContactNo_cell=RTRIM(LTRIM(LEFT(@ContactNo_cell, LEN(@ContactNo_cell)-1))); BEGIN END IF(LEN(@ContactNo_main)>= 1) SET @EmergencyKey = '001'; Areacode nchar(3), Number nchar(8), Extension nvarchar(30) ( ) CREATE TABLE #temptable1 INSERT INTO #temptable1 EXEC dbo.Process_PhoneNumber @ContactNo_main; FROM #temptable1 AS tmp SELECT @AreaCode=tmp.Areacode, @Phonenum=tmp.Number, @Extention=tmp.Extension BEGIN Procedures Page 26
  • 27.
    FROM #temptable1 AStmp DROP TABLE #temptable1 INSERT INTO dbo.Transaction_16 [CompanyNumber], [ProgramField], [EmpNum], [EmergencyKey], [ContactIn], [EmergencyContact], [PhoneIn], [EmergencyAreaCode], [EmergencyPhoneNum], [ContactAddress1] ( ) VALUES @OrgId, '16-SCR', @EmpNum, @EmergencyKey, @ContactTemp, @EmergencyContactOut, @ContactNo_main, @AreaCode, @Phonenum, @Extention ( ) SET @EmergencyKey=NULL; SET @AreaCode=NULL; SET @Phonenum=NULL; SET @Extention=NULL; END ELSE IF (LEN(@ContactNo_office)= 0 AND LEN(@ContactNo_cell)= 0) SET @EmergencyKey = '001'; INSERT INTO dbo.Transaction_16 [CompanyNumber], [ProgramField], [EmpNum], [EmergencyKey], [ContactIn], [EmergencyContact], [PhoneIn], [EmergencyAreaCode], [EmergencyPhoneNum], [ContactAddress1] ( ) VALUES @OrgId, '16-SCR', @EmpNum, @EmergencyKey, @ContactTemp, @EmergencyContactOut, @ContactNo_main, '', '', '' ( ) SET @EmergencyKey=NULL; SET @AreaCode=NULL; SET @Phonenum=NULL; BEGIN Procedures Page 27
  • 28.
    SET @Phonenum=NULL; SET @Extention=NULL; END IF(LEN(@ContactNo_office)>=1) SET @EmergencyKey = '002'; Areacode nchar(3), Number nchar(8), Extension nvarchar(30) ( ) CREATE TABLE #temptable2 INSERT INTO #temptable2 EXEC dbo.Process_PhoneNumber @ContactNo_office; FROM #temptable2 AS tmp SELECT @AreaCode=tmp.Areacode, @Phonenum=tmp.Number, @Extention=tmp.Extension DROP TABLE #temptable2 IF(@Extention IS NOT NULL) SET @Extention = 'office number; ' + @Extention; BEGIN END ELSE SET @Extention = 'office number'; BEGIN END INSERT INTO dbo.Transaction_16 [CompanyNumber], [ProgramField], [EmpNum], [EmergencyKey], [ContactIn], [EmergencyContact], [PhoneIn], [EmergencyAreaCode], [EmergencyPhoneNum], [ContactAddress1] ( ) VALUES @OrgId, '16-SCR', @EmpNum, @EmergencyKey, @ContactTemp, @EmergencyContactOut, @ContactNo_office, @AreaCode, @Phonenum, @Extention ( ) SET @EmergencyKey=NULL; SET @AreaCode=NULL; SET @Phonenum=NULL; SET @Extention=NULL; BEGIN END IF(LEN(@ContactNo_cell)>= 1) SET @EmergencyKey = '003'; Areacode nchar(3), Number nchar(8), Extension nvarchar(30) ( ) CREATE TABLE #temptable3 BEGIN Procedures Page 28
  • 29.
    ) INSERT INTO #temptable3EXEC dbo.Process_PhoneNumber @ContactNo_cell; FROM #temptable3 AS tmp SELECT @AreaCode=tmp.Areacode, @Phonenum=tmp.Number, @Extention=tmp.Extension DROP TABLE #temptable3 IF(@Extention IS NOT NULL) SET @Extention = 'cell number; ' + @Extention; BEGIN END ELSE SET @Extention = 'cell number'; BEGIN END INSERT INTO dbo.Transaction_16 [CompanyNumber], [ProgramField], [EmpNum], [EmergencyKey], [ContactIn], [EmergencyContact], [PhoneIn], [EmergencyAreaCode], [EmergencyPhoneNum], [ContactAddress1] ( ) VALUES @OrgId, '16-SCR', @EmpNum, @EmergencyKey, @ContactTemp, @EmergencyContactOut, @ContactNo_cell, @AreaCode, @Phonenum, @Extention ( ) SET @EmergencyKey=NULL; SET @AreaCode=NULL; SET @Phonenum=NULL; SET @Extention=NULL; END SET @EmployerCode = NULL; SET @EmpNum = NULL; SET @OrgId = NULL; SET @EmergencyKey = NULL; SET @EmergencyContactIn = NULL; SET @NameSpace = NULL; SET @Name1 = NULL; SET @Name2 = NULL; SET @Name3 = NULL; SET @Name4 = NULL; SET @EmergencyContactOut = NULL; @ContactNo_main, @ContactNo_office, @ContactNo_cell, @OrgId; INTO @EmployerCode, @EmpNum, @EmergencyContactIn, FETCH NEXT FROM datacursor END CLOSE datacursor; DEALLOCATE datacursor; END Procedures Page 29
  • 30.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_E] Script Date: 12/12/2013 15:14:02 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_E] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_E; @EthnicCode nchar(1), @DoB nchar(8), @HireDate nchar(8); DECLARE @EmployerCode nchar(3), @EmpNum nchar(9), @StatusCode nchar(5), @TermDate nchar(8), @SocSecNum nchar(9), @Gender nvarchar(1), gs2.Date_of_Birth, gs2.adjusted_date_hire FROM dbo.GFSISSY02 AS gs2 SELECT gs2.Employer_code, gs2.Emp_no, gs2.status_code, gs2.cur_term_date, gs2.soc_sec_no, gs2.Gender, gs2.Ethnic_code, DECLARE datacursor CURSOR FOR OPEN datacursor; FETCH NEXT FROM datacursor @EthnicCode, @DoB, @HireDate; INTO @EmployerCode, @EmpNum, @StatusCode, @TermDate, @SocSecNum, @Gender, WHILE @@FETCH_STATUS = 0 DECLARE @OrgId char(6), @SSN char(11), @PayDate char(1), @SexCode char(1), @RaceCode char(2), @CenturyDoB char(6), @CenturyHireDate char(6), @CenturyTermDate char(6); --EXEC @OrgId = dbo.ufn_GetOrgId @EmployerCode, @StatusCode, @TermDate; EXEC @OrgId = dbo.ufn_GetOrgId02 @EmployerCode, @EmpNum; EXEC @SSN = dbo.ufn_Format_SSN @SocSecNum; EXEC @PayDate = dbo.ufn_GetPaymentCode @StatusCode; --EXEC @SexCode = dbo EXEC @RaceCode = dbo.ufn_Convert_RaceCode @EthnicCode; EXEC @CenturyDoB = dbo.ufn_Convert_ToCenturyDate @DoB; EXEC @CenturyHireDate = dbo.ufn_Convert_ToCenturyDate @HireDate; EXEC @CenturyTermDate = dbo.ufn_Convert_ToCenturyDate @TermDate; SET @EmpNum = SUBSTRING(@EmpNum, 3, 7); INSERT INTO dbo.Transaction_E ( OrgId, Employer_code, Emp_no, Status_code, Current_term_date, SSN, Pay_frequency_code, Payment_code, Gender, Sex_code, Ethnic_code, Race_code, BirthDate, Century_birth_date, adj_hire_date, Century_adj_hire_date, Century_term_date ) VALUES ( BEGIN BEGIN TransactionCursor_E Thursday, December 12, 2013 3:13 PM Procedures Page 30
  • 31.
    ( @OrgId, @EmployerCode, @EmpNum, @StatusCode, @TermDate, @SSN, '2', @PayDate, @Gender, @Gender, @EthnicCode, @RaceCode, @DoB, @CenturyDoB, @HireDate, @CenturyHireDate, @CenturyTermDate ) SET @OrgId =NULL; SET @EmployerCode = NULL; SET @EmpNum = NULL; SET @StatusCode = NULL; SET @TermDate = NULL; SET @SSN = NULL; SET @PayDate = NULL; SET @Gender = NULL; SET @EthnicCode = NULL; SET @RaceCode = NULL; SET @DoB = NULL; SET @CenturyDoB = NULL; SET @HireDate = NULL; SET @CenturyHireDate = NULL; SET @CenturyTermDate = NULL; FETCH NEXT FROM datacursor @EthnicCode, @DoB, @HireDate; INTO @EmployerCode, @EmpNum, @StatusCode, @TermDate, @SocSecNum, @Gender, END END Procedures Page 31
  • 32.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_F] Script Date: 12/12/2013 15:14:24 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_F] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_F; @Name_last nchar(18), @Name_first nchar(18), @Name_mi nchar(1), @Name_middle nchar(15), @Address1 nchar(30), @Address2 nchar(30), @City nchar(30), @State nchar(3), @ZipLong nchar(10) DECLARE @Employer_code nchar(3), @EmpNum nchar(9), @StatusCode nchar(5), @TermDate nchar(8), gs2.Last_name, gs2.First_name, gs2.MI, gs2.Middle_name, gs2.Street_addr1, gs2.Street_addr2, gs2.City, gs2.[State/Province], gs2.Zip FROM dbo.GFSISSY02 AS gs2; SELECT gs2.Employer_code, gs2.Emp_no, gs2.status_code, gs2.cur_term_date, DECLARE datacursor CURSOR FOR OPEN datacursor; FETCH NEXT FROM datacursor @Name_last, @Name_first, @Name_mi, @Name_middle, @Address1, @Address2, @City, @State, @ZipLong; INTO @Employer_code, @EmpNum, @StatusCode, @TermDate, WHILE @@FETCH_STATUS = 0 DECLARE @OrgId nchar(6), @Name_full nchar(30), @CityState nchar(25), @ZipShort nchar(5); --EXEC @OrgId = dbo.ufn_GetOrgId @Employer_code, @StatusCode, @TermDate; EXEC @OrgId = dbo.ufn_GetOrgId02 @Employer_code, @EmpNum; SET @Name_full = LTRIM(RTRIM(@Name_last)) + ', ' + LTRIM(RTRIM(@Name_first)); IF(@Name_middle IS NOT NULL) SET @Name_full = @Name_full + ' ' + @Name_middle; BEGIN END ELSE SET @Name_full = @Name_full + ' ' + @Name_mi; BEGIN END IF(LEN(LTRIM(RTRIM(@City))) > 25) SET @CityState = SUBSTRING(LTRIM(RTRIM(@City)), 1, 25) + ', ' + @State; BEGIN END ELSE SET @CityState = LTRIM(RTRIM(@City)) + ', ' + @State; BEGIN ENd SET @ZipShort = SUBSTRING(@ZipLong, 1, 5); INSERT INTO dbo.Transaction_F OrgId, Emp_no, Name_code, Name, Address1, Address2, CityState, ( BEGIN BEGIN TransactionCursor_F Thursday, December 12, 2013 3:14 PM Procedures Page 32
  • 33.
    CityState, ZipCode ) VALUES @OrgId, @EmpNum, '001', @Name_full, @Address1, @Address2, @CityState, @ZipShort ( ) SET @Employer_code =NULL; SET @EmpNum = NULL; SET @StatusCode = NULL; SET @TermDate = NULL; SET @Name_last = NULL; SET @Name_first = NULL; SET @Name_mi = NULL; SET @Name_middle = NULL; SET @Address1 = NULL; SET @Address2 = NULL; SET @City = NULL; SET @State = NULL; SET @ZipLong = NULL; SET @OrgId = NULL; SET @Name_full = NULL; SET @CityState = NULL; SET @ZipShort = NULL; FETCH NEXT FROM datacursor @Name_last, @Name_first, @Name_mi, @Name_middle, @Address1, @Address2, @City, @State, @ZipLong; INTO @Employer_code, @EmpNum, @StatusCode, @TermDate, END CLOSE datacursor; DEALLOCATE datacursor; END Procedures Page 33
  • 34.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_H9] Script Date: 12/12/2013 15:14:46 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_H9] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_H9; DECLARE @EmployerCode nchar(3), @EmpNum nchar(9); RTRIM(LTRIM(g14.Emp_no)) FROM dbo.GFSISSY14 AS g14 RTRIM(LTRIM(g14.Deduction_code)) IN ('DDCK', 'DDCU', 'DDFL1', 'DDFL2', 'DDFL3', 'DDPC1', 'DDSAV') ( ) AND RTRIM(LTRIM(g14.Activity_code)) != '9' AND RTRIM(LTRIM(g14.Ytd_employee_amount)) != '.00' OR RTRIM(LTRIM(g14.Ytd_employer_amount)) != '.00' OR RTRIM(LTRIM(g14.Arrears_amount)) != '.00' ( ) OR RIGHT(RTRIM(LTRIM(g14.Begin_date)), 4) < 2013 OR RIGHT(RTRIM(LTRIM(g14.Begin_date)), 4) = 2013 AND LEFT(RTRIM(LTRIM(g14.Begin_date)), LEN(RTRIM(LTRIM(g14.Begin_date)))-6) < 4 OR LEFT(RTRIM(LTRIM(g14.Begin_date)), LEN(RTRIM(LTRIM(g14.Begin_date)))-6) = 4 AND LEFT(RIGHT(RTRIM(LTRIM(g14.Begin_dat e)), 6), 2) = 01 ( ) ( ) ( ) ( ) ( ) RIGHT(RTRIM(LTRIM(g14.End_date)), 4) IS NULL OR RIGHT(RTRIM(LTRIM(g14.End_date)), 4) = 0 ( AND WHERE SELECT RTRIM(LTRIM(g14.Employer_code)), DECLARE datacursor CURSOR FOR BEGIN TransactionCursor_H9 Thursday, December 12, 2013 3:14 PM Procedures Page 34
  • 35.
    RIGHT(RTRIM(LTRIM(g14.End_date)), 4) =0 OR RIGHT(RTRIM(LTRIM(g14.End_date)), 4) > 2013 OR RIGHT(RTRIM(LTRIM(g14.End_date)), 4) = 2013 AND LEFT(RTRIM(LTRIM(g14.End_date)), LEN(RTRIM(LTRIM(g14.End_date)))-6) > 7 ( ) ) GROUP BY g14.Emp_no, g14.Employer_code ORDER BY g14.Emp_no, g14.Employer_code OPEN datacursor; INTO @EmployerCode, @EmpNum; FETCH NEXT FROM datacursor WHILE @@FETCH_STATUS = 0 @ArrearsAmount nchar(13), @EmpeeAmount decimal(13,2), @EmpeePercent decimal(11,4), @ActivityCode nchar(1), @EmpeeLimitAmount decimal(13,2), @EmpeeLimitBalance decimal(13,2), @EndDate nchar(8), @EmperAmount decimal(13,2), @EmperPercent decimal(11,4), @StatusCode nchar(5), @TermDate nchar(8), @HEDNumber nchar(3), @TransitNo nchar(9), @DepositType nchar(1), @AccoutNo nchar(18), @Prenote nchar(8) DECLARE @YtdEmpeeAmount nchar(13), @YtdEmperAmount nchar(13), @DeductionCode nchar(5), @BeginDate nchar(8), @StopCode nchar(1), @StopField nchar(6), @AmountPercent nchar(7), @StopAmount nchar(13), @AmountOne nchar(9), @AmountTwo nchar(10), @UserCode nchar(2), @BeginYear int, @BeginMonth int, @BeginDay int, @DupEmployerCode nchar(3), @DupEmpNum nchar(9), @DupActivityCode nchar(1), @HEDDeductArrearCode nchar(2), @HEDDeductMethodCode nchar(2); DECLARE @OrgId nchar(6), @HEDDeductFreq nchar(2), @StartCode nchar(1), @IsStartFuture int, @StartField nchar(6), CREATE TABLE #deposits Ytd_employee_amount nvarchar(13), Ytd_employer_amount nvarchar(13), Arrears_amount nvarchar(13), Begin_date nvarchar(8), Deduction_code nvarchar(5), Employee_amount decimal(13,2), Employee_percent decimal (11,4), Activity_code nvarchar(1), Employee_limit_amount decimal(13,2), Employee_limit_balance decimal(13,2), End_date nvarchar(8), Employer_amount decimal(13,2), Employer_percent decimal(13,2), status_code nvarchar(5), cur_term_date nvarchar(8), Transit_no nvarchar(9), Dep_type nvarchar(1), Account_no nvarchar(18), Prenote_date nvarchar(8) ( ) INSERT INTO #deposits Ytd_employee_amount, Ytd_employer_amount, Arrears_amount, Begin_date, Deduction_code, Employee_amount, Employee_percent, Activity_code, Employee_limit_amount, Employee_limit_balance, End_date, Employer_amount, Employer_percent, status_code, cur_term_date, Transit_no, Dep_type, Account_no, Prenote_date ( RTRIM(LTRIM(gs14.Ytd_employer_amount)), RTRIM(LTRIM(gs14.Arrears_amount)), RTRIM(LTRIM(gs14.Begin_date)), RTRIM(LTRIM(gs14.Deduction_code)), CAST(RTRIM(LTRIM(gs14.Employee_amount)) AS float), CAST(RTRIM(LTRIM(gs14.Employee_percent)) AS float), RTRIM(LTRIM(gs14.Activity_code)), CAST(RTRIM(LTRIM(gs14.Employee_limit_amount)) AS float), SELECT RTRIM(LTRIM(gs14.Ytd_employee_amount)), ) BEGIN Procedures Page 35
  • 36.
    CAST(RTRIM(LTRIM(gs14.Employee_limit_amount)) AS float), CAST(RTRIM(LTRIM(gs14.Employee_limit_balance))AS float), RTRIM(LTRIM(gs14.End_date)), CAST(RTRIM(LTRIM(gs14.Employer_amount)) AS float), CAST(RTRIM(LTRIM(gs14.Employer_percent)) AS float), RTRIM(LTRIM(gs02.status_code)), RTRIM(LTRIM(gs02.cur_term_date)), RTRIM(LTRIM(gs15.Transit_no)), RTRIM(LTRIM(gs15.Dep_type)), RTRIM(LTRIM(gs15.Account_no)), RTRIM(LTRIM(gs15.Prenote_date)) LEFT JOIN [dbo].[GFSISSY02] AS gs02 ON gs02.Employer_code = gs14.Employer_code AND gs02.Emp_no = gs14.Emp_no LEFT JOIN [dbo].[GFSISSY15] AS gs15 ON gs15.Employer_code = gs14.Employer_code AND gs15.Emp_no = gs14.Emp_no AND gs15.Deduction_code = gs14.Deduction_code FROM dbo.GFSISSY14 AS gs14 AND gs14.Employer_code = @EmployerCode AND RTRIM(LTRIM(gs14.Deduction_code)) IN ('DDCK', 'DDCU', 'DDFL1', 'DDFL2', 'DDFL3', 'DDPC1', 'DDSAV') ( ) AND RTRIM(LTRIM(gs14.Activity_code)) != '9' AND RTRIM(LTRIM(gs14.Ytd_employee_amount)) != '.00' OR RTRIM(LTRIM(gs14.Ytd_employer_amount)) != '.00' OR RTRIM(LTRIM(gs14.Arrears_amount)) != '.00' ( ) OR CAST(RIGHT(RTRIM(LTRIM(gs14.Begin_date)), 4) AS int) < 2013 OR CAST(RIGHT(RTRIM(LTRIM(gs14.Begin_date)), 4) AS int) = 2013 AND CAST(LEFT(RTRIM(LTRIM(gs14.Begin_date)), LEN(RTRIM(LTRIM(gs14.Begin_date)))-6) AS int) < 4 OR CAST(LEFT(RTRIM(LTRIM(gs14.Begin_dat e)), LEN(RTRIM(LTRIM(gs14.Begin_date)))-6) AS int) = 4 AND CAST(LEFT(RIGHT(RTRIM(LTRIM(gs14.Be gin_date)), 6), 2) AS int) = 01 ( ) ( ) ( ) ( ) ( ) AND ( WHERE gs14.Emp_no = @EmpNum Procedures Page 36
  • 37.
    RTRIM(LTRIM(gs14.End_date)) = '0' OR CAST(RIGHT(RTRIM(LTRIM(gs14.End_date)),4) AS int) > 2013 OR CAST(RIGHT(RTRIM(LTRIM(gs14.End_date)), 4) AS int) = 2013 AND CAST(LEFT(RTRIM(LTRIM(gs14.End_date)), LEN(RTRIM(LTRIM(gs14.End_date)))-6) AS int) > 7 ( ) ( ) dp.Activity_code, dp.Employee_limit_amount, dp.Employee_limit_balance, dp.End_date, dp.Employer_amount, dp.Employer_percent, dp.status_code, dp.cur_term_date, dp.Transit_no, dp.Dep_type, dp.Account_no, dp.Prenote_date FROM #deposits AS dp ORDER BY dp.Deduction_code SELECT dp.Ytd_employee_amount, dp.Ytd_employer_amount, dp.Arrears_amount, dp.Begin_date, dp.Deduction_code, dp.Employee_amount, dp.Employee_percent, DECLARE innercursor CURSOR FOR OPEN innercursor; @DeductionCode, @EmpeeAmount, @EmpeePercent, @ActivityCode, @EmpeeLimitAmount, @EmpeeLimitBalance, @EndDate, @EmperAmount, @EmperPercent, @StatusCode, @TermDate, @TransitNo, @DepositType, @AccoutNo, @Prenote; INTO @YtdEmpeeAmount, @YtdEmperAmount, @ArrearsAmount, @BeginDate, FETCH NEXT FROM innercursor WHILE @@FETCH_STATUS = 0 IF ((@EmpeePercent = 0 OR @EmpeePercent = 100) AND @EmpeeAmount = 0) SET @HEDNumber = '999'; SET @HEDDeductFreq = '00'; SET @HEDDeductArrearCode = '53'; SET @HEDDeductMethodCode = '00'; BEGIN END ELSE IF (@EmpeeAmount > 0) SET @HEDDeductMethodCode = '02'; SET @AmountPercent = REPLACE(@EmpeeAmount, '.', ''); BEGIN END ELSE IF (@EmpeePercent > 0) SET @HEDDeductMethodCode = '13'; SET @AmountPercent = REPLACE(LEFT(@EmpeePercent, LEN(@EmpeePercent)-2), '.', ''); BEGIN END ELSE SET @AmountPercent = 0; BEGIN END IF(@AmountPercent = '000' OR @AmountPercent = 0) SET @AmountPercent = NULL; BEGIN END IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9 WHERE th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode AND th9.HEDNumber = '995') SET @HEDNumber = '995'; SET @HEDDeductFreq = '01'; BEGIN BEGIN BEGIN Procedures Page 37
  • 38.
    SET @HEDDeductFreq ='01'; SET @HEDDeductArrearCode = '00'; END ELSE IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9 WHERE th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode AND th9.HEDNumber = '996') SET @HEDNumber = '996'; SET @HEDDeductFreq = '02'; SET @HEDDeductArrearCode = '01'; BEGIN END ELSE IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9 WHERE th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode AND th9.HEDNumber = '997') SET @HEDNumber = '997'; SET @HEDDeductFreq = '03'; SET @HEDDeductArrearCode = '02'; BEGIN END ELSE IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9 WHERE th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode AND th9.HEDNumber = '998') SET @HEDNumber = '998'; SET @HEDDeductFreq = '04'; SET @HEDDeductArrearCode = '03'; BEGIN END ELSE SET @HEDNumber = 'ER2'; SET @HEDDeductFreq = 'ER'; SET @HEDDeductArrearCode = 'ER'; BEGIN END END WHILE (LEN(@AmountPercent)< 7) SET @AmountPercent = '0' + @AmountPercent; BEGIN END EXEC @OrgId = dbo.ufn_GetOrgId02 @EmployerCode, @EmpNum; IF(LEN(@Prenote) > 1) EXEC @IsStartFuture = [dbo].[ufn_IsDateFuture] @Prenote; IF(@IsStartFuture = 1) SET @StartCode = 'S'; BEGIN END ELSE SET @StartCode = '1'; BEGIN END EXEC @StartField = dbo.ufn_GetDate_YYMMDD @Prenote BEGIN END ELSE SET @StartCode = '0'; SET @StartField = '000000'; BEGIN END IF (@DepositType = 'C') SET @DepositType = '2'; BEGIN END ELSE IF (@DepositType = 'S') SET @DepositType = '3'; BEGIN END Procedures Page 38
  • 39.
    END ELSE SET @DepositType ='E'; BEGIN END INSERT INTO dbo.Transaction_H9 [EmployerCode], [EmpNum], [YtdEmployeeAmount], [YtdEmployerAmount], [ArrearsAmount], [ActivityCode], [BeginDate], [DeductionCode], [CompanyNumber], [ProgramField], [HEDNumber], [HEDDeductFreqCode], [StartCode], [HEDDeductArrearCode], [StartField], [HEDDeductMethodCode], [AmountPercent], [TransitNo], [DepositType], [AccountNum], [PrenoteDate] ( ) VALUES @EmployerCode, @EmpNum, @YtdEmpeeAmount, @YtdEmperAmount, @ArrearsAmount, @ActivityCode, @BeginDate, @DeductionCode, @OrgId, 'H9-SCR', @HEDNumber, @HEDDeductFreq, @StartCode, @HEDDeductArrearCode, @StartField, @HEDDeductMethodCode, @AmountPercent, @TransitNo, @DepositType, @AccoutNo, @Prenote ( ) SET @AccoutNo = NULL; SET @ActivityCode = NULL; SET @AmountOne = NULL; SET @AmountPercent = NULL; SET @AmountTwo = NULL; SET @ArrearsAmount = NULL; SET @BeginDate = NULL; SET @DeductionCode = NULL; SET @DepositType = NULL; SET @EmpeeAmount = NULL; SET @EmpeeLimitAmount = NULL; SET @EmpeeLimitBalance = NULL; Procedures Page 39
  • 40.
    SET @EmpeeLimitBalance =NULL; SET @EmpeePercent = NULL; SET @EmperAmount = NULL; SET @EmperPercent = NULL; SET @EndDate = NULL; SET @HEDDeductArrearCode = NULL; SET @HEDDeductFreq = NULL; SET @HEDDeductMethodCode = NULL; SET @HEDNumber = NULL; SET @Prenote = NULL; SET @StartCode = NULL; SET @StartField = NULL; SET @StatusCode = NULL; SET @StopAmount = NULL; SET @StopCode = NULL; SET @StopField = NULL; SET @TermDate = NULL; SET @TransitNo = NULL; SET @UserCode = NULL; SET @YtdEmpeeAmount = NULL; SET @YtdEmperAmount = NULL; @DeductionCode, @EmpeeAmount, @EmpeePercent, @ActivityCode, @EmpeeLimitAmount, @EmpeeLimitBalance, @EndDate, @EmperAmount, @EmperPercent, @StatusCode, @TermDate, @TransitNo, @DepositType, @AccoutNo, @Prenote; INTO @YtdEmpeeAmount, @YtdEmperAmount, @ArrearsAmount, @BeginDate, FETCH NEXT FROM innercursor END SET @EmployerCode = NULL; SET @EmpNum = NULL; SET @OrgId = NULL; INTO @EmployerCode, @EmpNum; FETCH NEXT FROM datacursor CLOSE innercursor; DEALLOCATE innercursor; DROP TABLE #deposits; END CLOSE datacursor; DEALLOCATE datacursor; END Procedures Page 40
  • 41.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_H9_quantify] Script Date: 12/12/2013 15:15:16 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_H9_quantify] AS SET NOCOUNT ON; --TRUNCATE TABLE dbo.Transaction_H9; CREATE TABLE #Deduct Emp_no nvarchar(10), Employer_code nvarchar(3), DDCKAmt decimal(13,2), DDCKPct decimal(13,4), DDCUAmt decimal(13,2), DDCUPct decimal(13,4), DDFL1Amt decimal(13,2), DDFL1Pct decimal(13,4), DDFL2Amt decimal(13,2), DDFL2Pct decimal(13,4), DDPC1Amt decimal(13,2), DDPC1Pct decimal(13,4), DDSAVAmt decimal(13,2), DDSAVPct decimal(13,4) ( ) DECLARE @EmployerCode nchar(3), @EmpNum nchar(9); RTRIM(LTRIM(g14.Emp_no)) FROM dbo.GFSISSY14 AS g14 RTRIM(LTRIM(g14.Deduction_code)) IN ('DDCK', 'DDCU', 'DDFL1', 'DDFL2', 'DDFL3', 'DDPC1', 'DDSAV') ( ) AND RTRIM(LTRIM(g14.Activity_code)) != '9' AND RTRIM(LTRIM(g14.Ytd_employee_amount)) != '.00' OR RTRIM(LTRIM(g14.Ytd_employer_amount)) != '.00' OR RTRIM(LTRIM(g14.Arrears_amount)) != '.00' ( ) OR RIGHT(RTRIM(LTRIM(g14.Begin_date)), 4) < 2013 OR RIGHT(RTRIM(LTRIM(g14.Begin_date)), 4) = 2013 AND LEFT(RTRIM(LTRIM(g14.Begin_date)), LEN(RTRIM(LTRIM(g14.Begin_date)))-6) < 4 ( ( ( ( WHERE SELECT RTRIM(LTRIM(g14.Employer_code)), DECLARE datacursor CURSOR FOR BEGIN TransactionCursor_H9_quantify Thursday, December 12, 2013 3:15 PM Procedures Page 41
  • 42.
    LEN(RTRIM(LTRIM(g14.Begin_date)))-6) < 4 OR LEFT(RTRIM(LTRIM(g14.Begin_date)), LEN(RTRIM(LTRIM(g14.Begin_date)))-6)= 4 AND LEFT(RIGHT(RTRIM(LTRIM(g14.Begin_dat e)), 6), 2) = 01 ( ) ) ) ) ) RIGHT(RTRIM(LTRIM(g14.End_date)), 4) IS NULL OR RIGHT(RTRIM(LTRIM(g14.End_date)), 4) = 0 OR RIGHT(RTRIM(LTRIM(g14.End_date)), 4) > 2013 OR RIGHT(RTRIM(LTRIM(g14.End_date)), 4) = 2013 AND LEFT(RTRIM(LTRIM(g14.End_date)), LEN(RTRIM(LTRIM(g14.End_date)))-6) > 7 ( ) ( ) AND GROUP BY g14.Emp_no, g14.Employer_code ORDER BY g14.Emp_no, g14.Employer_code OPEN datacursor; INTO @EmployerCode, @EmpNum; FETCH NEXT FROM datacursor WHILE @@FETCH_STATUS = 0 @ArrearsAmount nchar(13), @EmpeeAmount decimal(13,2), @EmpeePercent decimal(11,4), @ActivityCode nchar(1), @EmpeeLimitAmount decimal(13,2), @EmpeeLimitBalance decimal(13,2), @EndDate nchar(8), @EmperAmount decimal(13,2), @EmperPercent decimal(11,4), @StatusCode nchar(5), @TermDate nchar(8), @HEDNumber nchar(3), @TransitNo nchar(9), @DepositType nchar(1), @AccoutNo nchar(18), @Prenote nchar(8) DECLARE @YtdEmpeeAmount nchar(13), @YtdEmperAmount nchar(13), @DeductionCode nchar(5), @BeginDate nchar(8), @StopCode nchar(1), @StopField nchar(6), @AmountPercent nchar(7), @StopAmount nchar(13), @AmountOne nchar(9), @AmountTwo nchar(10), @UserCode nchar(2), @BeginYear int, @BeginMonth int, @BeginDay int, @DupEmployerCode nchar(3), @DupEmpNum nchar(9), @DupActivityCode nchar(1), @HEDDeductArrearCode nchar(2), @HEDDeductMethodCode nchar(2); DECLARE @OrgId nchar(6), @HEDDeductFreq nchar(2), @StartCode nchar(1), @IsStartFuture int, @StartField nchar(6), INSERT INTO #Deduct (Emp_no, Employer_code) VALUES (@EmpNum, @EmployerCode) CREATE TABLE #deposits Ytd_employee_amount nvarchar(13), Ytd_employer_amount nvarchar(13), Arrears_amount nvarchar(13), Begin_date nvarchar(8), Deduction_code nvarchar(5), Employee_amount decimal(13,2), Employee_percent decimal (11,4), Activity_code nvarchar(1), Employee_limit_amount decimal(13,2), Employee_limit_balance decimal(13,2), ( BEGIN Procedures Page 42
  • 43.
    Employee_limit_amount decimal(13,2), Employee_limit_balancedecimal(13,2), End_date nvarchar(8), Employer_amount decimal(13,2), Employer_percent decimal(13,2), status_code nvarchar(5), cur_term_date nvarchar(8), Transit_no nvarchar(9), Dep_type nvarchar(1), Account_no nvarchar(18), Prenote_date nvarchar(8) ) INSERT INTO #deposits Ytd_employee_amount, Ytd_employer_amount, Arrears_amount, Begin_date, Deduction_code, Employee_amount, Employee_percent, Activity_code, Employee_limit_amount, Employee_limit_balance, End_date, Employer_amount, Employer_percent, status_code, cur_term_date, Transit_no, Dep_type, Account_no, Prenote_date ( RTRIM(LTRIM(gs14.Ytd_employer_amount)), RTRIM(LTRIM(gs14.Arrears_amount)), RTRIM(LTRIM(gs14.Begin_date)), RTRIM(LTRIM(gs14.Deduction_code)), CAST(RTRIM(LTRIM(gs14.Employee_amount)) AS float), -- decimal(13,2)), CAST(RTRIM(LTRIM(gs14.Employee_percent)) AS float), -- decimal(11,4)), RTRIM(LTRIM(gs14.Activity_code)), CAST(RTRIM(LTRIM(gs14.Employee_limit_amount)) AS float), -- decimal(13,2)), CAST(RTRIM(LTRIM(gs14.Employee_limit_balance)) AS float), -- decimal(13,2)), RTRIM(LTRIM(gs14.End_date)), CAST(RTRIM(LTRIM(gs14.Employer_amount)) AS float), -- decimal(13,2)), CAST(RTRIM(LTRIM(gs14.Employer_percent)) AS float), -- decimal(13,2)), RTRIM(LTRIM(gs02.status_code)), RTRIM(LTRIM(gs02.cur_term_date)), RTRIM(LTRIM(gs15.Transit_no)), RTRIM(LTRIM(gs15.Dep_type)), RTRIM(LTRIM(gs15.Account_no)), RTRIM(LTRIM(gs15.Prenote_date)) LEFT JOIN [dbo].[GFSISSY02] AS gs02 ON gs02.Employer_code = gs14.Employer_code AND gs02.Emp_no = gs14.Emp_no LEFT JOIN [dbo].[GFSISSY15] AS gs15 ON gs15.Employer_code = gs14.Employer_code AND gs15.Emp_no = gs14.Emp_no AND gs15.Deduction_code = gs14.Deduction_code FROM dbo.GFSISSY14 AS gs14 WHERE gs14.Emp_no = @EmpNum AND gs14.Employer_code = @EmployerCode SELECT RTRIM(LTRIM(gs14.Ytd_employee_amount)), ) --SELECT dp.Ytd_employee_amount, dp.Ytd_employer_amount, dp.Arrears_amount, dp.Begin_date, dp.Deduction_code, dp.Employee_amount, dp.Employee_percent, -- dp.Activity_code, dp.Employee_limit_amount, dp.Employee_limit_balance, dp.End_date, dp.Employer_amount, dp.Employer_percent, dp.status_code, -- dp.cur_term_date, dp.Transit_no, dp.Dep_type, dp.Account_no, dp.Prenote_date -- FROM #deposits AS dp --, @YtdEmpeeAmount, @YtdEmperAmount, @ArrearsAmount, @BeginDate, -- @DeductionCode, @EmpeeAmount, @EmpeePercent, @ActivityCode, @EmpeeLimitAmount, @EmpeeLimitBalance, -- @EndDate, @EmperAmount, @EmperPercent, @StatusCode, @TermDate, @TransitNo, @DepositType, @AccoutNo, @Prenote; FROM #deposits AS dp WHERE SELECT dp.Deduction_code, dp.Employee_amount, dp.Employee_percent DECLARE depositcursor CURSOR FOR Procedures Page 43
  • 44.
    RTRIM(LTRIM(dp.Deduction_code)) IN ('DDCK','DDCU', 'DDFL1', 'DDFL2', 'DDFL3', 'DDPC1', 'DDSAV') ( ) AND RTRIM(LTRIM(dp.Activity_code)) != '9' AND RTRIM(LTRIM(dp.Ytd_employee_amount)) != '.00' OR RTRIM(LTRIM(dp.Ytd_employer_amount)) != '.00' OR RTRIM(LTRIM(dp.Arrears_amount)) != '.00' ( ) OR RIGHT(RTRIM(LTRIM(dp.Begin_date)), 4) < 2013 OR RIGHT(RTRIM(LTRIM(dp.Begin_date)), 4) = 2013 AND LEFT(RTRIM(LTRIM(dp.Begin_date)), LEN(RTRIM(LTRIM(dp.Begin_date)))-6) < 4 OR LEFT(RTRIM(LTRIM(dp.Begin_date)), LEN(RTRIM(LTRIM(dp.Begin_date)))-6) = 4 AND LEFT(RIGHT(RTRIM(LTRIM(dp.Begin_date )), 6), 2) = 01 ( ) ( ) ( ) ( ) ( ) RIGHT(RTRIM(LTRIM(dp.End_date)), 4) IS NULL OR RIGHT(RTRIM(LTRIM(dp.End_date)), 4) = 0 OR RIGHT(RTRIM(LTRIM(dp.End_date)), 4) > 2013 OR RIGHT(RTRIM(LTRIM(dp.End_date)), 4) = 2013 AND LEFT(RTRIM(LTRIM(dp.End_date)), LEN(RTRIM(LTRIM(dp.End_date)))-6) > 7 ( ) ( ) AND WHERE OPEN depositcursor; INTO @DeductionCode, @EmpeeAmount, @EmpeePercent; FETCH NEXT FROM depositcursor WHILE @@FETCH_STATUS = 0 DECLARE @tmpvar decimal(13,4); IF(@EmpeeAmount > 0) IF (@DeductionCode = 'DDCK') SET DDCKAmt = @EmpeeAmount UPDATE #Deduct BEGIN BEGIN BEGIN Procedures Page 44
  • 45.
    SET DDCKAmt =@EmpeeAmount WHERE Emp_no = @EmpNum AND Employer_code = @EmployerCode; END IF (@DeductionCode = 'DDCU') SET DDCUAmt = @EmpeeAmount WHERE Emp_no = @EmpNum AND Employer_code = @EmployerCode; UPDATE #Deduct BEGIN END IF (@DeductionCode = 'DDFL1') SET DDFL1Amt = @EmpeeAmount WHERE Emp_no = @EmpNum AND Employer_code = @EmployerCode; UPDATE #Deduct BEGIN END IF (@DeductionCode = 'DDFL2') SET DDFL2Amt = @EmpeeAmount WHERE Emp_no = @EmpNum AND Employer_code = @EmployerCode; UPDATE #Deduct BEGIN END IF (@DeductionCode = 'DDPC1') SET DDPC1Amt = @EmpeeAmount WHERE Emp_no = @EmpNum AND Employer_code = @EmployerCode; UPDATE #Deduct BEGIN END IF (@DeductionCode = 'DDSAV') SET DDSAVAmt = @EmpeeAmount WHERE Emp_no = @EmpNum AND Employer_code = @EmployerCode; UPDATE #Deduct BEGIN END END ELSE IF (@DeductionCode = 'DDCK') SET DDCKPct = @EmpeePercent WHERE Emp_no = @EmpNum AND Employer_code = @EmployerCode; UPDATE #Deduct BEGIN END IF (@DeductionCode = 'DDCU') SET DDCUPct = @EmpeePercent WHERE Emp_no = @EmpNum AND Employer_code = @EmployerCode; UPDATE #Deduct BEGIN END IF (@DeductionCode = 'DDFL1') SET DDFL1Pct = @EmpeePercent WHERE Emp_no = @EmpNum AND Employer_code = @EmployerCode; UPDATE #Deduct BEGIN END IF (@DeductionCode = 'DDFL2') BEGIN BEGIN Procedures Page 45
  • 46.
    SET DDFL2Pct =@EmpeePercent WHERE Emp_no = @EmpNum AND Employer_code = @EmployerCode; UPDATE #Deduct BEGIN END IF (@DeductionCode = 'DDPC1') SET DDPC1Pct = @EmpeePercent WHERE Emp_no = @EmpNum AND Employer_code = @EmployerCode; UPDATE #Deduct BEGIN END IF (@DeductionCode = 'DDSAV') SET DDSAVPct = @EmpeePercent WHERE Emp_no = @EmpNum AND Employer_code = @EmployerCode; UPDATE #Deduct BEGIN END END INTO @DeductionCode, @EmpeeAmount, @EmpeePercent; FETCH NEXT FROM depositcursor END CLOSE depositcursor; DEALLOCATE depositcursor; --EXEC @OrgId = dbo.ufn_GetOrgId02 @EmployerCode, @EmpNum; --IF (@DeductionCode IN ('DDCP1', 'DDSAV') AND CAST(RTRIM(LTRIM(@EmpeePercent)) AS float) = 100) --BEGIN -- SET @HEDNumber = '999'; -- SET @HEDDeductFreq = '00'; -- SET @HEDDeductArrearCode = '53'; -- SET @HEDDeductMethodCode = '00'; --END --ELSE --BEGIN -- IF (@EmpeeAmount != '.00') -- BEGIN -- SET @HEDDeductMethodCode = '02'; -- SET @AmountPercent = REPLACE(@EmpeeAmount, '.', ''); -- END -- ELSE IF (@EmpeePercent != '.0000') -- BEGIN -- SET @HEDDeductMethodCode = '13'; -- SET @AmountPercent = REPLACE(LEFT(@EmpeePercent, LEN(@EmpeePercent)-2), '.', ''); -- END -- IF(@AmountPercent = '000') -- BEGIN -- SET @AmountPercent = NULL; -- END -- IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9 WHERE th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode AND th9.HEDNumber = '995') -- BEGIN -- SET @HEDNumber = '995'; -- SET @HEDDeductFreq = '01'; -- SET @HEDDeductArrearCode = '00'; Procedures Page 46
  • 47.
    -- SET @HEDDeductArrearCode= '00'; -- END -- IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9 WHERE th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode AND th9.HEDNumber = '996') -- BEGIN -- SET @HEDNumber = '996'; -- SET @HEDDeductFreq = '02'; -- SET @HEDDeductArrearCode = '01'; -- END -- ELSE IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9 WHERE th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode AND th9.HEDNumber = '997') -- BEGIN -- SET @HEDNumber = '997'; -- SET @HEDDeductFreq = '03'; -- SET @HEDDeductArrearCode = '02'; -- END -- ELSE IF NOT EXISTS (SELECT * FROM [dbo].[Transaction_H9] AS th9 WHERE th9.EmpNum = @EmpNum AND th9.EmployerCode = @EmployerCode AND th9.HEDNumber = '998') -- BEGIN -- SET @HEDNumber = '998'; -- SET @HEDDeductFreq = '04'; -- SET @HEDDeductArrearCode = '03'; -- END -- ELSE -- BEGIN -- SET @HEDNumber = 'ER2'; -- SET @HEDDeductFreq = 'ER'; -- SET @HEDDeductArrearCode = 'ER'; -- END --END --IF(LEN(@Prenote) > 1) --BEGIN -- EXEC @IsStartFuture = [dbo].[ufn_IsDateFuture] @Prenote; -- IF(@IsStartFuture = 1) -- BEGIN -- SET @StartCode = 'S'; -- END -- ELSE -- BEGIN -- SET @StartCode = '1'; -- END -- EXEC @StartField = dbo.ufn_GetDate_YYMMDD @Prenote --END --ELSE --BEGIN -- SET @StartCode = '0'; -- SET @StartField = '000000'; --END --IF (@DepositType = 'C') --BEGIN -- SET @DepositType = '2'; --END --ELSE IF (@DepositType = 'S') --BEGIN -- SET @DepositType = '3'; --END --ELSE --BEGIN -- SET @DepositType = 'E'; --END Procedures Page 47
  • 48.
    --END --INSERT INTO dbo.Transaction_H9 --( --[EmployerCode], -- [EmpNum], -- [YtdEmployeeAmount], -- [YtdEmployerAmount], -- [ArrearsAmount], -- [ActivityCode], -- [BeginDate], -- [DeductionCode], -- [CompanyNumber], -- [ProgramField], -- [HEDNumber], -- [HEDDeductFreqCode], -- [StartCode], -- [HEDDeductArrearCode], -- [StartField], -- [HEDDeductMethodCode], -- [AmountPercent], -- [TransitNo], -- [DepositType], -- [AccountNum], -- [PrenoteDate] --) --VALUES --( -- @EmployerCode, -- @EmpNum, -- @YtdEmpeeAmount, -- @YtdEmperAmount, -- @ArrearsAmount, -- @ActivityCode, -- @BeginDate, -- @DeductionCode, -- @OrgId, -- 'H9-SCR', -- @HEDNumber, -- @HEDDeductFreq, -- @StartCode, -- @HEDDeductArrearCode, -- @StartField, -- @HEDDeductMethodCode, -- @AmountPercent, -- @TransitNo, -- @DepositType, -- @AccoutNo, -- @Prenote --) SET @AccoutNo = NULL; SET @ActivityCode = NULL; SET @AmountOne = NULL; SET @AmountPercent = NULL; SET @AmountTwo = NULL; SET @ArrearsAmount = NULL; SET @BeginDate = NULL; SET @DeductionCode = NULL; SET @DepositType = NULL; SET @EmpeeAmount = NULL; SET @EmpeeLimitAmount = NULL; SET @EmpeeLimitBalance = NULL; SET @EmpeePercent = NULL; SET @EmperAmount = NULL; SET @EmperPercent = NULL; SET @EmployerCode = NULL; Procedures Page 48
  • 49.
    SET @EmployerCode =NULL; SET @EmpNum = NULL; SET @EndDate = NULL; SET @HEDDeductArrearCode = NULL; SET @HEDDeductFreq = NULL; SET @HEDDeductMethodCode = NULL; SET @HEDNumber = NULL; SET @OrgId = NULL; SET @Prenote = NULL; SET @StartCode = NULL; SET @StartField = NULL; SET @StatusCode = NULL; SET @StopAmount = NULL; SET @StopCode = NULL; SET @StopField = NULL; SET @TermDate = NULL; SET @TransitNo = NULL; SET @UserCode = NULL; SET @YtdEmpeeAmount = NULL; SET @YtdEmperAmount = NULL; DROP TABLE #deposits; --01 @EmployerCode, --02 @EmpNum, --03 @YtdEmpeeAmount, --04 @YtdEmperAmount, --05 @ArrearsAmount, --06 @BeginDate, --07 @DeductionCode, --08 @EmpeeAmount, d --09 @EmpeePercent, d --10 @ActivityCode, --11 @EmpeeLimitAmount, d --12 @EmpeeLimitBalance, d --13 @EndDate, --14 @EmperAmount, d --15 @EmperPercent, d --16 @StatusCode, --17 @TermDate, --18 @TransitNo, --19 @DepositType, --20 @AccoutNo, --21 @Prenote INTO @EmployerCode, @EmpNum; FETCH NEXT FROM datacursor END CLOSE datacursor; DEALLOCATE datacursor; FROM #Deduct AS dd GROUP BY dd.DDCKPct, dd.DDCUPct, dd.DDFL1Pct, dd.DDFL2Pct, dd.DDPC1Pct, dd.DDSAVPct ORDER BY dd.DDCKPct, dd.DDCUPct, dd.DDFL1Pct, dd.DDFL2Pct, dd.DDPC1Pct, dd.DDSAVPct SELECT dd.DDCKPct, dd.DDCUPct, dd.DDFL1Pct, dd.DDFL2Pct, dd.DDPC1Pct, dd.DDSAVPct, COUNT(*) FROM #Deduct AS dt; SELECT dt.Emp_no, dt.Employer_code, dt.DDCKPct, dt.DDCUPct, dt.DDFL1Pct, dt.DDFL2Pct, dt.DDPC1Pct, dt.DDSAVPct DROP TABLE #Deduct; END Procedures Page 49
  • 50.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_HD] Script Date: 12/12/2013 15:15:58 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_HD] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_HD; @ArrearsAmount nchar(13), @ArrearsBalance nchar(13), @EmpeeAmount nchar(13), @EmpeePercent nchar(11), @ActivityCode nchar(1), @EmpeeLimitAmount decimal(13,2), @EmpeeLimitBalance decimal(13,2), @EndDate nchar(8), @EmperAmount nchar(13), @EmperPercent nchar(11), @StatusCode nchar(5), @TermDate nchar(8), @CurrentDeductNum nchar(9), @CurrentDeductCount int, @CurrentGarnishNum nchar(9), @CurrentGarnishCount int; DECLARE @EmployerCode nchar(3), @EmpNum nchar(9), @YtdEmpeeAmount nchar(13), @YtdEmperAmount nchar(13), @DeductionCode nchar(5), @BeginDate nchar(8), RTRIM(LTRIM(gs14.Emp_no)), RTRIM(LTRIM(gs14.Ytd_employee_amount)), RTRIM(LTRIM(gs14.Ytd_employer_amount)), RTRIM(LTRIM(gs14.Arrears_amount)), RTRIM(LTRIM(gs14.Arrears_balance)), RTRIM(LTRIM(gs14.Begin_date)), RTRIM(LTRIM(gs14.Deduction_code)), RTRIM(LTRIM(gs14.Employee_amount)), RTRIM(LTRIM(gs14.Employee_percent)), RTRIM(LTRIM(gs14.Activity_code)), RTRIM(LTRIM(gs14.Employee_limit_amount)), RTRIM(LTRIM(gs14.Employee_limit_balance)), RTRIM(LTRIM(gs14.End_date)), RTRIM(LTRIM(gs14.Employer_amount)), RTRIM(LTRIM(gs14.Employer_percent)), RTRIM(LTRIM(gs02.status_code)), RTRIM(LTRIM(gs02.cur_term_date)) SELECT RTRIM(LTRIM(gs14.Employer_code)), LEFT OUTER JOIN [dbo].[GFSISSY02] AS gs02 ON gs14.Employer_code = gs02.Employer_code AND gs14.Emp_no = gs02.Emp_no FROM dbo.GFSISSY14 AS gs14 RTRIM(LTRIM(gs14.Deduction_code)) NOT IN ('*DCA', '*ETT', '*FICA', '*FMHI', '*FUTA', '*FWT', '*SCA', '*UCA', '*UMN', 'DDCK', 'DDCU', 'DDFL1', 'DDFL2', 'DDFL3', 'DDPC1', 'DDSAV', 'MISCK') AND RTRIM(LTRIM(gs14.Deduction_code)) IN ('401K', '401S') OR RTRIM(LTRIM(gs14.Deduction_code)) LIKE 'LOAN%' OR CAST(RTRIM(LTRIM(gs14.Ytd_employee_amount)) AS float) > 0.00 OR CAST(RTRIM(LTRIM(gs14.Ytd_employer_amount)) AS float) > 0.00 OR CAST(RTRIM(LTRIM(gs14.Arrears_amount)) AS float) > 0.00 OR CAST(RIGHT(RTRIM(LTRIM(gs14.Begin_date)), 4) AS int) > 2013 --Year ( ( WHERE DECLARE datacursor CURSOR SCROLL FOR BEGIN TransactionCursor_HD Thursday, December 12, 2013 3:15 PM Procedures Page 50
  • 51.
    CAST(RIGHT(RTRIM(LTRIM(gs14.Begin_date)), 4) ASint) > 2013 --Year OR CAST(RIGHT(RTRIM(LTRIM(gs14.Begin_date)), 4) AS int) = 2013 -- Year AND CAST(LEFT(RTRIM(LTRIM(gs14.Begin_date)), (LEN(RTRIM(LTRIM(gs14.Begin_date)))-6)) AS int) > 4 --Month ( ) OR CAST(RIGHT(RTRIM(LTRIM(gs14.Begin_date)), 4) AS int) = 2013 -- Year AND CAST(LEFT(RTRIM(LTRIM(gs14.Begin_date)), (LEN(RTRIM(LTRIM(gs14.Begin_date)))-6)) AS int) = 4 --Month AND CAST(LEFT(RIGHT(RTRIM(LTRIM(gs14.Begin_date)), 6), 2) AS int) > 1 --Day ( ) ) ) AND ( CAST(RTRIM(LTRIM(gs14.Employee_amount)) AS float) > 0.00 OR CAST(RTRIM(LTRIM(gs14.Employee_percent)) AS float) > 0.0000 OR CAST(RTRIM(LTRIM(gs14.Employer_amount)) AS float) > 0.00 OR CAST(RTRIM(LTRIM(gs14.Employer_percent)) AS float) > 0.0000 ) ORDER BY gs14.Emp_no, gs14.Deduction_code OPEN datacursor; FETCH NEXT FROM datacursor @DeductionCode, @EmpeeAmount, @EmpeePercent, @ActivityCode, @EmpeeLimitAmount, @EmpeeLimitBalance, @EndDate, @EmperAmount, @EmperPercent, @StatusCode, @TermDate; INTO @EmployerCode, @EmpNum, @YtdEmpeeAmount, @YtdEmperAmount, @ArrearsAmount, @ArrearsBalance, @BeginDate, WHILE @@FETCH_STATUS = 0 @StopCode nchar(1), @StopField nchar(6), @StopFieldDec decimal(13,2), @AmountPercent nvarchar(12), @AmountOne nchar(9), @AmountTwo nchar(10), @UserCode nchar(2), @BeginYear int, @BeginMonth int, @BeginDay int, @DupEmployerCode nchar(3), @DupActivityCode nchar(1), @IsBeginDateFuture int, @IsEndDateFuture int; DECLARE @OrgId nvarchar(6), @HEDNumber nvarchar(10), @HEDEarnFreq nchar(2), @StartCode nchar(1), @StartField nchar(6), EXEC @OrgId = dbo.ufn_GetOrgId02 @EmployerCode, @EmpNum; IF (CAST(@EmpeeAmount AS float) > 0.00 OR CAST(@EmpeePercent AS float) > 0.0000 OR @DeductionCode LIKE '401%' OR @DeductionCode LIKE 'LOAN%') IF (@DeductionCode = 'SUPP') SET @HEDNumber = '501'; SET @HEDEarnFreq = '01'; BEGIN END ELSE IF ((@DeductionCode = '401K ' AND @HEDNumber = '801') OR (@DeductionCode = '401S ' AND @HEDNumber = '801') OR @HEDNumber = '803') SET @HEDEarnFreq = '18'; BEGIN END ELSE IF (@DeductionCode LIKE 'LOAN%') BEGIN BEGIN Procedures Page 51
  • 52.
    ELSE IF (@DeductionCodeLIKE 'LOAN%') DECLARE @StopFieldValue decimal(9,2), @limitamount float, @limitbalance float; SET @limitamount = CAST(@EmpeeLimitAmount AS float); SET @limitbalance = CAST(@EmpeeLimitBalance AS float); SET @StopFieldValue = @limitamount - @limitbalance; EXEC @IsBeginDateFuture = dbo.ufn_IsDateFuture @BeginDate; EXEC @IsEndDateFuture = dbo.ufn_IsDateFuture @EndDate; PRINT 'Employee: ' + @EmpNum + ' -- YTDEmployeeAmount: ' + @YtdEmpeeAmount + ' -- IsEndDateFuture: ' + CAST(@IsEndDateFuture AS nvarchar) + ' ( ' + @EndDate + ' ) ' + ' -- StopFieldValue: ' + CAST(@StopFieldValue AS nvarchar); ' -- IsBeginDateFuture: ' + CAST(@IsBeginDateFuture AS nvarchar) + ' ( ' + @BeginDate + ' ) ' + IF (@IsBeginDateFuture = 0) SET @HEDEarnFreq = '01'; SET @StopCode = '7'; IF(CAST(@EmpeeLimitAmount AS float) > 9999.99) SET @StopField = '999999'; SET @AmountOne = @StopFieldValue; BEGIN END ELSE EXEC @StopField = dbo.ufn_RemoveDecimal @StopFieldValue, 2; BEGIN END BEGIN END ELSE IF(CAST(@YtdEmpeeAmount AS float) > 0) IF(@IsEndDateFuture = 1 OR @StopFieldValue = 0) SET @HEDEarnFreq = '00'; SET @StopCode = '1'; EXEC @StopField = dbo.ufn_GetDate_YYMMDD @EndDate; BEGIN END ELSE IF(@IsEndDateFuture = 0) IF(@StopFieldValue > 0) SET @HEDEarnFreq = '01'; SET @StopCode = '7'; IF(CAST(@EmpeeLimitAmount AS float) > 9999.99) SET @StopField = '999999'; SET @AmountOne = @StopFieldValue; BEGIN END ELSE EXEC @StopField = dbo.ufn_RemoveDecimal @StopFieldValue, 2; BEGIN END BEGIN END ELSE SET @HEDEarnFreq = '00'; SET @StopCode = '1'; EXEC @StopField = dbo.ufn_GetDate_YYMMDD @EndDate; BEGIN END BEGIN END BEGIN END IF(@CurrentGarnishNum IS NULL OR @CurrentGarnishNum != @EmpNum) BEGIN BEGIN Procedures Page 52
  • 53.
    SET @CurrentGarnishNum =@EmpNum; SET @CurrentGarnishCount = 1; BEGIN END IF(@StopCode IN ('1', '7')) IF(@CurrentGarnishCount=1) SET @HEDNumber='520'; SET @CurrentGarnishCount = @CurrentGarnishCount+1; BEGIN END ELSE SET @HEDNumber = '521'; SET @CurrentGarnishCount = @CurrentGarnishCount+1; BEGIN END BEGIN END END ELSE IF (@DeductionCode IN ('BANK', 'GAR', 'GAR1', 'GAR2', 'GAR4', 'GAR6', 'GAR7', 'IRS', 'SCH', 'STATE')) IF(@CurrentDeductNum IS NULL OR @CurrentDeductNum != @EmpNum) SET @CurrentDeductNum = @EmpNum; SET @CurrentDeductCount = 1; BEGIN END IF(@CurrentDeductCount=1) SET @HEDNumber = '505'; SET @CurrentDeductCount = @CurrentDeductCount + 1; BEGIN END ELSE IF (@CurrentDeductCount = 2) SET @HEDNumber = '506'; SET @CurrentDeductCount = @CurrentDeductCount + 1; BEGIN END ELSE IF (@CurrentDeductCount = 3) SET @HEDNumber = '507'; SET @CurrentDeductCount = @CurrentDeductCount + 1; BEGIN END ELSE IF (@CurrentDeductCount = 4) SET @HEDNumber = '508'; SET @CurrentDeductCount = @CurrentDeductCount + 1; BEGIN END SET @HEDEarnFreq = '01'; BEGIN END ELSE IF(@DeductionCode IS NULL) SET @HEDNumber = NULL; SET @HEDEarnFreq = '01'; BEGIN END ELSE SET @HEDNumber = FROM [dbo].[Inc_and_Deduct_To_HED_Nos] AS idh WHERE idh.EMPLOYER = @EmployerCode AND idh.[INCOME CODE]=@DeductionCode SELECT SUBSTRING(idh.HED2, 2, 3) ( ) SET @HEDEarnFreq = '01'; BEGIN END END Procedures Page 53
  • 54.
    END ELSE SET @HEDNumber = FROM[dbo].[Inc_and_Deduct_To_HED_Nos] AS idh WHERE idh.EMPLOYER = @EmployerCode AND idh.[INCOME CODE]=@DeductionCode SELECT SUBSTRING(idh.HED2, 2, 3) ( ) SET @HEDEarnFreq = '01'; BEGIN END IF (LEN(@BeginDate) > 6) EXEC @StartField = dbo.ufn_GetDate_YYMMDD @BeginDate; BEGIN END IF(LEN(@StartField) > 1) SET @StartCode = '1'; BEGIN END ELSE SET @StartCode = NULL; BEGIN END IF (CAST(@EmpeeAmount AS float) > 0.00) EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmpeeAmount, 2; BEGIN END ELSE IF (CAST(@EmpeePercent AS float) > 0.0000) EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmpeePercent, 2; BEGIN END ELSE IF (CAST(@EmperAmount AS float) > 0.00) EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmperAmount, 2; BEGIN END ELSE IF (CAST(@EmperPercent AS float) > 0.0000) EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmperPercent, 2; BEGIN END EXEC @AmountPercent = [dbo].[ufn_SetStringLength] @AmountPercent, 7, '0'; --EXEC @AmountOne = [dbo].[ufn_SetStringLength] @AmountOne, 9, '0'; IF(@HEDNumber = '801') SET @UserCode = 'L1'; BEGIN END ELSE IF(@HEDNumber = '805') SET @UserCode = 'L4'; BEGIN END ELSE IF(@DeductionCode LIKE 'LOAN%') SET @UserCode = '0' + RIGHT(@DeductionCode, 1); BEGIN END SET @AmountTwo = @EmpeeLimitAmount; EXEC @AmountTwo = [dbo].[ufn_SetStringLength] @AmountTwo, 10, '0'; IF(@HEDNumber IS NOT NULL) INSERT INTO dbo.Transaction_HD [EmployerCode], [EmpNum], [YtdEmployeeAmount], [YtdEmployerAmount], [ArrearsAmount], ( BEGIN Procedures Page 54
  • 55.
    [ArrearsAmount], [ActivityCode], [CompanyNumber], [ProgramField], [IncomeCode], [HEDNumber], [HEDEarningFreqCode], [BeginDate], [StartCode], [StartField], [StopCode], [AmountPercent], [StopField], [UserCode], [AmountOne], [AmountTwo] ) VALUES @EmployerCode, @EmpNum, @YtdEmpeeAmount, @YtdEmperAmount, @ArrearsAmount, @ActivityCode, @OrgId, 'HH-SCR', @DeductionCode, @HEDNumber, @HEDEarnFreq, @BeginDate, @StartCode, @StartField, @StopCode, @AmountPercent, @StopField, @UserCode, @AmountOne, @AmountTwo ( ) IF (@HEDNumber ='755') SET @HEDNumber = '0'; BEGIN END ELSE IF (@HEDNumber = '735') SET @HEDNumber = '755' IF ( CAST(@EmperAmount AS float) > 0.00) EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmperAmount, 2; EXEC @AmountPercent = [dbo].[ufn_SetStringLength] @AmountPercent, 7, '0'; BEGIN END ELSE IF ( CAST(@EmperPercent AS float) > 0.0000) EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmperPercent, 2; EXEC @AmountPercent = [dbo].[ufn_SetStringLength] @AmountPercent, 7, '0'; BEGIN END BEGIN END ELSE IF(@HEDNumber = '801') SET @HEDNumber = '805'; SET @UserCode = 'L4'; EXEC @AmountPercent = dbo.ufn_RemoveDecimal @EmperPercent, 2; BEGIN Procedures Page 55
  • 56.
    EXEC @AmountPercent =dbo.ufn_RemoveDecimal @EmperPercent, 2; EXEC @AmountPercent = [dbo].[ufn_SetStringLength] @AmountPercent, 7, '0'; END IF(@HEDNumber IN ('755', '805')) INSERT INTO dbo.Transaction_HD [EmployerCode], [EmpNum], [YtdEmployeeAmount], [YtdEmployerAmount], [ArrearsAmount], [ActivityCode], [CompanyNumber], [ProgramField], [IncomeCode], [HEDNumber], [HEDEarningFreqCode], [BeginDate], [StartCode], [StartField], [StopCode], [AmountPercent], [StopField], [UserCode], [AmountOne], [AmountTwo] ( ) VALUES @EmployerCode, @EmpNum, @YtdEmpeeAmount, @YtdEmperAmount, @ArrearsAmount, @ActivityCode, @OrgId, 'HH-SCR', @DeductionCode, @HEDNumber, @HEDEarnFreq, @BeginDate, @StartCode, @StartField, @StopCode, @AmountPercent, @StopField, @UserCode, @AmountOne, @AmountTwo ( ) BEGIN END END SET @EmployerCode = NULL; SET @EmpNum = NULL; SET @YtdEmpeeAmount = NULL; SET @YtdEmperAmount = NULL; SET @DeductionCode = NULL; SET @BeginDate = NULL; SET @ArrearsAmount = NULL; SET @ArrearsBalance = NULL; SET @EmpeeAmount = NULL; SET @EmpeePercent = NULL; SET @ActivityCode = NULL; SET @EmpeeLimitAmount = NULL; Procedures Page 56
  • 57.
    SET @EmpeeLimitAmount =NULL; SET @EmpeeLimitBalance = NULL; SET @EndDate = NULL; SET @EmperAmount = NULL; SET @EmperPercent = NULL; SET @OrgId = NULL; SET @DeductionCode = NULL; SET @HEDNumber = NULL; SET @HEDEarnFreq = NULL; SET @StartCode = NULL; SET @StartField = NULL; SET @StopCode = NULL; SET @StopField = NULL; SET @AmountPercent = NULL; SET @AmountOne = NULL; SET @AmountTwo = NULL; SET @UserCode = NULL; SET @StatusCode = NULL; SET @TermDate = NULL; FETCH NEXT FROM datacursor @DeductionCode, @EmpeeAmount, @EmpeePercent, @ActivityCode, @EmpeeLimitAmount, @EmpeeLimitBalance, @EndDate, @EmperAmount, @EmperPercent, @StatusCode, @TermDate; INTO @EmployerCode, @EmpNum, @YtdEmpeeAmount, @YtdEmperAmount, @ArrearsAmount, @ArrearsBalance, @BeginDate, END CLOSE datacursor; DEALLOCATE datacursor; END Procedures Page 57
  • 58.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_HE] Script Date: 12/12/2013 15:16:25 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_HE] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_HE; @IncAmount nchar(13), @YtdPay nchar(13), @YtdHrs nchar(9), @HEDNumber nchar(4), @group_number nvarchar(5); DECLARE @EmployerCode nchar(3), @EmpNum nchar(9), @IncCode nchar(5), @BeginDate nchar(8), @EndDate nchar(8), gs13.Emp_no, gs13.Income_code, gs13.Begin_date, gs13.End_date, RTRIM(LTRIM(gs13.Income_amount)), gs13.YTD_pay, gs13.YTD_hours, idh.HED2, RTRIM(LTRIM(gb.Group_number)) INNER JOIN [dbo].[Inc_and_Deduct_To_HED_Nos] AS idh ON idh.EMPLOYER = gs13.Employer_code AND idh.[INCOME CODE] = gs13.Income_code LEFT OUTER JOIN [dbo].[GFSISSY56] AS gb ON RTRIM(LTRIM(gb.[Emp_no])) = RIGHT(gs13.[Emp_no],7) AND RTRIM(LTRIM(gb.Employer_code)) = LEFT(gs13.Employer_code,2) FROM dbo.GFSISSY13 AS gs13 RTRIM(LTRIM(gs13.YTD_pay)) != '.00' AND RTRIM(LTRIM(gs13.YTD_hours)) != '.00' AND RTRIM(LTRIM(gs13.Begin_date)) != '0' AND RIGHT(RTRIM(LTRIM(gs13.Begin_date)), 4) > 2012 AND LEFT(RTRIM(LTRIM(gs13.Begin_date)), LEN(RTRIM(LTRIM(gs13.Begin_date)))-6) > 4 AND LEFT(RIGHT(RTRIM(LTRIM(gs13.Begin_date)), 6), 2) > 01 ( ) ( ) OR RTRIM(LTRIM(gs13.YTD_pay)) != '.00' OR RTRIM(LTRIM(gs13.YTD_hours)) != '.00' ( ) AND RTRIM(LTRIM(gs13.Income_amount)) != '.00' ( ) WHERE SELECT gs13.Employer_code, DECLARE datacursor CURSOR FOR OPEN datacursor; BEGIN TransactionCursor_HE Thursday, December 12, 2013 3:16 PM Procedures Page 58
  • 59.
    OPEN datacursor; FETCH NEXTFROM datacursor INTO @EmployerCode, @EmpNum, @IncCode, @BeginDate, @EndDate, @IncAmount, @YtdPay, @YtdHrs, @HEDNumber, @group_number; WHILE @@FETCH_STATUS = 0 SET @BeginDate = RTRIM(LTRIM(@BeginDate)); IF(LEN(@BeginDate) = 7) SET @BeginDate = '0' + @BeginDate; BEGIN END @StartCode nchar(1), @StartField nchar(6), @StopCode nchar(1), @AmtPct nchar(7), @StopField nchar(6); DECLARE @OrgId char(6), @StatusCode nchar(5), @TermDate nchar(8), @TermDate=gs02.cur_term_date FROM dbo.GFSISSY02 AS gs02 WHERE gs02.Employer_code = @EmployerCode AND gs02.Emp_no = @EmpNum; SELECT @StatusCode=gs02.status_code, --EXEC @OrgId = dbo.ufn_GetOrgId @EmployerCode, @StatusCode, @TermDate; EXEC @OrgId = dbo.ufn_GetOrgId02 @EmployerCode, @EmpNum; IF(@IncAmount != '0' OR @IncAmount != '0.00' OR @IncAmount != '.00') SET @HEDNumber = RIGHT(@HEDNumber, 3); BEGIN END ELSE SET @HEDNumber = NULL; BEGIN END IF (@IncCode = '401KI') IF (@group_number = '75585') SET @HEDNumber = '487'; BEGIN END ELSE IF (@group_number = '20923') SET @HEDNumber = '488'; BEGIN END BEGIN END IF (LEN(RTRIM(LTRIM(@BeginDate))) > 1) SET @StartCode = 1; SET @BeginDate = (LTRIM(@BeginDate)); EXEC @StartField = dbo.ufn_GetDate_YYMMDD @BeginDate; BEGIN END IF (LEN(RTRIM(LTRIM(@EndDate))) > 1) SET @StopCode = 1; SET @EndDate = RTRIM(LTRIM(@EndDate)); EXEC @StopField = dbo.ufn_GetDate_YYMMDD @EndDate; BEGIN END --SET @AmtPct = @IncAmount; --REPLACE(@IncAmount, '.', ''); SET @EmpNum = SUBSTRING(@EmpNum, 3, 7); INSERT INTO dbo.Transaction_HE ( CompanyNumber, ProgramField, Emp_no, HEDNumber, BeginDate, StartCode, StartField, EndDate, StopCode, AmountPercent, BEGIN Procedures Page 59
  • 60.
    AmountPercent, StopField, IncomeCode, IncomeAmount, YTDPay, YTDHours ) VALUES ( @OrgId, 'HH-SCR', @EmpNum, @HEDNumber, @BeginDate, @StartCode, @StartField, @EndDate, @StopCode, REPLACE(@IncAmount, '.', ''),--@AmtPct, @StopField, @IncCode, @IncAmount, @YtdPay, @YtdHrs ) SET @EmployerCode = NULL; SET @EmpNum = NULL; SET @IncCode = NULL; SET @BeginDate = NULL; SET @EndDate = NULL; SET @IncAmount = NULL; SET @YtdPay = NULL; SET @YtdHrs = NULL; SET @OrgId = NULL; SET @StatusCode = NULL; SET @TermDate = NULL; SET @HEDNumber = NULL; SET @StartCode = NULL; SET @StartField = NULL; SET @StopCode = NULL; SET @AmtPct = NULL; SET @StopField = NULL;; FETCH NEXT FROM datacursor INTO @EmployerCode, @EmpNum, @IncCode, @BeginDate, @EndDate, @IncAmount, @YtdPay, @YtdHrs, @HEDNumber, @group_number; END END Procedures Page 60
  • 61.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_J] Script Date: 12/12/2013 15:16:51 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_J] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_J; DECLARE @EmployerCode nchar(3), @EmpNum nchar(9), @MaritalStatusTax nchar(1), @FedExempts nvarchar(255), @StateExempts nvarchar(255) FROM dbo.GFSISSY04 AS gs4; SELECT gs4.Employer_code, gs4.Emp_no, gs4.Marital_status_tax, gs4.Fed_exmptions, gs4.State_exemptions DECLARE datacursor CURSOR FOR OPEN datacursor; FETCH NEXT FROM datacursor INTO @EmployerCode, @EmpNum, @MaritalStatusTax, @FedExempts, @StateExempts; WHILE @@FETCH_STATUS = 0 DECLARE @OrgId char(6), @StatusCode nchar(5), @TermDate nchar(8) SET @OrgId = NULL; SET @StatusCode = NULL; SET @TermDate = NULL; FROM dbo.GFSISSY02 AS gs2 WHERE gs2.Employer_code = @EmployerCode AND gs2.Emp_no = @EmpNum; SELECT @StatusCode = gs2.status_code, @TermDate = gs2.cur_term_date --EXEC @OrgId = dbo.ufn_GetOrgId @EmployerCode, @StatusCode, @TermDate; EXEC @OrgId = dbo.ufn_GetOrgId02 @EmployerCode, @EmpNum; IF (@OrgId IS NOT NULL) SET @EmpNum = SUBSTRING(@EmpNum, 3, 7); DECLARE @DeductCode nchar(5), @MaritalStatus nchar(1), @AddAmount nchar(13), @AddPercent nchar(11); SET @FedTaxMethodCode = '1'; SET @StateTaxMethodCode = '1'; SET @FedTaxMaritalCode = @MaritalStatusTax; SET @StateTaxMaritalCode = @MaritalStatusTax; DECLARE @FedTaxMethodCode nchar(1), @FedTaxMaritalCode nchar(1), @StateTaxMethodCode nchar(1), @StateTaxMaritalCode nchar(1); DECLARE gs8Cursor CURSOR FOR FROM dbo.GFSISSY08 AS gs8 WHERE gs8.Employer_code = @EmployerCode AND gs8.Emp_no = @EmpNum; SELECT gs8.Deduction_code, gs8.Marital_status, gs8.Additional_employee_amount, gs8.Additional_employee_percent OPEN gs8Cursor; FETCH NEXT FROM gs8Cursor INTO @DeductCode, @MaritalStatus, @AddAmount, @AddPercent WHILE @@FETCH_STATUS = 0 IF(@DeductCode = 'FWT' AND CAST(@AddAmount AS decimal) > 0) SET @FedTaxMethodCode = '6'; BEGIN END ELSE IF (@DeductCode = 'FWT' AND CAST(@AddPercent AS decimal) > 0) SET @FedTaxMethodCode = '7'; BEGIN BEGIN BEGIN BEGIN BEGIN TransactionCursor_J Thursday, December 12, 2013 3:16 PM Procedures Page 61
  • 62.
    SET @FedTaxMethodCode ='7'; END IF(@DeductCode = 'SCA' AND CAST(@AddAmount AS decimal) > 0) SET @StateTaxMethodCode = '6'; BEGIN END ELSE IF (@DeductCode = 'SCA' AND CAST(@AddPercent AS decimal) > 0) SET @StateTaxMethodCode = '7'; BEGIN END IF(@DeductCode = 'FWT') Set @FedTaxMaritalCode = @MaritalStatus; BEGIN END IF(@DeductCode = 'SCA') Set @StateTaxMaritalCode = @MaritalStatus; BEGIN END SET @DeductCode = NULL; SET @MaritalStatus = NULL; SET @AddAmount = NULL; SET @AddPercent = NULL; END CLOSE gs8Cursor; DEALLOCATE gs8Cursor; DECLARE @ConvFedMarital nchar(1), @ConvStatMarital nchar(1); EXEC @ConvFedMarital = dbo.ufn_Convert_MaritalCode @FedTaxMaritalCode; EXEC @ConvStatMarital = dbo.ufn_Convert_MaritalCode @StateTaxMaritalCode; DECLARE @ExemptFed nvarchar(2), @ExemptState nvarchar(2); SET @ExemptFed = RTRIM(LTRIM(@FedExempts)); SET @ExemptState = RTRIM(LTRIM(@StateExempts)); INSERT INTO dbo.Transaction_J OrgId, Program_field, Emp_no, TaxId, Tax_method_code, Reciprocal_code, Tax_marital_code, Tax_dependents ( ) VALUES @OrgId, 'JJ-SCR', @EmpNum, '102', @FedTaxMethodCode, '3', @ConvFedMarital, @ExemptFed ( ) INSERT INTO dbo.Transaction_J OrgId, Program_field, Emp_no, TaxId, Tax_method_code, Reciprocal_code, Tax_marital_code, Tax_dependents ( ) VALUES Procedures Page 62
  • 63.
    VALUES @OrgId, 'JJ-SCR', @EmpNum, '2CA', @StateTaxMethodCode, '3', @ConvStatMarital, @ExemptState ( ) INSERT INTO dbo.Transaction_J OrgId, Program_field, Emp_no, TaxId, Tax_method_code, Reciprocal_code, Tax_marital_code, Tax_dependents ( ) VALUES @OrgId, 'JJ-SCR', @EmpNum, '4CASDI', '2', '', '1', '00' ( ) SET@OrgId = NULL; SET @StatusCode = NULL; SET @TermDate = NULL; SET @FedTaxMethodCode = NULL; SET @FedTaxMaritalCode = NULL; SET @StateTaxMethodCode = NULL; SET @StateTaxMaritalCode = NULL; END SET @EmployerCode = NULL; SET @EmpNum = NULL; SET @MaritalStatusTax = NULL; --SET @FedExempts = NULL; --SET @StateExempts = NULL; FETCH NEXT FROM datacursor INTO @EmployerCode, @EmpNum, @MaritalStatusTax, @FedExempts, @StateExempts; END CLOSE datacursor; DEALLOCATE datacursor; END Procedures Page 63
  • 64.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_K_HED] Script Date: 12/12/2013 15:17:56 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_K_HED] AS DECLARE @datenow datetime; SET @datenow = SYSDATETIME(); PRINT 'TransactionCursor_K_HED BEGIN: ' + CAST(@datenow AS nvarchar); SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_K_HED; @check_number nvarchar(12), @codetype nvarchar(10), @check_date_string nvarchar(10), @check_date date, @CompanyNumber nvarchar(6), @code nvarchar(10), @origin nvarchar(10), @Amount_paid decimal(10,2), @Hours_paid decimal(7,2), @EEDeduct decimal(10,2), @ERDeduct decimal(10,2), @hednumber nvarchar(10), @inchrsfield nvarchar(1), @inc_HEDNumber nvarchar(10), @H9_HEDNumber nvarchar(10), @HD_HEDNumber nvarchar(10), @batchkeyid int, @batchnum int, @batchempno nvarchar(10), @update bit, @garnishmentcount int, @batchcode nvarchar(1), @maxguid float, @repetitioncount int, @stepper int, @xintv int, @yintv int, @group_number nvarchar(5); DECLARE @keyid int, @empno nvarchar(10), @employercode nvarchar(3), @periodenddate nvarchar(10), FROM [dbo].[Transaction_K_Unique] SELECT @maxguid = MAX([Transaction_K_Unique].[GUID]) SET @repetitioncount = CEILING(@maxguid/1000); SET @stepper = 0; PRINT 'Max GUID: ' + CAST(@maxguid AS nvarchar);; PRINT 'Ceiling : ' + CAST(@repetitioncount AS nvarchar);; WHILE (@stepper < @repetitioncount) SET @datenow = SYSDATETIME(); SET @xintv = @stepper * 1000; SET @yintv = @xintv + 999; PRINT 'Step ' + CAST(@stepper AS nvarchar) + ': ' + CAST(@datenow AS nvarchar); PRINT 'From: ' + CAST(@xintv AS nvarchar); PRINT 'To : ' + CAST(@yintv AS nvarchar); DECLARE chkcur CURSOR FOR ks.Emp_no, ks.Employer_code, RTRIM(LTRIM(ks.check_date_string)) AS check_date, RTRIM(LTRIM(ks.Check_date)), RTRIM(LTRIM(ks.Check_number)), RTRIM(LTRIM(ks.Action_code_code)) AS Actioncode, RTRIM(LTRIM(ga.code_type)), RTRIM(LTRIM(ga.Origin)), SUM(CAST(RTRIM(LTRIM(ga.amount_paid)) AS decimal(10,2))), SUM(CAST(RTRIM(LTRIM(ga.hours_paid)) AS decimal(7,2))), SUM(CAST(RTRIM(LTRIM(ga.employee_deduction)) AS decimal(10,2))), SUM(CAST(RTRIM(LTRIM(ga.employer_deduction)) AS decimal(10,2))), RTRIM(LTRIM(gb.Group_number)) LEFT OUTER JOIN [dbo].[GFSISSY24_GFSISSY25] AS ga ON RTRIM(LTRIM(ga.Emp_no)) = ks.Emp_no AND RTRIM(LTRIM(ga.Employer_code)) = ks.Employer_code AND FROM [dbo].[Transaction_K_Unique] AS ks SELECT ks.[GUID] AS [GUID], BEGIN BEGIN [TransactionCursor_K_HED Thursday, December 12, 2013 3:17 PM Procedures Page 64
  • 65.
    RTRIM(LTRIM(ga.Employer_code)) = ks.Employer_codeAND RTRIM(LTRIM(ga.period_end_date)) = ks.Period_end_date_string AND RTRIM(LTRIM(ga.Check_number)) = ks.Check_number AND ga.code = ks.Action_code_code LEFT OUTER JOIN [dbo].[GFSISSY56] AS gb ON RTRIM(LTRIM(gb.[Emp_no])) = RIGHT(ks.[Emp_no],7) AND RTRIM(LTRIM(gb.Employer_code)) = LEFT(ks.Employer_code,2) --AND --ks.[Emp_no] = '001661364' AND ks.[Period_end_date] = '2013-02-24' WHERE ks.[GUID] BETWEEN (@xintv) AND (@yintv) ks.Emp_no, ks.Employer_code, RTRIM(LTRIM(ks.check_date_string)), RTRIM(LTRIM(ks.Check_date)), RTRIM(LTRIM(ks.Check_number)), ks.[GUID], RTRIM(LTRIM(ks.Action_code_code)), RTRIM(LTRIM(ga.code_type)), RTRIM(LTRIM(ga.Origin)), RTRIM(LTRIM(gb.Group_number)) GROUP BY ks.Emp_no, ks.Employer_code, RTRIM(LTRIM(ks.Check_number)), RTRIM(LTRIM(ks.Action_code_code)), RTRIM(LTRIM(ga.code_type)), RTRIM(LTRIM(ga.Origin)) ORDER BY ks.[GUID], OPEN chkcur; FETCH NEXT FROM chkcur INTO @keyid, @empno, @employercode, @check_date_string, @check_date, @check_number, @code, @codetype, @origin, @Amount_paid, @Hours_paid, @EEDeduct, @ERDeduct, @group_number; SET @batchnum = 1; SET @batchcode = 'A'; SET @batchempno = 0; SET @update = 0; WHILE @@FETCH_STATUS = 0 @Century_check_date nvarchar(10), @ValueA decimal(10,2), @ValueB decimal(10,2), @codesign int; DECLARE @actioncode nvarchar(1), @todatecode nvarchar(1), BEGIN IF (@batchempno != @empno) SET @batchnum = 1; SET @batchcode = 'A'; SET @garnishmentcount = 0; SET @update = 0; SET @batchempno = @empno; BEGIN END ELSE IF (@batchkeyid != @keyid) SET @batchnum = @batchnum + 1; SET @garnishmentcount = 0; EXEC @batchcode = dbo.ufn_GetBatchCode @batchnum; SET @update = 0; BEGIN END ELSE SET @update = 1; BEGIN END BEGIN END IF (@update = 0) Procedures Page 65
  • 66.
    IF (@update =0) IF(@code = 'V') SET @actioncode = '-'; SET @codesign = -1; BEGIN END ELSE SET @actioncode = 'M'; SET @codesign = 1; BEGIN END IF(DATEDIFF(day,'2013-07-01',@check_date) > 0) SET @todatecode = '3'; BEGIN END ELSE SET @todatecode = '5'; BEGIN END Batch_code = @batchcode, ToDateCode = @todatecode SET Action_code = @actioncode, WHERE [GUID] = @keyid; UPDATE [dbo].[Transaction_K_Unique] BEGIN END LEFT OUTER JOIN [dbo].Transaction_H9 AS h9 ON h9.EmpNum= @empno AND h9.EmployerCode = @employercode AND h9.DeductionCode = @codetype LEFT OUTER JOIN [dbo].[Transaction_HD] AS hd ON hd.EmpNum = @empno And hd.EmployerCode = @employercode AND hd.IncomeCode = @codetype FROM [dbo].[Inc_and_Deduct_To_HED_Nos] AS inc inc.EMPLOYER = @employercode AND inc.[INCOME CODE] = @codetype; WHERE SELECT @inc_HEDNumber = inc.HED2, @inchrsfield = inc.[Inc Hrs Flag], @H9 _HEDNumber = h9.HEDNumber, @HD_HEDNumber = hd.HEDNumber IF((@codetype LIKE 'LOAN%') OR @codetype IN ('BANK', 'GAR', 'GAR1', 'GAR2', 'GAR4', 'GAR6', 'GAR7', 'IRS', 'SCH', 'STATE')) SET @hednumber = @HD_HEDNumber; BEGIN END ELSE IF (@codetype IN ('DDCK', 'DDCU', 'DDFL1', 'DDFL2', 'DDFL3', 'DDPC1', 'DDSAV') AND @origin = '25') SET @hednumber = @H9_HEDNumber; BEGIN END ELSE SET @hednumber = RIGHT(@inc_HEDNumber,3); BEGIN END IF(@hednumber IS NULL) SET @hednumber = RIGHT(@inc_HEDNumber,3); BEGIN END IF(@codetype = '*DCA') IF (@EEDeduct <> 0) BEGIN SET [code_type_*DCA] = @EEDeduct UPDATE [dbo].[Transaction_K_Unique] --PRINT @codetype + ' --- ' + @hednumber + ' --- ' + CAST(@EEDeduct AS nvarchar) + ' --- ' + CAST(@ERDeduct AS nvarchar); BEGIN Procedures Page 66
  • 67.
    SET [code_type_*DCA] =@EEDeduct WHERE [GUID] = @keyid; END ELSE WHERE [GUID] = @keyid; SET [code_type_*DCA] = '0' --SET [code_type_*DCA] = @ERDeduct UPDATE [dbo].[Transaction_K_Unique] BEGIN END END ELSE IF(@codetype = '*FICA') IF (@EEDeduct <> 0) SET [code_type_*FICA] = @EEDeduct WHERE [GUID] = @keyid; UPDATE [dbo].[Transaction_K_Unique] BEGIN END ELSE SET [code_type_*FICA] = '0' WHERE [GUID] = @keyid; --SET [code_type_*FICA] = @ERDeduct UPDATE [dbo].[Transaction_K_Unique] BEGIN END BEGIN END ELSE IF(@codetype = '*FMHI') IF (@EEDeduct <> 0) SET [code_type_*FMHI] = @EEDeduct WHERE [GUID] = @keyid; UPDATE [dbo].[Transaction_K_Unique] BEGIN END ELSE SET [code_type_*FMHI] = '0' WHERE [GUID] = @keyid; --SET [code_type_*FMHI] = @ERDeduct UPDATE [dbo].[Transaction_K_Unique] BEGIN END BEGIN END ELSE IF(@codetype = '*FWT') IF (@EEDeduct <> 0) SET [code_type_*FWT] = @EEDeduct WHERE [GUID] = @keyid; UPDATE [dbo].[Transaction_K_Unique] BEGIN END ELSE SET [code_type_*FWT] = '0' WHERE [GUID] = @keyid; --SET [code_type_*FWT] = @ERDeduct UPDATE [dbo].[Transaction_K_Unique] BEGIN END BEGIN END ELSE IF(@codetype = '*SCA') IF (@EEDeduct <> 0) SET [code_type_*SCA] = @EEDeduct UPDATE [dbo].[Transaction_K_Unique] BEGIN BEGIN Procedures Page 67
  • 68.
    SET [code_type_*SCA] =@EEDeduct WHERE [GUID] = @keyid; END ELSE SET [code_type_*SCA] = '0' WHERE [GUID] = @keyid; --SET [code_type_*SCA] = @ERDeduct UPDATE [dbo].[Transaction_K_Unique] BEGIN END END ELSE IF(@codetype = '*UCA') IF (@EEDeduct <> 0) SET [code_type_*UCA] = @EEDeduct WHERE [GUID] = @keyid; UPDATE [dbo].[Transaction_K_Unique] BEGIN END ELSE SET [code_type_*UCA] = '0' WHERE [GUID] = @keyid; --SET [code_type_*UCA] = @ERDeduct UPDATE [dbo].[Transaction_K_Unique] BEGIN END BEGIN END ELSE IF(@codetype IN ('DDCK')) IF (@EEDeduct <> 0) SET [Net_pay] = @EEDeduct WHERE [GUID] = @keyid; UPDATE [dbo].[Transaction_K_Unique] BEGIN END ELSE SET [Net_pay] = '0' WHERE [GUID] = @keyid; --SET [Net_pay] = @ERDeduct UPDATE [dbo].[Transaction_K_Unique] BEGIN END BEGIN END ELSE IF (@codetype NOT IN ('*ETT', '*FUTA', '*UNM', '2CA', 'CRDK', 'DDCK')) --DECLARE @hedint int; --BEGIN TRY -- SET @hedint = CAST(@hednumber AS int); --END TRY --BEGIN CATCH -- SET @hedint = -1; --END CATCH IF (@codetype = '401KI' AND @origin = '24') IF (@group_number = '75585') SET @hednumber = '487'; BEGIN END ELSE IF (@group_number = '20923') SET @hednumber = '488'; BEGIN END BEGIN END IF (CAST(@hednumber AS int) > 0 AND CAST(@hednumber AS int) < 500) BEGIN Procedures Page 68
  • 69.
    < 500) IF(@inchrsfield ='N') SET @ValueB = NULL; BEGIN END ELSE SET @ValueB = @Hours_paid; BEGIN END SET @ValueA = @Amount_paid; BEGIN END ELSE IF (@codetype IN ('LTD', 'SSLIF')) IF(@EEDeduct <> 0 AND @EEDeduct IS NOT NULL) SET @ValueA = @EEDeduct; SET @ValueB = @ERDeduct; BEGIN END ELSE --IF(CAST(@ERDeduct AS float) <> 0 OR @ERDeduct IS NOT NULL) SET @ValueA = @ERDeduct; BEGIN END BEGIN END ELSE IF(@codetype = 'STATE' AND @origin = '25') SET @ValueA = @EEDeduct; SET @ValueB = NULL; BEGIN END ELSE IF(@codetype = 'STATE' AND @origin = '24') SET @hednumber = NULL; SET @ValueA = NULL; SET @ValueB = NULL; BEGIN END ELSE IF (@hednumber = '735') SET @hednumber = '755'; SET @ValueA = @ERDeduct; (KID, Code_type, Origin, HEDNumber, ValueA, ValueB) VALUES (@keyid, @codetype, @origin, @hednumber, @ValueA, '') INSERT INTO dbo.Transaction_K_HED SET @hednumber = '735'; SET @ValueA = @EEDeduct; BEGIN END ELSE IF (@hednumber = '801') SET @hednumber = '805'; SET @ValueA = @ERDeduct; (KID, Code_type, Origin, HEDNumber, ValueA, ValueB) VALUES (@keyid, @codetype, @origin, @hednumber, @ValueA, '') INSERT INTO dbo.Transaction_K_HED SET @hednumber = '801'; SET @ValueA = @EEDeduct; BEGIN END ELSE IF(@Amount_paid > 0 OR @Hours_paid > 0) SET @ValueA = @Amount_paid; IF(@inchrsfield = 'N') BEGIN BEGIN BEGIN Procedures Page 69
  • 70.
    SET @ValueB =NULL; BEGIN END ELSE SET @ValueB = @Hours_paid; BEGIN END END ELSE IF(@EEDeduct <> 0 AND @EEDeduct IS NOT NULL) SET @ValueA = @EEDeduct; SET @ValueB = @ERDeduct; BEGIN END ELSE --IF(CAST(@ERDeduct AS float) <> 0 OR @ERDeduct IS NOT NULL) SET @ValueA = @ERDeduct; BEGIN END BEGIN END END IF (@hednumber IS NOT NULL) IF(@ValueA IS NOT NULL OR @ValueB IS NOT NULL) (KID, Code_type, Origin, HEDNumber, ValueA, ValueB) VALUES (@keyid, @codetype, @origin, @hednumber, @ValueA, @ValueB) INSERT INTO dbo.Transaction_K_HED BEGIN END BEGIN END END SET @batchkeyid = @keyid; SET @Amount_paid = NULL; SET @Check_date = NULL; SET @code = NULL; SET @codetype = NULL; SET @CompanyNumber = NULL; SET @EEDeduct = NULL; SET @empno = NULL; SET @ERDeduct = NULL; SET @hednumber = NULL; SET @Hours_paid = NULL; SET @inchrsfield = NULL; SET @keyid = NULL; SET @origin = NULL; SET @actioncode = NULL; SET @batchcode = NULL; SET @Century_check_date = NULL; SET @todatecode = NULL; SET @ValueA = NULL; SET @ValueB = NULL; SET @hednumber = NULL; SET @inchrsfield = NULL; SET @inc_HEDNumber = NULL; SET @H9_HEDNumber = NULL; SET @HD_HEDNumber = NULL; SET @group_number = NULL; FETCH NEXT FROM chkcur INTO @keyid, @empno, @employercode, @check_date_string, @check_date, @check_number, @code, @codetype, @origin, @Amount_paid, @Hours_paid, @EEDeduct, @ERDeduct, @group_number; END CLOSE chkcur; Procedures Page 70
  • 71.
    CLOSE chkcur; DEALLOCATE chkcur; SET@stepper = @stepper + 1; END SET @datenow = SYSDATETIME(); PRINT 'TransactionCursor_K_HED END: ' + CAST(@datenow AS nvarchar); END Procedures Page 71
  • 72.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_K_Unique] Script Date: 12/12/2013 15:18:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- Batch submitted through debugger: SQLQuery2.sql|7|0|C:Usersluther.quinnAppDataLocalTemp1 ~vs56DB.sql ALTER PROCEDURE [dbo].[TransactionCursor_K_Unique] AS DECLARE @datenow datetime; SET @datenow = SYSDATETIME(); PRINT 'TransactionCursor_K_Unique BEGIN: ' + CAST(@datenow AS nvarchar); SET NOCOUNT ON; DROP CONSTRAINT [FK_Transaction_K_HED_Transaction_K_Unique]; ALTER TABLE [dbo].[Transaction_K_HED] BEGIN END TRUNCATE TABLE dbo.Transaction_K_Unique; TRUNCATE TABLE dbo.Transaction_K_HED; WITH CHECK ADD CONSTRAINT [FK_Transaction_K_HED_Transaction_K_Unique] FOREIGN KEY([KID]) REFERENCES [dbo].[Transaction_K_Unique] ([GUID]) ALTER TABLE [dbo].[Transaction_K_HED] BEGIN END (Emp_no, Employer_code, Period_end_date_string, Period_end_date, Century_period_end_date, Check_number, Action_code_code, Check_date_string, Check_date, Century_check_date, CompanyNumber, Check_net) --, Action_code, ToDateCode) RTRIM(LTRIM(g.Employer_code)), RTRIM(LTRIM(g.Period_end_date)), [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g.Period_end_date))), [dbo].[ufn_Convert_ToCenturyDate] (RTRIM(LTRIM(g.period_end_date))), RTRIM(LTRIM(g.Check_number)), RTRIM(LTRIM(g.code)), RTRIM(LTRIM(g.check_date)), [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g.check_date))), SELECT RTRIM(LTRIM(g.Emp_no)), INSERT INTO [dbo].[Transaction_K_Unique] BEGIN [dbo].[ufn_Convert_ToCenturyDate] (RTRIM(LTRIM(g.check_date))), cn.CompanyNumber, LEFT OUTER JOIN [dbo].[CompanyNumber] AS cn ON cn.EmpNum = g.Emp_no AND cn.EmployerCode = g.Employer_code LEFT OUTER JOIN [dbo].[GFSISSY26] AS g6 ON RTRIM(LTRIM(g6.Emp_no)) = RTRIM(LTRIM(g.Emp_no)) AND RTRIM(LTRIM(g6.Employer_code)) = RTRIM(LTRIM(g.Employer_code)) AND RTRIM(LTRIM(g6.Check_date)) = RTRIM(LTRIM(g.check_date)) AND RTRIM(LTRIM(g6.Check_number)) = RTRIM(LTRIM(g.check_number)) AND RTRIM(LTRIM(g6.Signchar)) = RTRIM(LTRIM(g.code)) FROM [dbo].[GFSISSY24_GFSISSY25] AS g --AND g.[Emp_no] IN ('') WHERE CAST(RIGHT(RTRIM(LTRIM(g.check_date)),4) AS int) >= 2013 GROUP BY cn.CompanyNumber, RTRIM(LTRIM(g.Emp_no)), RTRIM(LTRIM(g.Employer_code)), RTRIM(LTRIM(g.Check_number)), RTRIM(LTRIM(g.code)), RTRIM(LTRIM(g.Period_end_date)), RTRIM(LTRIM(g.check_date)), g6.Check_net g6.Check_net TransactionCursor_K_Unique Thursday, December 12, 2013 3:18 PM Procedures Page 72
  • 73.
    RTRIM(LTRIM(g.check_date)), g6.Check_net ORDER BYRTRIM(LTRIM(g.Emp_no)), RTRIM(LTRIM(g.Employer_code)), dbo.ufn_Convert_ToDate (RTRIM(LTRIM(g.Period_end_date))), RTRIM(LTRIM(g.Check_number)), RTRIM(LTRIM(g.code)); SET @datenow = SYSDATETIME(); PRINT 'TransactionCursor_K_Unique END: ' + CAST(@datenow AS nvarchar); EXEC [dbo].[TransactionCursor_K_HED]; END Procedures Page 73
  • 74.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_LLK] Script Date: 12/12/2013 15:19:23 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_LLK] AS SET NOCOUNT ON; TRUNCATE TABLE [dbo].[Transaction_LLK]; @GroupNumber nvarchar(5), @Date_in_plan nvarchar(10), @CompanyNumber nvarchar(6), @Plan_id_code nvarchar(3), @Date_check date, @Date_birth date, @Age int, @OfHours nvarchar(1), @Statuscode char(1), @Date_planentry date, @Planentry nvarchar(10), @Serviceindic char(1), @Empnokeeper nvarchar(10), @Employercodekeeper nvarchar(3), @Statuskeeper char(1); DECLARE @Emp_no nvarchar(10), @Employer_code nvarchar(3), @PayYear nvarchar(10), @Yearhours numeric(8,2), @Birthday nvarchar(10), @Nonresalien char(1), RTRIM(LTRIM(g24.Employer_code)), RIGHT(RTRIM(LTRIM(g24.check_date)),4), SUM(CAST(RTRIM(LTRIM(g24.hours_paid)) AS numeric(8,2))), RTRIM(LTRIM(g02.Date_of_Birth)), RTRIM(LTRIM(g04.Non_alien_code)), RTRIM(LTRIM(g56.Group_number)), RTRIM(LTRIM(g56.Date_in_plan)) LEFT OUTER JOIN [dbo].[GFSISSY02] AS g02 ON g02.Employer_code = g24.Employer_code AND g02.Emp_no = g24.Emp_no LEFT OUTER JOIN [dbo].[GFSISSY04] AS g04 ON g04.Employer_code = g24.Employer_code AND g04.Emp_no = g24.Emp_no LEFT OUTER JOIN [dbo].[GFSISSY56] AS g56 ON RTRIM(LTRIM(g56.Employer_code)) = LEFT(RTRIM(LTRIM(g24.Employer_code)),2) AND RTRIM(LTRIM(g56.Emp_no)) = RIGHT(RTRIM(LTRIM(g24.Emp_no)),7) LEFT OUTER JOIN [dbo].[Inc_To_HED_No] AS hed ON hed.EMPLOYER = g24.Employer_code AND hed.[INCOME CODE] = g24.Income_code_type AND hed.[Inc Hrs Flag] = 'Y' AND hed.HED IS NOT NULL WHERE RIGHT(g24.check_date,4) >= 2004 RTRIM(LTRIM(g24.Employer_code)), RIGHT(RTRIM(LTRIM(g24.check_date)),4), RTRIM(LTRIM(g02.Date_of_Birth)), RTRIM(LTRIM(g04.Non_alien_code)), RTRIM(LTRIM(g56.Group_number)), RTRIM(LTRIM(g56.Date_in_plan)) GROUP BY RTRIM(LTRIM(g24.Emp_no)), RTRIM(LTRIM(g24.Employer_code)), RIGHT(RTRIM(LTRIM(g24.check_date)),4) ORDER BY RTRIM(LTRIM(g24.Emp_no)), FROM [dbo].[GFSISSY24] AS g24 SELECT RTRIM(LTRIM(g24.Emp_no)), DECLARE regcrs CURSOR FOR SET @Empnokeeper = ''; BEGIN TransactionCursor_LLK Thursday, December 12, 2013 3:19 PM Procedures Page 74
  • 75.
    SET @Empnokeeper =''; SET @Employercodekeeper = ''; OPEN regcrs; FETCH NEXT FROM regcrs INTO @Emp_no, @Employer_code, @PayYear, @Yearhours, @Birthday, @Nonresalien, @GroupNumber, @Date_in_plan; WHILE (@@FETCH_STATUS = 0) --PRINT @Empnokeeper + '; ' + @Emp_no; IF (@Empnokeeper != @Emp_no OR @Employercodekeeper != @Employer_code) SET @Empnokeeper = @Emp_no; SET @Employercodekeeper = @Employer_code; SET @Statuskeeper = ''; BEGIN END @Monthstring nvarchar(2), @Daystring nvarchar(2), @Yearstring nvarchar(4), @Yearhours_char nvarchar(8); DECLARE @Dateinplan_string nvarchar(10), @Datestring nvarchar(8), @Monthint int, @Dayint int, @Yearint int, EXEC @CompanyNumber = [dbo].[ufn_GetOrgId02] @Employer_code, @Emp_no; SET @Datestring = '1231' + @PayYear; EXEC @Date_check = [dbo].[ufn_Convert_ToDate] @Datestring; EXEC @Date_birth = [dbo].[ufn_Convert_ToDate] @Birthday; SET @Age = DATEDIFF(year, @Date_birth, @Date_check); SET @Dateinplan_string = SUBSTRING(@Date_in_plan, 5, 2) + RIGHT(@Date_in_plan, 2) + LEFT(@Date_in_plan, 4); EXEC @Date_planentry = [dbo].[ufn_Convert_ToDate] @Dateinplan_string; IF (@GroupNumber = '75585') SET @Plan_id_code = 'RP1'; SET @Statuskeeper = 'E'; BEGIN END ELSE IF (@GroupNumber = '20923') SET @Plan_id_code = 'RP2'; SET @Statuskeeper = 'E'; BEGIN END ELSE IF (@CompanyNumber IN ('047C2F', '057D2F')) SET @Plan_id_code = 'RP1'; BEGIN END ELSE SET @Plan_id_code = 'RP2'; BEGIN END IF (@Statuskeeper = 'E') SET @Statuscode = 'E'; BEGIN END ELSE IF (@Statuskeeper = 'L') SET @Statuscode = 'L'; BEGIN END ELSE IF (@Statuskeeper = 'Z' AND @Age >= 21) SET @Statuscode = 'L'; BEGIN END ELSE IF (@Statuskeeper = 'Z' AND @Age < 21) SET @Statuscode = 'Z'; BEGIN END ELSE IF (@Yearhours >= 1000) IF (@Age >= 21) SET @Statuscode = 'L'; BEGIN BEGIN BEGIN Procedures Page 75
  • 76.
    SET @Statuscode ='L'; END ELSE SET @Statuscode = 'Z'; BEGIN END END ELSE IF (@Nonresalien = '1') SET @Statuscode = 'I'; BEGIN END ELSE SET @Statuscode = 'O'; BEGIN END SET @Statuskeeper = @Statuscode; SET @Monthint = MONTH(@Date_planentry); SET @Dayint = DAY(@Date_planentry); SET @Yearint = YEAR(@Date_planentry); IF (@Monthint < 10) SET @Monthstring = '0' + CAST(@Monthint AS nvarchar); BEGIN END ELSE SET @Monthstring = CAST(@Monthint AS nvarchar); BEGIN END IF (@Dayint < 10) SET @Daystring = '0' + CAST(@Dayint AS nvarchar); BEGIN END ELSE SET @Daystring = CAST(@Dayint AS nvarchar); BEGIN END SET @Yearstring = CAST(@Yearint AS nvarchar); SET @Planentry = @Monthstring + '-' + @Daystring + '-' + @Yearstring; IF (@Yearhours >= 1000) SET @Serviceindic = 'Y'; BEGIN END ELSE SET @Serviceindic = 'N'; BEGIN END SET @Yearhours_char = CAST(@Yearhours AS nvarchar); SET @Yearhours_char = REPLACE(@Yearhours_char, '.', '');; CompanyNumber, Emp_no, GroupNumber, Plan_id_code, Plan_year, Status_code, Plan_entry_date, Hours_plan_year, Age_plan_year, Year_of_service_ind ( ) VALUES @CompanyNumber, @Emp_no, ( INSERT INTO [dbo].[Transaction_LLK] Procedures Page 76
  • 77.
    @Emp_no, @GroupNumber, @Plan_id_code, '12-31-' + @PayYear, @Statuscode, @Planentry, @Yearhours_char, @Age, @Serviceindic ) SET@Emp_no = ''; SET @Employer_code = ''; SET @PayYear = ''; SET @Yearhours = NULL; SET @Yearhours_char = ''; SET @Birthday = ''; SET @GroupNumber = NULL; SET @Date_in_plan = ''; SET @CompanyNumber = ''; SET @Plan_id_code = ''; SET @Date_check = ''; SET @Date_birth = ''; SET @Age = ''; SET @OfHours = ''; SET @Statuscode = ''; SET @Date_planentry = ''; SET @Planentry = ''; SET @Serviceindic = ''; SET @Dateinplan_string = NULL; SET @Datestring = NULL; SET @Monthint = NULL; SET @Dayint = NULL; SET @Yearint = NULL; SET @Monthstring = NULL; SET @Daystring = NULL; SET @Yearstring = NULL; FETCH NEXT FROM regcrs INTO @Emp_no, @Employer_code, @PayYear, @Yearhours, @Birthday, @Nonresalien, @GroupNumber, @Date_in_plan; END CLOSE regcrs; DEALLOCATE regcrs; END Procedures Page 77
  • 78.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_LLM] Script Date: 12/12/2013 15:19:52 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_LLM] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_LLM; @PropertyCode nvarchar(10), @EffDateIn nvarchar(10), @EffDateOut char(10), @TempId nvarchar(10), @ID1 nvarchar(10), @ID2 nvarchar(10); DECLARE @Emp_no nvarchar(10), @Employer_code nvarchar(3), @CompanyNumber nvarchar(6), FROM [dbo].[GFSISSY21] AS g WHERE g.Property_type_code IN ('REC1', 'REC2') GROUP BY g.Emp_no, g.Employer_code ORDER BY g.Emp_no, g.Employer_code SELECT g.Emp_no, g.Employer_code DECLARE regcrs CURSOR FOR OPEN regcrs; FETCH NEXT FROM regcrs INTO @Emp_no, @Employer_code; WHILE (@@FETCH_STATUS = 0) EXEC @CompanyNumber = [dbo].[ufn_GetOrgId02] @Employer_code, @Emp_no; FROM [dbo].[GFSISSY21] AS f WHERE f.Emp_no = @Emp_no AND f.Employer_code = @Employer_code AND f.Property_type_code IN ('REC1', 'REC2') ORDER by f.Property_type_code, f.Date_entered SELECT f.Property_type_code, f.Date_entered, f.RegNum_IdNum DECLARE xlmcrs CURSOR FOR OPEN xlmcrs; FETCH NEXT FROM xlmcrs INTO @PropertyCode, @EffDateIn, @TempId; WHILE (LEN(@EffDateIn)<8) SET @EffDateIn = '0' + @EffDateIn; BEGIN END SET @EffDateOut = LEFT(@EffDateIn,2) + '-' + SUBSTRING(@EffDateIn,3,2) + '-' + RIGHT(@EffDateIn,4); WHILE (@@FETCH_STATUS = 0) IF(@PropertyCode = 'REC1') SET @ID1 = @TempId; BEGIN END ELSE SET @ID2 = @TempId; BEGIN END FETCH NEXT FROM xlmcrs INTO @PropertyCode, @EffDateIn, @TempId; BEGIN END CLOSE xlmcrs; (Emp_no, CompanyNumber, XLM_EFF_DATE, XLM_EE_ID_1, XLM_EE_ID_2) VALUES (@Emp_no, @CompanyNumber, @EffDateOut, @ID1, @ID2) INSERT INTO [dbo].[Transaction_LLM] DEALLOCATE xlmcrs; SET @PropertyCode = NULL; BEGIN BEGIN TransactionCursor_LLM Thursday, December 12, 2013 3:19 PM Procedures Page 78
  • 79.
    SET @PropertyCode =NULL; SET @EffDateIn = NULL; SET @TempId = NULL; SET @ID1 = NULL; SET @ID2 = NULL; FETCH NEXT FROM regcrs INTO @Emp_no, @Employer_code; END CLOSE regcrs; DEALLOCATE regcrs; END Procedures Page 79
  • 80.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_LOD] Script Date: 12/12/2013 15:20:17 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_LOD] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_LOD; SET ANSI_WARNINGS OFF; @BenefitId nvarchar(10), @BenefitPlanId nvarchar(10), @DependentNo int, @DPDate date, @DPStatus nvarchar(15), @Dependents nvarchar(48), @Current_TerminationDate date, @CurrentDate date, @NextDate date, @DateType nvarchar(10), @DateId int, @CurrentDependentNo int, @CurrentDependentStatus nvarchar(20), @CurrentDpndTerm date,@RecordId int, @RecordStatus nvarchar(15), @RecordTerm date, @CurrentTerminationDate date, @CurrentNo int, @TermCnt int, @PreviousTerminationDate date; DECLARE @Emp_no nvarchar(10), @Employer_code nvarchar(3), @BenefitPlanCode nvarchar(3), RTRIM(LTRIM(g8.Employer_code)), RTRIM(LTRIM(m.[Accero Benefit_Plan_Cd])) LEFT OUTER JOIN [dbo].[Benefits_MedicalDentalVision] AS m ON RTRIM(LTRIM(m.Benefit_id)) = RTRIM(LTRIM(g8.Benefit_id)) AND RTRIM(LTRIM(m.Benefit_plan_id)) = RTRIM(LTRIM(g8.Benefit_plan_id)) FROM [dbo].[GFSISSY18] AS g8 --AND --[Emp_no] IN ( '001660581', '001661671') --('001660352', '001660562') --('001660600', '001660377') -- WHERE m.[Accero Benefit_Plan_Cd] IS NOT NULL RTRIM(LTRIM(g8.Employer_code)), RTRIM(LTRIM(m.[Accero Benefit_Plan_Cd])) GROUP BY RTRIM(LTRIM(g8.Emp_no)), RTRIM(LTRIM(g8.Employer_code)), RTRIM(LTRIM(m.[Accero Benefit_Plan_Cd])) ORDER BY RTRIM(LTRIM(g8.Emp_no)), SELECT RTRIM(LTRIM(g8.Emp_no)), DECLARE empcur CURSOR FOR OPEN empcur; FETCH NEXT FROM empcur INTO @Emp_no, @Employer_code, @BenefitPlanCode; WHILE (@@FETCH_STATUS = 0) PRINT ''; PRINT ''; PRINT @Emp_no + ', ' + @Employer_code + ', ' + @BenefitPlanCode; PRINT '**************************************************************************'; DECLARE @CompanyNumber nvarchar(6), @EffectiveDate date, @TerminationDate date, @EE_TerminationDateDate date, @EE_TerminationDateChar nvarchar(10); EXEC @CompanyNumber = [dbo].[ufn_GetOrgId02] @Employer_code, @Emp_no; CREATE TABLE #tbl_DpndntNo [NumRecordId] int identity(1,1), [DependentNo] int, ( BEGIN BEGIN TransactionCursor_LOD Thursday, December 12, 2013 3:20 PM Procedures Page 80
  • 81.
    [DependentNo] int, [Status] nvarchar(30), [TerminationDate]date ); CREATE TABLE #tbl_DatesEffective [NumRecordId] int identity(1,1), [DateEffective] date UNIQUE NONCLUSTERED, [DateType] nvarchar(10) ( ); FROM [dbo].[GFSISSY19] AS g9 AND g9.Employer_code = @Employer_code WHERE g9.Emp_no = @Emp_no SELECT MAX([dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g9.Termination_date)))) ( ) SET @EE_TerminationDateDate = DECLARE @monthint int, @monthchar char(2), @dayint int, @daychar char(2) SET @monthint = MONTH(@EE_TerminationDateDate); SET @dayint = DAY(@EE_TerminationDateDate); IF (@monthint < 10) SET @monthchar = '0' + CAST(@monthint AS CHAR(1)); BEGIN END ELSE SET @monthchar = CAST(@monthint AS CHAR(2)); BEGIN END IF (@dayint < 10) SET @daychar = '0' + CAST(@dayint AS CHAR(1)); BEGIN END ELSE SET @daychar = CAST(@dayint AS CHAR(2)); BEGIN END SET @EE_TerminationDateChar = @monthchar + @daychar + CAST(YEAR(@EE_TerminationDateDate) AS CHAR(4));; IF(@EE_TerminationDateDate > '2007-07-02' OR @EE_TerminationDateChar = '0') SET @Dependents = N'#'; LEFT OUTER JOIN [dbo].[Benefits_MedicalDentalVision] AS v ON RTRIM(LTRIM(v.Benefit_id)) = RTRIM(LTRIM(g18.Benefit_id)) AND RTRIM(LTRIM(v.Benefit_plan_id)) = RTRIM(LTRIM(g18.Benefit_plan_id)) FROM [dbo].[GFSISSY18] AS g18 AND g18.Employer_code = @Employer_code AND v.[Accero Benefit_Plan_Cd] = @BenefitPlanCode WHERE g18.Emp_no = @Emp_no GROUP BY CAST(RTRIM(LTRIM(g18.Dependent_no)) AS int) ORDER BY CAST(RTRIM(LTRIM(g18.Dependent_no)) AS int); SELECT CAST(RTRIM(LTRIM(g18.Dependent_no)) AS int) DECLARE dpndcrsr CURSOR FOR OPEN dpndcrsr; FETCH NEXT FROM dpndcrsr INTO @DependentNo; WHILE (@@FETCH_STATUS = 0) IF(@DependentNo > 0) INSERT INTO #tbl_DpndntNo ([DependentNo], [Status], [TerminationDate]) BEGIN BEGIN BEGIN Procedures Page 81
  • 82.
    ([DependentNo], [Status], [TerminationDate]) VALUES (@DependentNo,'NotEffective', '2007-07-03'); END SET @DependentNo = 0; FETCH NEXT FROM dpndcrsr INTO @DependentNo; END CLOSE dpndcrsr; DEALLOCATE dpndcrsr; LEFT OUTER JOIN [dbo].[Benefits_MedicalDentalVision] AS m ON RTRIM(LTRIM(m.Benefit_id)) = RTRIM(LTRIM(g8.Benefit_id)) AND RTRIM(LTRIM(m.Benefit_plan_id)) = RTRIM(LTRIM(g8.Benefit_plan_id)) FROM [dbo].[GFSISSY18] AS g8 AND RTRIM(LTRIM(g8.Employer_code)) = @Employer_code AND RTRIM(LTRIM(m.[Accero Benefit_Plan_Cd])) = @BenefitPlanCode AND LEN(g8.Effective_date) > 6 [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Termination_date))) > [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Effective_date))) OR [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Termination_date))) IS NULL ( ) AND WHERE RTRIM(LTRIM(g8.Emp_no)) = @Emp_no GROUP BY [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Effective_date))) ORDER BY [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Effective_date))); SELECT [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Effective_date))) DECLARE dteffcrs SCROLL CURSOR FOR OPEN dteffcrs; FETCH NEXT FROM dteffcrs INTO @EffectiveDate; WHILE (@@FETCH_STATUS = 0) SET @TermCnt = 0; IF(@EffectiveDate <= '2007-07-02') LEFT OUTER JOIN [dbo].[Benefits_MedicalDentalVision] AS m ON RTRIM(LTRIM(m.Benefit_id)) = RTRIM(LTRIM(g8.Benefit_id)) AND RTRIM(LTRIM(m.Benefit_plan_id)) = RTRIM(LTRIM(g8.Benefit_plan_id)) FROM [dbo].[GFSISSY18] AS g8 AND RTRIM(LTRIM(g8.Employer_code)) = @Employer_code AND RTRIM(LTRIM(m.[Accero Benefit_Plan_Cd])) = @BenefitPlanCode AND [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Effective_date))) = WHERE RTRIM(LTRIM(g8.Emp_no)) = @Emp_no SELECT [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Termination_date))) DECLARE dttrmcrs SCROLL CURSOR FOR BEGIN BEGIN Procedures Page 82
  • 83.
    (RTRIM(LTRIM(g8.Effective_date))) = @EffectiveDate [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Termination_date)) ) >[dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Effective_date))) OR [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Termination_date)) ) IS NULL ( ) AND GROUP BY [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Termination_date))) ORDER BY [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Termination_date))); OPEN dttrmcrs; FETCH NEXT FROM dttrmcrs INTO @TerminationDate; WHILE (@@FETCH_STATUS = 0) IF(@TerminationDate > '2007-07-02') IF( @TermCnt = 0) IF NOT EXISTS FROM #tbl_DatesEffective WHERE [DateEffective] = @EffectiveDate SELECT [DateEffective] ( ) ( ) PRINT 'Unique Effective Date: ' + CAST(@TerminationDate AS varchar); INSERT INTO #tbl_DatesEffective (DateEffective, DateType) VALUES (@EffectiveDate, 'Effect'); SET @TermCnt = @TermCnt + 1; BEGIN END ELSE PRINT 'Duplicate Effective Date Skiped: ' + CAST(@EffectiveDate AS varchar) + ' -- ' + CAST(@TerminationDate AS varchar); BEGIN END BEGIN END IF(@PreviousTerminationDate != @TerminationDate) IF NOT EXISTS FROM #tbl_DatesEffective WHERE [DateEffective] = @TerminationDate SELECT [DateEffective] ( ) ( ) PRINT 'Unique Termination Date: ' + BEGIN BEGIN BEGIN BEGIN Procedures Page 83
  • 84.
    PRINT 'Unique TerminationDate: ' + CAST(@TerminationDate AS varchar); INSERT INTO #tbl_DatesEffective (DateEffective, DateType) VALUES (@TerminationDate, 'Term'); END ELSE PRINT 'Duplicate Termination Date Skipped: ' + CAST(@TerminationDate AS varchar); BEGIN END END END ELSE IF(@TerminationDate IS NULL) FETCH NEXT FROM dttrmcrs INTO @NextDate; IF(@@FETCH_STATUS != 0) IF(@TermCnt = 0) IF NOT EXISTS FROM #tbl_DatesEffective WHERE [DateEffective] = @EffectiveDate SELECT [DateEffective] ( ) ( ) PRINT 'Unique Effective Date: ' + CAST(@TerminationDate AS varchar); INSERT INTO #tbl_DatesEffective (DateEffective, DateType) VALUES (@EffectiveDate, 'Effect'); SET @TermCnt = @TermCnt + 1; BEGIN END ELSE PRINT 'Duplicate Effective Date Skipped: ' + CAST(@EffectiveDate AS varchar); BEGIN END BEGIN END BEGIN END FETCH PRIOR FROM dttrmcrs INTO @NextDate; BEGIN END ELSE PRINT 'Step 3: Termination Date, ' + CAST(@TerminationDate AS varchar) + ', on or prior to 2007-07-02.'; BEGIN END SET @PreviousTerminationDate = @TerminationDate; FETCH NEXT FROM dttrmcrs INTO @TerminationDate; END CLOSE dttrmcrs; DEALLOCATE dttrmcrs; SET @EffectiveDate = NULL; SET @TerminationDate = NULL; SET @PreviousTerminationDate = NULL; END ELSE -- if EffectiveDate is > '2007-07-03' Procedures Page 84
  • 85.
    ELSE -- ifEffectiveDate is > '2007-07-03' IF NOT EXISTS FROM #tbl_DatesEffective WHERE [DateEffective] = @EffectiveDate SELECT [DateEffective] ( ) ( ) PRINT 'Unique Effective Date: ' + CAST(@TerminationDate AS varchar); INSERT INTO #tbl_DatesEffective (DateEffective, DateType) VALUES (@EffectiveDate, 'Effect'); BEGIN END ELSE PRINT 'Duplicate Effective Date Skipped: ' + CAST(@EffectiveDate AS varchar); BEGIN END LEFT OUTER JOIN [dbo].[Benefits_MedicalDentalVision] AS m ON RTRIM(LTRIM(m.Benefit_id)) = RTRIM(LTRIM(g8.Benefit_id)) AND RTRIM(LTRIM(m.Benefit_plan_id)) = RTRIM(LTRIM(g8.Benefit_plan_id)) FROM [dbo].[GFSISSY18] AS g8 AND RTRIM(LTRIM(g8.Employer_code)) = @Employer_code AND RTRIM(LTRIM(m.[Accero Benefit_Plan_Cd])) = @BenefitPlanCode AND [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Effective_date))) = @EffectiveDate [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Termination_date)) ) > [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Effective_date))) OR [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Termination_date)) ) IS NULL ( ) AND WHERE RTRIM(LTRIM(g8.Emp_no)) = @Emp_no GROUP BY [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Termination_date))) ORDER BY [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Termination_date))); SELECT [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g8.Termination_date))) DECLARE dttrmcrs SCROLL CURSOR FOR OPEN dttrmcrs; FETCH NEXT FROM dttrmcrs INTO @TerminationDate; WHILE (@@FETCH_STATUS = 0) IF BEGIN BEGIN Procedures Page 85
  • 86.
    IF NOT EXISTS FROM #tbl_DatesEffective WHERE[DateEffective] = @TerminationDate SELECT [DateEffective] ( ) ( ) PRINT 'Unique Termination Date: ' + CAST(@TerminationDate AS varchar); IF(@TerminationDate > '2007-07-02') INSERT INTO #tbl_DatesEffective (DateEffective, DateType) VALUES (@TerminationDate, 'Term'); BEGIN END BEGIN END ELSE PRINT 'Duplicate Termination Date Skipped: ' + CAST(@TerminationDate AS varchar); BEGIN END FETCH NEXT FROM dttrmcrs INTO @TerminationDate; END CLOSE dttrmcrs; DEALLOCATE dttrmcrs; END FETCH NEXT FROM dteffcrs INTO @EffectiveDate; END CLOSE dteffcrs; DEALLOCATE dteffcrs; SET @EffectiveDate = NULL; SET @TerminationDate = NULL; FROM #tbl_DatesEffective ORDER BY [DateEffective], [DateType]; SELECT [NumRecordId], [DateEffective], [DateType] DECLARE xcrs CURSOR FOR OPEN xcrs; FETCH NEXT FROM xcrs INTO @RecordId, @EffectiveDate, @DateType; WHILE (@@FETCH_STATUS = 0) PRINT @BenefitPlanCode + ' -- ' + CAST(@RecordId AS varchar) + ' -- ' + CAST(@EffectiveDate AS varchar) + ' -- ' + @DateType; FETCH NEXT FROM xcrs INTO @RecordId, @EffectiveDate, @DateType; BEGIN END CLOSE xcrs; DEALLOCATE xcrs; PRINT ''; PRINT ''; SET @RecordId = 0; SET @EffectiveDate = NULL; SET @DateType = ''; FROM #tbl_DatesEffective ORDER BY [DateEffective], [DateType]; SELECT [DateEffective], [DateType], [NumRecordId] DECLARE datecur SCROLL CURSOR FOR OPEN datecur; FETCH NEXT FROM datecur INTO @DPDate, @DateType, @RecordId; WHILE (@@FETCH_STATUS = 0) DECLARE @DPVar nvarchar(10); IF(@DPDate IS NOT NULL) BEGIN Procedures Page 86
  • 87.
    IF(@DPDate IS NOTNULL) SET @DPVar = CAST(@DPDate AS varchar); BEGIN END ELSE SET @DPVar = 'NULL' BEGIN END PRINT ''; PRINT ''; PRINT @BenefitPlanCode + ' -- ' + CAST(@RecordId AS varchar) + ' -- ' + @DPVar + ' -- ' + @DateType; PRINT '-------------------------------------------------'; FROM #tbl_DpndntNo AS d ORDER BY d.[NumRecordId], d. [DependentNo], d.[Status], d.[TerminationDate] SELECT d.[NumRecordId], d. [DependentNo], d.[Status], d.[TerminationDate] DECLARE dpnocrsr CURSOR FOR OPEN dpnocrsr; FETCH NEXT FROM dpnocrsr INTO @RecordId, @CurrentDependentNo, @CurrentDependentStatus, @CurrentDpndTerm; WHILE (@@FETCH_STATUS = 0) IF(@DateType = 'Effect') LEFT OUTER JOIN [dbo].[Benefits_MedicalDentalVision] AS v ON RTRIM(LTRIM(v.Benefit_id)) = RTRIM(LTRIM(g18.Benefit_id)) AND RTRIM(LTRIM(v.Benefit_plan_id)) = RTRIM(LTRIM(g18.Benefit_plan_id)) FROM [dbo].[GFSISSY18] AS g18 AND RTRIM(LTRIM(g18.Employer_code)) = @Employer_code AND v.[Accero Benefit_Plan_Cd] = @BenefitPlanCode AND [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g18.Effective_date))) = @DPDate AND RTRIM(LTRIM(g18.Dependent_no)) = @CurrentDependentNo; WHERE RTRIM(LTRIM(g18.Emp_no)) = @Emp_no SELECT @CurrentNo = CAST(RTRIM(LTRIM(g18.Dependent_no)) AS int), @EffectiveDate = [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g18.Effective_date))), @TerminationDate = [dbo].[ufn_Convert_ToDate](RTRIM(LTRIM(g18.Termination_date))) PRINT 'Current Dependent No: ' + CAST(@CurrentDependentNo AS varchar); PRINT 'Current No: ' + RTRIM(LTRIM(CAST(@CurrentNo AS varchar))); PRINT 'Effect Date: ' + CAST(@DPDate AS varchar); PRINT 'Selected Effective Date ' + CAST(@EffectiveDate AS varchar); PRINT 'The Termination Date: ' + CAST(@TerminationDate AS varchar); PRINT 'Current Dependent Status: ' + @CurrentDependentStatus; IF((@TerminationDate > '2007-07-02' OR @TerminationDate IS NULL) AND @DPDate = @EffectiveDate) IF(@CurrentNo = @CurrentDependentNo) BEGIN BEGIN BEGIN BEGIN Procedures Page 87
  • 88.
    PRINT 'Step A1'; IF(@CurrentDependentNo< 10) SET @Dependents = @Dependents + N'00' + CAST(@CurrentDependentNo AS CHAR(1)); BEGIN END ELSE SET @Dependents = @Dependents + N'0' + CAST(@CurrentDependentNo AS CHAR(2)); BEGIN END [TerminationDate] = @TerminationDate SET [Status] = 'Effective', WHERE [NumRecordId] = @RecordId; UPDATE #tbl_DpndntNo BEGIN END ELSE IF (@CurrentDependentStatus = 'Effective') PRINT 'Step A2'; IF(@CurrentDependentNo < 10) SET @Dependents = @Dependents + N'00' + CAST(@CurrentDependentNo AS CHAR(1)); BEGIN END ELSE SET @Dependents = @Dependents + N'0' + CAST(@CurrentDependentNo AS CHAR(2)); BEGIN END [TerminationDate] = @TerminationDate SET [Status] = 'Effective', WHERE [NumRecordId] = @RecordId; UPDATE #tbl_DpndntNo BEGIN END ELSE PRINT 'Step A3'; [TerminationDate] = NULL SET [Status] = 'NotEffective', WHERE [NumRecordId] = @RecordId; UPDATE #tbl_DpndntNo BEGIN END PRINT CAST(@DPDate AS varchar) + ' -- ' + @DateType; END ELSE IF(@TerminationDate > @EffectiveDate AND @TerminationDate > '2007-07-02') IF(@CurrentNo = @CurrentDependentNo) PRINT 'Step B1'; IF(@CurrentDependentNo < 10) SET @Dependents = @Dependents + N'00' + CAST(@CurrentDependentNo AS CHAR(1)); BEGIN END ELSE SET @Dependents = @Dependents + N'0' + CAST(@CurrentDependentNo AS CHAR(2)); BEGIN END [TerminationDate] = @TerminationDate SET [Status] = 'Effective', WHERE [NumRecordId] = @RecordId; UPDATE #tbl_DpndntNo BEGIN BEGIN Procedures Page 88
  • 89.
    WHERE [NumRecordId] =@RecordId; END ELSE IF (@CurrentDependentStatus = 'Effective') PRINT 'Step B2'; IF(@CurrentDependentNo < 10) SET @Dependents = @Dependents + N'00' + CAST(@CurrentDependentNo AS CHAR(1)); BEGIN END ELSE SET @Dependents = @Dependents + N'0' + CAST(@CurrentDependentNo AS CHAR(2)); BEGIN END [TerminationDate] = @TerminationDate SET [Status] = 'Effective', WHERE [NumRecordId] = @RecordId; UPDATE #tbl_DpndntNo BEGIN END ELSE PRINT 'Step B3'; [TerminationDate] = NULL SET [Status] = 'NotEffective', WHERE [NumRecordId] = @RecordId; UPDATE #tbl_DpndntNo BEGIN END PRINT CAST(@DPDate AS varchar) + ' -- ' + @DateType; END ELSE PRINT 'Not Effective!'; BEGIN END END ELSE LEFT OUTER JOIN [dbo].[Benefits_MedicalDentalVision] AS v ON RTRIM(LTRIM(v.Benefit_id)) = RTRIM(LTRIM(g18.Benefit_id)) AND RTRIM(LTRIM(v.Benefit_plan_id)) = RTRIM(LTRIM(g18.Benefit_plan_id)) FROM [dbo].[GFSISSY18] AS g18 AND RTRIM(LTRIM(g18.Employer_code)) = @Employer_code AND v.[Accero Benefit_Plan_Cd] = @BenefitPlanCode AND [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g18.Termination_date))) = @DPDate AND RTRIM(LTRIM(g18.Dependent_no)) = @CurrentDependentNo; WHERE RTRIM(LTRIM(g18.Emp_no)) = @Emp_no SELECT @CurrentNo = CAST(RTRIM(LTRIM(g18.Dependent_no)) AS int), @EffectiveDate = [dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(g18.Effective_date))), @TerminationDate = [dbo].[ufn_Convert_ToDate](RTRIM(LTRIM(g18.Termination_date))) PRINT 'Current Dependent No: ' + CAST(@CurrentDependentNo AS varchar); PRINT 'Current No: ' + RTRIM(LTRIM(CAST(@CurrentNo AS varchar))); BEGIN -- date type = 'Term' Procedures Page 89
  • 90.
    RTRIM(LTRIM(CAST(@CurrentNo AS varchar))); PRINT'Effect Date: ' + CAST(@DPDate AS varchar); PRINT 'Selected Effective Date ' + CAST(@EffectiveDate AS varchar); PRINT 'The Termination Date: ' + CAST(@TerminationDate AS varchar); PRINT 'Current Dependent Status: ' + @CurrentDependentStatus; IF (@TerminationDate > '2007-07-02' AND @CurrentDependentStatus = 'Effective' AND @CurrentDependentNo != @CurrentNo) PRINT 'Step C2'; IF(@CurrentDependentNo < 10) SET @Dependents = @Dependents + N'00' + CAST(@CurrentDependentNo AS CHAR(1)); BEGIN END ELSE SET @Dependents = @Dependents + N'0' + CAST(@CurrentDependentNo AS CHAR(2)); BEGIN END BEGIN END ELSE PRINT 'Termination Date, ' + CAST(@TerminationDate AS varchar) + ', on or prior to 2007-07-02.'; BEGIN END END PRINT ''; PRINT '-------------------------------------------------'; PRINT ''; FETCH NEXT FROM dpnocrsr INTO @RecordId, @CurrentDependentNo, @CurrentDependentStatus, @CurrentDpndTerm; END CLOSE dpnocrsr; DEALLOCATE dpnocrsr; IF(LEN(@Dependents) > 1) PRINT 'Dependents: ' + @Dependents; INSERT INTO [dbo].[Transaction_LOD] ([CompanyNumber], [Emp_no], [Benefit_Plan_Code], [Dependent_Date], [Dependent_Ids]) VALUES (@CompanyNumber, @Emp_no, @BenefitPlanCode, @DPDate, @Dependents) BEGIN END SET @Dependents = '#'; FETCH NEXT FROM datecur INTO @DPDate, @DateType, @RecordId; END CLOSE datecur; DEALLOCATE datecur; END ELSE PRINT 'Last day of employment for employee, ' + @Emp_no + ', was 2007-07-02 or earlier.'; BEGIN END SET @Emp_no = ''; SET @Employer_code = ''; SET @BenefitPlanCode = ''; FETCH NEXT FROM empcur INTO @Emp_no, @Employer_code, @BenefitPlanCode; DROP TABLE #tbl_DpndntNo; Procedures Page 90
  • 91.
    DROP TABLE #tbl_DpndntNo; DROPTABLE #tbl_DatesEffective; END CLOSE empcur; DEALLOCATE empcur; END Procedures Page 91
  • 92.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_LQ] Script Date: 12/12/2013 15:20:58 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_LQ] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_LQ1; TRUNCATE TABLE dbo.Transaction_LQ5; TRUNCATE TABLE dbo.Transaction_LQ8; CREATE TABLE #benefits BId int PRIMARY KEY IDENTITY(1,1), Emp_no nvarchar(10), CompanyNumber nvarchar(6), BenefitId nvarchar(6), BenefitPlanId nvarchar(10), PlanId nvarchar(20), OptionElect nvarchar(20), EffectiveDate date, TerminationDate nvarchar(10), BenefitAmount numeric(12,2), EE_HED nvarchar(20), ER_HED nvarchar(20), EE_Contribution nvarchar(9), ER_Contribution nvarchar(8), EE_ContribType nvarchar(1), ContribRule nvarchar(20) ( ) @PlanId nvarchar(20), @OptionElect nvarchar(2), @EffectiveDate date, @TerminationDate nvarchar(10), @BenefitAmount nvarchar(14), @EE_HED nvarchar(20), @ER_HED nvarchar(20), @EE_Contribution nvarchar(9), @ER_Contribution nvarchar(8), @EE_ContribType nvarchar(1), @ContribRule nvarchar(20); DECLARE @Emp_no nvarchar(10), @CompanyNumber nvarchar(6), @BenefitId nvarchar(6), @BenefitPlanId nvarchar(10), RTRIM(LTRIM(e9.Emp_no)), RTRIM(LTRIM(c.CompanyNumber)), RTRIM(LTRIM(e9.Benefit_id)) , RTRIM(LTRIM(e9.Benefit_plan_id)), RTRIM(LTRIM(mdv.[Accero Benefit_Plan_Cd])), RTRIM(LTRIM(mdv.[Option])), [dbo].[ufn_Convert_ToDate](RTRIM(LTRIM(e9.Effective_date))), (RTRIM(LTRIM(e9.Termination_date))), RTRIM(LTRIM(e9.Benefit_amount)), RTRIM(LTRIM(mdv.[EE HED])), RTRIM(LTRIM(mdv.[ER HED])), RTRIM(LTRIM(e9.Employee_contribution_amount)), RTRIM(LTRIM(e9.Employer_contribution_amount)), RTRIM(LTRIM(mdv.[EE Contrib Type])), RTRIM(LTRIM(mdv.[Contrib Rule])) LEFT OUTER JOIN [dbo].[Benefits_MedicalDentalVision] AS mdv ON RTRIM(LTRIM(mdv.Benefit_id)) = RTRIM(LTRIM(e9.Benefit_id)) AND RTRIM(LTRIM(mdv.Benefit_plan_id)) = RTRIM(LTRIM(e9.Benefit_plan_id)) FROM GFSISSY19 AS e9 SELECT DECLARE outcrs CURSOR FOR BEGIN [TransactionCursor_LQ Thursday, December 12, 2013 3:20 PM Procedures Page 92
  • 93.
    RTRIM(LTRIM(e9.Benefit_plan_id)) LEFT OUTER JOIN[dbo].[CompanyNumber] AS c ON c.EmpNum = RTRIM(LTRIM(e9.Emp_no)) AND c.EmployerCode = RTRIM(LTRIM(e9.Employer_code)) AND RTRIM(LTRIM(mdv.[Accero Benefit_Plan_Cd])) IS NOT NULL AND [KBF_Data].[dbo].[ufn_Convert_ToDate] (e9.Effective_date) > '2007-07-01' OR [KBF_Data].[dbo].[ufn_Convert_ToDate] (RTRIM(LTRIM(e9.Termination_date))) > '2007-07-01' OR RTRIM(LTRIM(e9.Termination_date)) = '0' ( ) ( ) WHERE LEN(RTRIM(LTRIM(e9.Benefit_id))) > 1 ORDER BY RTRIM(LTRIM(e9.Emp_no)), c.CompanyNumber, RTRIM(LTRIM(e9.Benefit_id)), RTRIM(LTRIM(e9.Benefit_plan_id)), RTRIM(LTRIM(mdv.[Accero Benefit_Plan_Cd])), RTRIM(LTRIM(mdv.[Option])), RTRIM(LTRIM(e9.Effective_date)), RTRIM(LTRIM(e9.Termination_date)), RTRIM(LTRIM(e9.Benefit_amount)) OPEN outcrs; FETCH NEXT FROM outcrs INTO @Emp_no, @CompanyNumber, @BenefitId, @BenefitPlanId, @PlanId, @OptionElect, @EffectiveDate, @TerminationDate, @BenefitAmount, @EE_HED, @ER_HED, @EE_Contribution, @ER_Contribution, @EE_ContribType, @ContribRule; WHILE @@FETCH_STATUS = 0 Emp_no, CompanyNumber, BenefitId, BenefitPlanId, PlanId, OptionElect, EffectiveDate, TerminationDate, BenefitAmount, EE_HED, ER_HED, EE_Contribution, ER_Contribution, EE_ContribType, ContribRule ( ) VALUES @Emp_no, @CompanyNumber, @BenefitId, @BenefitPlanId, @PlanId, @OptionElect, @EffectiveDate, @TerminationDate, @BenefitAmount, @EE_HED, @ER_HED, @EE_Contribution, @ER_Contribution, @EE_ContribType, @ContribRule ( INSERT INTO #benefits BEGIN Procedures Page 93
  • 94.
    @ContribRule ) FETCH NEXT FROMoutcrs INTO @Emp_no, @CompanyNumber, @BenefitId, @BenefitPlanId, @PlanId, @OptionElect, @EffectiveDate, @TerminationDate, @BenefitAmount, @EE_HED, @ER_HED, @EE_Contribution, @ER_Contribution, @EE_ContribType, @ContribRule; END CLOSE outcrs; DEALLOCATE outcrs; SET @Emp_no = NULL; SET @CompanyNumber = NULL; SET @BenefitId = NULL; SET @BenefitPlanId = NULL; SET @PlanId = NULL; SET @OptionElect = NULL; SET @EffectiveDate = NULL; SET @TerminationDate = NULL; SET @BenefitAmount = NULL; SET @EE_HED = NULL; SET @ER_HED = NULL; SET @EE_Contribution = NULL; SET @ER_Contribution = NULL; SET @ContribRule = NULL; FROM #benefits AS b ORDER BY b.Emp_no, b.CompanyNumber, b.BenefitId, b.BenefitPlanId; SELECT b.Emp_no, b.CompanyNumber, b.BenefitId, b.BenefitPlanId, b.PlanId, b.OptionElect, b.EffectiveDate, b.TerminationDate, b.BenefitAmount, b.EE_HED, b.ER_HED, b.EE_Contribution, b.ER_Contribution, b.EE_ContribType, b.ContribRule DECLARE bnftcrs1 CURSOR DYNAMIC FOR OPEN bnftcrs1; FETCH NEXT FROM bnftcrs1 INTO @Emp_no, @CompanyNumber, @BenefitId, @BenefitPlanId, @PlanId, @OptionElect, @EffectiveDate, @TerminationDate, @BenefitAmount, @EE_HED, @ER_HED, @EE_Contribution, @ER_Contribution, @EE_ContribType, @ContribRule; WHILE (@@FETCH_STATUS = 0) IF(@BenefitId = 'BLF') WHERE CURRENT OF bnftcrs1; DELETE FROM #benefits SET @PlanId = NULL; SET @OptionElect = NULL; SET @EE_HED = NULL; SET @ER_HED = NULL SET @EE_ContribType = NULL; SET @ContribRule = NULL; FROM [dbo].[ufn_BenefitIterate_BLF](@BenefitPlanId); SELECT Accero_benefit_plan_code, AcceroOption, EE_HED, ER_HED, EE_ContribType, ContribRule DECLARE incrs CURSOR FOR OPEN incrs; FETCH NEXT FROM incrs INTO @PlanId, @OptionElect, @EE_HED, @ER_HED, @EE_ContribType, @ContribRule; WHILE (@@FETCH_STATUS = 0) Emp_no, CompanyNumber, BenefitId, BenefitPlanId, PlanId, OptionElect, EffectiveDate, TerminationDate, BenefitAmount, EE_HED, ER_HED, EE_Contribution, ER_Contribution, EE_ContribType, ContribRule ( ) VALUES ( INSERT INTO #benefits BEGIN BEGIN BEGIN BEGIN Procedures Page 94
  • 95.
    @Emp_no, @CompanyNumber, @BenefitId,@BenefitPlanId, @PlanId, @OptionElect, @EffectiveDate, @TerminationDate, @BenefitAmount, @EE_HED, @ER_HED, @EE_Contribution, @ER_Contribution, @EE_ContribType, @ContribRule ( ) FETCH NEXT FROM incrs INTO @PlanId, @OptionElect, @EE_HED, @ER_HED, @EE_ContribType, @ContribRule; END CLOSE incrs; DEALLOCATE incrs; END ELSE IF (@BenefitId IN ('WVE')) IF (@BenefitPlanId IN ('WVALL', 'WVMD')) WHERE CURRENT OF bnftcrs1; DELETE FROM #benefits SET @PlanId = NULL; SET @OptionElect = NULL; SET @EE_HED = NULL; SET @ER_HED = NULL; SET @EE_ContribType = NULL; SET @ContribRule = NULL; FROM [dbo].[ufn_BenefitIterate_WVE](@BenefitPlanId); SELECT Accero_benefit_plan_code, AcceroOption, EE_HED, ER_HED, EE_ContribType, ContribRule DECLARE incrs CURSOR FOR OPEN incrs; FETCH NEXT FROM incrs INTO @PlanId, @OptionElect, @EE_HED, @ER_HED, @EE_ContribType, @ContribRule; WHILE (@@FETCH_STATUS = 0) Emp_no, CompanyNumber, BenefitId, BenefitPlanId, PlanId, OptionElect, EffectiveDate, TerminationDate, BenefitAmount, EE_HED, ER_HED, EE_Contribution, ER_Contribution, EE_ContribType, ContribRule ( ) VALUES @Emp_no, @CompanyNumber, @BenefitId, @BenefitPlanId, @PlanId, @OptionElect, @EffectiveDate, @TerminationDate, @BenefitAmount, @EE_HED, @ER_HED, @EE_Contribution, @ER_Contribution, @EE_ContribType, @ContribRule ( ) INSERT INTO #benefits FETCH NEXT FROM incrs INTO @PlanId, @OptionElect, @EE_HED, @ER_HED, @EE_ContribType, @ContribRule; BEGIN END CLOSE incrs; DEALLOCATE incrs; BEGIN END BEGIN END ELSE IF(@PlanId IN ('ADC', 'SLC')) IF(@BenefitAmount = '5000.00') SET @OptionElect = '1A'; BEGIN END ELSE SET @OptionElect = '18'; BEGIN BEGIN Procedures Page 95
  • 96.
    SET @OptionElect ='18'; END SET OptionElect = @OptionElect AND BenefitId = @BenefitId AND BenefitPlanId = @BenefitPlanId AND PlanId = @PlanId AND EffectiveDate = @EffectiveDate AND TerminationDate = @TerminationDate; WHERE Emp_no = @Emp_no AND CompanyNumber = @CompanyNumber UPDATE #benefits END SET @Emp_no = ''; SET @CompanyNumber = ''; SET @BenefitId = ''; SET @BenefitPlanId = ''; SET @PlanId = ''; SET @OptionElect = ''; SET @EffectiveDate = ''; SET @TerminationDate = ''; SET @BenefitAmount = ''; SET @EE_HED = ''; SET @ER_HED = ''; SET @EE_Contribution = ''; SET @ER_Contribution = ''; SET @EE_ContribType = ''; SET @ContribRule = ''; FETCH NEXT FROM bnftcrs1 INTO @Emp_no, @CompanyNumber, @BenefitId, @BenefitPlanId, @PlanId, @OptionElect, @EffectiveDate, @TerminationDate, @BenefitAmount, @EE_HED, @ER_HED, @EE_Contribution, @ER_Contribution, @EE_ContribType, @ContribRule; END CLOSE bnftcrs1; DEALLOCATE bnftcrs1; @VariableFactor numeric(8,2), @VariableFactorFloat float, @InsertFactorNum float, @InsertFactorChar nvarchar(9); DECLARE @PrimaryId int, @PreviousRecord nvarchar(30), @Month nvarchar(2), @Day nvarchar(2), @CurrentDate nvarchar(10), @PlanEntryDate nvarchar(10), @ContributionAmountNum numeric(11,2), @ContributionAmountChar nvarchar(9), @Next_PlanId nvarchar(20), @Next_OptionElect nvarchar(2), @Next_EffectiveDate date, @Next_TerminationDate nvarchar(10), @Next_BenefitAmount nvarchar(14), @Next_EE_HED nvarchar(20), @Next_ER_HED nvarchar(20), @Next_EE_Contribution nvarchar(9), @Next_ER_Contribution nvarchar(8), @Next_EE_ContribType nvarchar(1), @BenefitAmountNum float, @BenefitAmountInt int, @CoverageAmount1 nvarchar(14), @ContribCode nvarchar(1); DECLARE @Next_PrimaryId int, @Next_Emp_no nvarchar(10), @Next_CompanyNumber nvarchar(6), SET @PreviousRecord = ''; FROM #benefits AS b ORDER BY b.Emp_no, b.CompanyNumber, b.PlanId, b.EffectiveDate, b.TerminationDate; SELECT b.BId, b.Emp_no, b.CompanyNumber, b.PlanId, b.OptionElect, b.EffectiveDate, b.TerminationDate, b.BenefitAmount, b.EE_HED, b.ER_HED, b.EE_Contribution, b.ER_Contribution, b.EE_ContribType, b.ContribRule DECLARE bnftcrs2 CURSOR SCROLL FOR OPEN bnftcrs2; FETCH NEXT FROM bnftcrs2 INTO @PrimaryId, @Emp_no, @CompanyNumber, @PlanId, @OptionElect, @EffectiveDate, @TerminationDate, @BenefitAmount, @EE_HED, @ER_HED, @EE_Contribution, @ER_Contribution, @EE_ContribType, @ContribRule; BEGIN Procedures Page 96
  • 97.
    @ContribRule; WHILE (@@FETCH_STATUS =0) IF (@EffectiveDate <= '2007-07-01') SET @EffectiveDate = '2007-07-01'; BEGIN END SET @Month = CAST(MONTH(@EffectiveDate) AS nvarchar); WHILE(LEN(@Month) < 2) SET @Month = '0' + @Month; BEGIN END SET @Day = CAST(DAY(@EffectiveDate) AS nvarchar) WHILE(LEN(@Day) < 2) SET @Day = '0' + @Day; BEGIN END SET @CurrentDate = @Month + '-' + @Day + '-' + CAST(YEAR(@EffectiveDate) AS nvarchar); IF(@PreviousRecord != @Emp_no + @CompanyNumber + @PlanId) SET @PreviousRecord = @Emp_no + @CompanyNumber + @PlanId; SET @PlanEntryDate = @Month + '-' + @Day + '-' + CAST(YEAR(@EffectiveDate) AS nvarchar); BEGIN END IF (LEN(@TerminationDate) IN ('7', '8')) SET @Month = LEFT(@TerminationDate, LEN(@TerminationDate) - 6); WHILE(LEN(@Month) < 2) SET @Month = '0' + @Month; BEGIN END SET @Day = SUBSTRING(@TerminationDate, LEN(@TerminationDate) - 5, 2); WHILE(LEN(@Day) < 2) SET @Day = '0' + @Day; BEGIN END SET @TerminationDate = @Month + '-' + @Day + '-' + RIGHT(@TerminationDate,4); BEGIN END ELSE SET @TerminationDate = NULL; BEGIN END SET @VariableFactor = CAST(@BenefitAmount AS numeric(8,2)); SET @BenefitAmountNum = CAST(@BenefitAmount AS float); SET @BenefitAmountInt = CHARINDEX('.', @BenefitAmount); SET @CoverageAmount1 = LEFT(@BenefitAmount, (LEN(@BenefitAmount)-3)); IF(@BenefitAmountNum > 0) SET @BenefitAmount = REPLACE(@BenefitAmount, '.', ''); BEGIN END ELSE SET @BenefitAmount = NULL; BEGIN END IF (@PlanId IN ('ADE', 'ADS', 'SLE', 'SLS')) SET @VariableFactorFloat = @VariableFactor/10000.00; SET @VariableFactor = @VariableFactorFloat; INSERT INTO dbo.Transaction_LQ1 (CompanyNumber, EmpNum, PlanId, OptionElected, WelfareEffective, PlanEntryDate, ResultingPlanStat, VariableFactor, BEGIN BEGIN Procedures Page 97
  • 98.
    ResultingPlanStat, VariableFactor, IdKey) VALUES (@CompanyNumber, @Emp_no,@PlanId, @OptionElect, @CurrentDate, @PlanEntryDate, '1' , @VariableFactor, @PrimaryId); END ELSE IF (@PlanId IN ('SAD', 'SAH')) IF(@EE_Contribution != '0.00' AND LEN(@EE_Contribution) > 0) SET @ContributionAmountNum = CAST(@EE_Contribution AS numeric(7,2)); SET @ContributionAmountNum = @ContributionAmountNum * 26; SET @ContributionAmountChar = REPLACE(CAST(@ContributionAmountNum AS nvarchar), '.', ''); BEGIN END ELSE SET @ContributionAmountChar = NULL; BEGIN END BEGIN TRY END TRY EXEC [dbo].[GetErrorInfo]; BEGIN CATCH END CATCH INSERT INTO dbo.Transaction_LQ1 (CompanyNumber, EmpNum, PlanId, OptionElected, WelfareEffective, PlanEntryDate, ResultingPlanStat, VariableFactor, IdKey) VALUES (@CompanyNumber, @Emp_no, @PlanId, @OptionElect, @CurrentDate, @PlanEntryDate, '1' , @ContributionAmountChar, @PrimaryId); SET @BenefitAmount = REPLACE(CAST(@VariableFactor AS nvarchar), '.', ''); SET @ContributionAmountNum = 0; SET @ContributionAmountChar = ''; BEGIN END ELSE IF (@PlanId IN ('WAD', 'WAM', 'WAV')) INSERT INTO dbo.Transaction_LQ1 (CompanyNumber, EmpNum, PlanId, OptionElected, WelfareEffective, PlanEntryDate, ResultingPlanStat, VariableFactor, IdKey) VALUES (@CompanyNumber, @Emp_no, @PlanId, '99', @CurrentDate, @PlanEntryDate, '7', '', @PrimaryId); BEGIN END ELSE INSERT INTO dbo.Transaction_LQ1 (CompanyNumber, EmpNum, PlanId, OptionElected, WelfareEffective, PlanEntryDate, ResultingPlanStat, VariableFactor, IdKey) BEGIN Procedures Page 98
  • 99.
    IdKey) VALUES (@CompanyNumber, @Emp_no, @PlanId, @OptionElect,@CurrentDate, @PlanEntryDate, '1', '' , @PrimaryId); END IF(LEN(@EE_HED) = 3) IF(CAST(@EE_Contribution AS float) = 0) SET @EE_Contribution = NULL; BEGIN END ( CompanyNumber, EmpNum, HEDXRefNumber, HEDXRefEffectDate , HEDXRefAmtPct, HEDXRefPlanId, HEDXRefTMRule, HEDXRefContribCd, KeyId) VALUES ( @CompanyNumber, @Emp_no, @EE_HED, @CurrentDate, REPLACE(@EE_Contribution, '.', ''), @PlanId, @ContribRule, @EE_ContribType, @PrimaryId) INSERT INTO [dbo].[Transaction_LQ5] IF(@EE_Contribution != '0.00' AND LEN(@EE_Contribution) > 0) SET @ContributionAmountNum = CAST(@EE_Contribution AS numeric(7,2)); SET @ContributionAmountNum = @ContributionAmountNum * 26; SET @ContributionAmountChar = CAST(@ContributionAmountNum AS nvarchar); PRINT @PlanId + ' -- ' + @EE_Contribution + ' -- ' + CAST(@ContributionAmountNum AS nvarchar) + ' -- ' + CAST(((@ContributionAmountNum) * 26) AS nvarchar) + ' -- ' + @ContributionAmountChar; BEGIN END ELSE SET @ContributionAmountChar = NULL; BEGIN END BEGIN TRY END TRY EXEC [dbo].[GetErrorInfo]; BEGIN CATCH END CATCH (CompanyNumber, EmpNum, PlanId, CoverageDate, ContribType, ContributeHEDXRef, CoverageAmount1, ContributionAmount, DeductionEffective, KeyId) VALUES (@CompanyNumber, @Emp_no, @PlanId, @CurrentDate, @EE_ContribType, @EE_HED, @CoverageAmount1, @ContributionAmountChar, @CurrentDate, @PrimaryId) INSERT INTO [dbo].[Transaction_LQ8] BEGIN END IF(CAST(@ER_Contribution AS float) = 0) SET @ER_Contribution = NULL; BEGIN END IF(LEN(@ER_HED) = 3 AND @ER_Contribution IS NOT NULL) Procedures Page 99
  • 100.
    IF(LEN(@ER_HED) = 3AND @ER_Contribution IS NOT NULL) SET @ContribCode = '3'; ( CompanyNumber, EmpNum, HEDXRefNumber, HEDXRefEffectDate , HEDXRefAmtPct, HEDXRefPlanId, HEDXRefTMRule, HEDXRefContribCd, KeyId) VALUES ( @CompanyNumber, @Emp_no, @ER_HED, @CurrentDate, REPLACE(@ER_Contribution, '.', ''), @PlanId, @ContribRule, @ContribCode, @PrimaryId) INSERT INTO [dbo].[Transaction_LQ5] SET @ContributionAmountNum = CAST(@ER_Contribution AS numeric(7,2)); SET @ContributionAmountNum = @ContributionAmountNum * 26; SET @ContributionAmountChar = CAST(@ContributionAmountNum AS nvarchar); --SET @ContributionAmountChar = REPLACE(@ContributionAmountChar, '.', ''); PRINT @PlanId + ' -- ' + @ER_Contribution + ' -- ' + CAST(@ContributionAmountNum AS nvarchar) + ' -- ' + CAST(((@ContributionAmountNum) * 26) AS nvarchar) + ' -- ' + @ContributionAmountChar; BEGIN TRY END TRY EXEC [dbo].[GetErrorInfo]; BEGIN CATCH END CATCH --*****remove decimals from CoverageAmount (@BenefitAmount) (CompanyNumber, EmpNum, PlanId, CoverageDate, ContribType, ContributeHEDXRef, CoverageAmount1, ContributionAmount, DeductionEffective, KeyId) VALUES (@CompanyNumber, @Emp_no, @PlanId, @CurrentDate, '3', @ER_HED, @CoverageAmount1, @ContributionAmountChar, @CurrentDate, @PrimaryId) INSERT INTO [dbo].[Transaction_LQ8] BEGIN END FETCH NEXT FROM bnftcrs2 INTO @Next_PrimaryId, @Next_Emp_no, @Next_CompanyNumber, @Next_PlanId, @Next_OptionElect, @Next_EffectiveDate, @Next_TerminationDate, @Next_BenefitAmount, @Next_EE_HED, @Next_ER_HED, @Next_EE_Contribution, @Next_ER_Contribution, @Next_EE_ContribType, @ContribRule; IF(@Next_PlanId != @PlanId OR @Next_CompanyNumber != @CompanyNumber OR @Next_Emp_no != @Emp_no) --PRINT 'Next Plan != Current Plan: ' + @Next_PlanId + ' == ' + @PlanId + '; ' + @Next_CompanyNumber + ' == ' + @CompanyNumber + '; ' + @Next_Emp_no + ' == ' + @Emp_no; IF(@TerminationDate IS NOT NULL) INSERT INTO dbo.Transaction_LQ1 (CompanyNumber, EmpNum, PlanId, OptionElected, WelfareEffective, PlanEntryDate, ResultingPlanStat, VariableFactor) VALUES BEGIN BEGIN Procedures Page 100
  • 101.
    VALUES (@CompanyNumber, @Emp_no, @PlanId,'97' , @TerminationDate, @PlanEntryDate, '5', ''); SET @VariableFactor = NULL; END END FETCH PRIOR FROM bnftcrs2 INTO @Next_PrimaryId, @Next_Emp_no, @Next_CompanyNumber, @Next_PlanId, @Next_OptionElect, @Next_EffectiveDate, @Next_TerminationDate, @Next_BenefitAmount, @Next_EE_HED, @Next_ER_HED, @Next_EE_Contribution, @Next_ER_Contribution, @Next_EE_ContribType, @ContribRule; SET @Emp_no = ''; SET @CompanyNumber = ''; SET @BenefitId = ''; SET @BenefitPlanId = ''; SET @PlanId = ''; SET @OptionElect = ''; SET @EffectiveDate = ''; SET @TerminationDate = ''; SET @BenefitAmount = ''; SET @Month = ''; SET @Day = ''; SET @CurrentDate = ''; SET @VariableFactor = NULL; SET @InsertFactorNum = NULL; SET @InsertFactorChar = ''; SET @ContributionAmountNum = NULL; SET @ContributionAmountChar = ''; SET @Month = ''; SET @Day = ''; SET @ContribRule = ''; SET @ContribCode = ''; FETCH NEXT FROM bnftcrs2 INTO @PrimaryId, @Emp_no, @CompanyNumber, @PlanId, @OptionElect, @EffectiveDate, @TerminationDate, @BenefitAmount, @EE_HED, @ER_HED, @EE_Contribution, @ER_Contribution, @EE_ContribType, @ContribRule; END CLOSE bnftcrs2; DEALLOCATE bnftcrs2; END END DROP TABLE #benefits; END Procedures Page 101
  • 102.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_LZ4] Script Date: 12/12/2013 15:21:37 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_LZ4] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_LZ4; DECLARE @CompanyNumber nvarchar(6), @Emp_no nvarchar(10), @EmployerCode nvarchar(3), @OriginalDateHire nvarchar(10); LEFT OUTER JOIN dbo.CompanyNumber AS cnm ON cnm.EmpNum = g21.Emp_no AND cnm.EmployerCode = g21.Employer_code LEFT OUTER JOIN dbo.GFSISSY02 AS g02 ON g02.Emp_no = g21.Emp_no AND g02.Employer_code = g21.Employer_code FROM dbo.GFSISSY21 AS g21 GROUP BY RTRIM(LTRIM(g21.Emp_no)), RTRIM(LTRIM(g21.Employer_code)), cnm.CompanyNumber, RTRIM(LTRIM(g02.original_date_hire)) ORDER BY RTRIM(LTRIM(g21.Emp_no)), RTRIM(LTRIM(g21.Employer_code)) SELECT cnm.CompanyNumber, RTRIM(LTRIM(g21.Emp_no)), RTRIM(LTRIM(g21.Employer_code)), RTRIM(LTRIM(g02.original_date_hire)) DECLARE datacursor CURSOR FOR OPEN datacursor; INTO @CompanyNumber, @Emp_no, @EmployerCode, @OriginalDateHire; FETCH NEXT FROM datacursor WHILE @@FETCH_STATUS = 0 DECLARE @CenturyHireDate nvarchar(8), @PropertyCode nvarchar(5), @DateEntered nvarchar(8), @Descript nvarchar(20), @RegIdNum nvarchar(50) DECLARE @SLCode1 nvarchar(2), @SLCode2 nvarchar(2), @SLCode3 nvarchar(2); IF @CompanyNumber IS NULL EXEC @CompanyNumber = dbo.ufn_GetOrgId02 @EmployerCode, @Emp_no IF @CompanyNumber IS NULL SET @CompanyNumber = ''; BEGIN END BEGIN END IF(LEN(@OriginalDateHire) > 1) SET @OriginalDateHire = LEFT(@OriginalDateHire,LEN(@OriginalDateHire)-6) + '-' + SUBSTRING(@OriginalDateHire,LEN(@OriginalDateHire)-5,2) + '-' + RIGHT(@OriginalDateHire,4); BEGIN END SELECT @OriginalDateHire; --SET @CenturyHireDate = @OriginalDateHire; --EXEC @CenturyHireDate = dbo.ufn_Convert_ToCenturyDate @OriginalDateHire; --IF @CenturyHireDate IS NULL --BEGIN -- SET @CenturyHireDate = ''; --END FROM dbo.GFSISSY21 AS g21b WHERE g21b.Emp_no = @Emp_no AND g21b.Employer_code = @EmployerCode SELECT g21b.Property_type_code, g21b.Date_entered, g21b.Description, g21b.RegNum_IdNum DECLARE slcursor CURSOR FOR OPEN slcursor; BEGIN BEGIN TransactionCursor_LZ4 Thursday, December 12, 2013 3:21 PM Procedures Page 102
  • 103.
    OPEN slcursor; INTO @PropertyCode,@DateEntered, @Descript, @RegIdNum; FETCH NEXT FROM slcursor WHILE @@FETCH_STATUS = 0 IF LEN(@SLCode1) = 0 FROM [dbo].[LanguageCodeConversions] AS lc1 WHERE lc1.KBF_Property_Lang_Code = @PropertyCode; SELECT @SLCode1 = lc1.[Accero_Property_ Lang_Code] BEGIN END ELSE IF LEN(@SLCode2) = 0 FROM [dbo].[LanguageCodeConversions] AS lc1 WHERE lc1.KBF_Property_Lang_Code = @PropertyCode; SELECT @SLCode2 = lc1.[Accero_Property_ Lang_Code] BEGIN END ELSE FROM [dbo].[LanguageCodeConversions] AS lc1 WHERE lc1.KBF_Property_Lang_Code = @PropertyCode; SELECT @SLCode3 = lc1.[Accero_Property_ Lang_Code] BEGIN END INTO @PropertyCode, @DateEntered, @Descript, @RegIdNum; FETCH NEXT FROM slcursor BEGIN END CLOSE slcursor; DEALLOCATE slcursor; IF LEN(@SLCode1) > 0 INSERT INTO dbo.Transaction_LZ4 CompanyNumber, Emp_no, Original_hire_date, Skill_lang_code1, Skill_lang_code2, Skill_lang_code3 ( ) VALUES @CompanyNumber, @Emp_no, @OriginalDateHire, @SLCode1, @SLCode2, @SLCode3 ( ) BEGIN END SET @CenturyHireDate = ''; SET @CompanyNumber = ''; SET @DateEntered = ''; SET @Descript = ''; SET @Emp_no = ''; SET @OriginalDateHire = ''; SET @PropertyCode = ''; SET @RegIdNum = ''; SET @SLCode1 = ''; SET @SLCode2 = ''; SET @SLCode3 = ''; INTO @CompanyNumber, @Emp_no, @EmployerCode, @OriginalDateHire; FETCH NEXT FROM datacursor END CLOSE datacursor; DEALLOCATE datacursor; Procedures Page 103
  • 104.
  • 105.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_LZA] Script Date: 12/12/2013 15:22:05 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_LZA] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_LZA; DECLARE @CompanyNumber nvarchar(6), @Emp_no nvarchar(10), @OriginalDateHire nvarchar(10), @Telephone nvarchar(20); LEFT OUTER JOIN dbo.CompanyNumber AS cnm ON cnm.EmpNum = g2.Emp_no AND cnm.EmployerCode = g2.Employer_code FROM dbo.GFSISSY02 AS g2 SELECT cnm.CompanyNumber, RTRIM(LTRIM(g2.Emp_no)), RTRIM(LTRIM(g2.original_date_hire)), RTRIM(LTRIM(g2.Telephone)) DECLARE datacursor CURSOR FOR OPEN datacursor; FETCH NEXT FROM datacursor INTO @CompanyNumber, @Emp_no, @OriginalDateHire, @Telephone; WHILE @@FETCH_STATUS = 0 DECLARE @CenturyHireDate nvarchar(8), @AreaCode nvarchar(3), @HomePhone nvarchar(8), @InterimPhone nvarchar(20); IF(LEN(@OriginalDateHire) > 1) SET @OriginalDateHire = LEFT(@OriginalDateHire,LEN(@OriginalDateHire)-6) + '-' + SUBSTRING(@OriginalDateHire,LEN(@OriginalDateHire)-5,2) + '-' + RIGHT(@OriginalDateHire,4); BEGIN END --SET @CenturyHireDate = @OriginalDateHire; --EXEC @CenturyHireDate = dbo.ufn_Convert_ToCenturyDate @OriginalDateHire; IF(LEN(@Telephone) >= 12) SET @AreaCode = LEFT(@Telephone, 3); SET @InterimPhone = RIGHT(@Telephone, LEN(@Telephone) - 4); IF (LEN(@InterimPhone) = 8) SET @HomePhone = LEFT(@InterimPhone, 3) + SUBSTRING(@InterimPhone, 5, 4); BEGIN END ELSE IF(LEN(@InterimPhone) > 8) IF(SUBSTRING(@InterimPhone, 8, 1) = '.') SET @HomePhone = SUBSTRING(@InterimPhone, 5, 3) + SUBSTRING(@InterimPhone, 9 , 4); BEGIN END ELSE SET @HomePhone = LEFT(@InterimPhone, 3) + SUBSTRING(@InterimPhone, 5, 4); BEGIN END BEGIN END ELSE IF(SUBSTRING(@Telephone, 8, 1) = '.') BEGIN BEGIN BEGIN BEGIN TransactionCursor_LZA Thursday, December 12, 2013 3:22 PM Procedures Page 105
  • 106.
    IF(SUBSTRING(@Telephone, 8, 1)= '.') SET @HomePhone = SUBSTRING(@InterimPhone, 5, 3) + SUBSTRING(@InterimPhone, 9, 4); --RIGHT(@InterimPhone, LEN(@InterimPhone) - 4); BEGIN END ELSE SET @HomePhone = LEFT(@InterimPhone, 3) + SUBSTRING(@InterimPhone, 5, 4); BEGIN END END END ELSE IF(LEN(@Telephone) =11) SET @AreaCode = LEFT(@Telephone, 3); IF(SUBSTRING(@Telephone, 4, 1) = '.') SET @InterimPhone = RIGHT(@Telephone, LEN(@Telephone) - 4); SET @HomePhone = LEFT(@InterimPhone, 3) + SUBSTRING(@InterimPhone, 4, 4); BEGIN END ELSE SET @InterimPhone = RIGHT(@Telephone, LEN(@Telephone) - 3); SET @HomePhone = LEFT(@InterimPhone, 3) + SUBSTRING(@InterimPhone, 5, 4); BEGIN END Begin END ELSE SET @AreaCode = '000'; IF(LEN(@Telephone) = 8) SET @HomePhone = LEFT(@Telephone, 3) + SUBSTRING(@Telephone, 5, 4); BEGIN END ELSE SET @HomePhone = '0000000'; BEGIN END BEGIN END BEGIN END INSERT INTO dbo.Transaction_LZA CompanyNumber, Emp_no, Original_hire_date, AreaCode, HomePhone, Original_telephone ( ) VALUES @CompanyNumber, @Emp_no, @OriginalDateHire, @AreaCode, @HomePhone, @Telephone ( ) SET @AreaCode = ''; SET @CenturyHireDate = ''; Procedures Page 106
  • 107.
    SET @CenturyHireDate =''; SET @CompanyNumber = ''; SET @Emp_no = ''; SET @HomePhone = ''; SET @InterimPhone = ''; SET @OriginalDateHire = ''; SET @Telephone = ''; FETCH NEXT FROM datacursor INTO @CompanyNumber, @Emp_no, @OriginalDateHire, @Telephone; END END Procedures Page 107
  • 108.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_LZB] Script Date: 12/12/2013 15:22:33 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_LZB] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_LZB; DECLARE @Emp_no nvarchar(10), @Employer_code nvarchar(10), @CompanyNumber nvarchar(10), @RecordDate nvarchar(10), @MaritalCode nvarchar(10), @TotalDependents nvarchar(10), @VisaType nvarchar(10); RTRIM(LTRIM(gs2.Employer_code)), RTRIM(LTRIM(cn.CompanyNumber)), [dbo].[ufn_Convert_ToDate] ( RTRIM(LTRIM(gs2.original_date_hire))), RTRIM(LTRIM(gs5.True_marital_status)), RTRIM(LTRIM(gs5.True_dependent_count)), RTRIM(LTRIM(gs4.Non_alien_code)) SELECT RTRIM(LTRIM(gs2.Emp_no)), LEFT OUTER JOIN dbo.GFSISSY05 AS gs5 ON gs5.Emp_no = gs2.Emp_no AND gs5.Employer_code = gs2.Employer_code LEFT OUTER JOIN dbo.GFSISSY04 AS gs4 ON gs4.Emp_no = gs2.Emp_no AND gs4.Employer_code = gs2.Employer_code LEFT OUTER JOIN dbo.CompanyNumber AS cn ON cn.EmpNum = gs2.Emp_no AND cn.EmployerCode = gs2.Employer_code; FROM dbo.GFSISSY02 AS gs2 DECLARE outcrs CURSOR FOR OPEN outcrs; FETCH NEXT FROM outcrs INTO @Emp_no, @Employer_code, @CompanyNumber, @RecordDate, @MaritalCode, @TotalDependents, @VisaType; WHILE (@@FETCH_STATUS= 0) IF(RTRIM(LTRIM(@VisaType)) = '1') SET @VisaType = 'J1'; BEGIN END ELSE SET @VisaType = ''; BEGIN END (Emp_no, Employer_code, CompanyNumber, RecordDate, MaritalCode, TotalDependents, VisaType) VALUES (@Emp_no, @Employer_code, @CompanyNumber, @RecordDate, @MaritalCode, @TotalDependents, @VisaType) INSERT INTO dbo.Transaction_LZB FETCH NEXT FROM outcrs INTO @Emp_no, @Employer_code, @CompanyNumber, @RecordDate, @MaritalCode, @TotalDependents, @VisaType; BEGIN END BEGIN END TransactionCursor_LZB Thursday, December 12, 2013 3:22 PM Procedures Page 108
  • 109.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_LZN] Script Date: 12/12/2013 15:22:54 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_LZN] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_LZN; @FoodCardDate nvarchar(10), @WorkPermitLetter nvarchar(5); DECLARE @Emp_no nvarchar(10), @Employer_code nvarchar(3), @AdjustDateHire nvarchar(10), @OriginalDateHire nvarchar(10), @WorkPermitDate nvarchar(10), RTRIM(LTRIM(g2.Employer_code)), RTRIM(LTRIM(g2.adjusted_date_hire)), RTRIM(LTRIM(g2.original_date_hire)), RTRIM(LTRIM(g2.work_permit_date)), RTRIM(LTRIM(g4.food_handler_card_date)), RTRIM(LTRIM(g4.work_permit_letter)) LEFT OUTER JOIN [dbo].[GFSISSY45] AS g4 ON g4.Emp_no = g2.Emp_no AND g4.Employer_code = g2.Employer_code FROM [dbo].[GFSISSY02] as g2 SELECT RTRIM(LTRIM(g2.Emp_no)), DECLARE empcrs CURSOR FOR OPEN empcrs; FETCH NEXT FROM empcrs INTO @Emp_no, @Employer_code, @AdjustDateHire, @OriginalDateHire, @WorkPermitDate, @FoodCardDate, @WorkPermitLetter; WHILE (@@FETCH_STATUS = 0) @WorkYear int, @WorkMonth int, @WorkDay int, @FoodYear int, @FoodMonth int, @FoodDay int, @Letter1Code nvarchar(1), @Letter2Code nvarchar(1) ; DECLARE @CompanyNumber nvarchar(6), @HireDate nvarchar(10), @StatusCode nvarchar(1), @WorkPermitDateTimeStatus nvarchar(1), @FoodCardDateTimeStatus nvarchar(1), EXEC @CompanyNumber = [dbo].[ufn_GetOrgId02] @Employer_code, @Emp_no; IF(@WorkPermitLetter IN ('1SENT', '2SENT')) SET @Letter1Code = 'Y'; BEGIN END IF(@WorkPermitLetter = '2SENT') SET @Letter2Code = 'Y'; BEGIN END IF(LEN(@AdjustDateHire) > 1) SET @HireDate = LEFT(@AdjustDateHire, LEN(@AdjustDateHire)-6) + '-' + SUBSTRING(@AdjustDateHire, LEN(@AdjustDateHire)-5, 2) + '-' + RIGHT(@AdjustDateHire,4); BEGIN END ELSE SET @HireDate = LEFT(@OriginalDateHire, LEN(@OriginalDateHire)-6) + '-' + SUBSTRING(@OriginalDateHire, LEN(@OriginalDateHire)-5, 2) + '-' + RIGHT(@OriginalDateHire,4); BEGIN END SET @WorkPermitDate = RTRIM(LTRIM(@WorkPermitDate)); IF (@WorkPermitDate IS NOT NULL AND @WorkPermitDate != '0' AND LEN(@WorkPermitDate) > 3) BEGIN BEGIN TransactionCursor_LZN Thursday, December 12, 2013 3:22 PM Procedures Page 109
  • 110.
    LEN(@WorkPermitDate) > 3) WHILE(LEN(RTRIM(LTRIM(@WorkPermitDate))) < 8) SET @WorkPermitDate = '0' + @WorkPermitDate; BEGIN END SET @WorkYear = CAST(RIGHT(@WorkPermitDate,4) AS int); SET @WorkMonth = CAST(LEFT(@WorkPermitDate, (LEN(@WorkPermitDate) - 6)) AS int); SET @WorkDay = CAST(SUBSTRING(@WorkPermitDate, LEN(@WorkPermitDate) -5, 2) AS int); SET @WorkPermitDate = LEFT(@WorkPermitDate, LEN(@WorkPermitDate)-6) + '-' + SUBSTRING(@WorkPermitDate, LEN(@WorkPermitDate)-5, 2) + '-' + RIGHT(@WorkPermitDate,4); IF(@WorkYear > YEAR(GETDATE())) SET @WorkPermitDateTimeStatus = 'F'; BEGIN END ELSE IF(@WorkYear < YEAR(GETDATE())) SET @WorkPermitDateTimeStatus = 'P'; BEGIN END ELSE IF(@WorkMonth > MONTH(GETDATE())) SET @WorkPermitDateTimeStatus = 'F'; BEGIN END ELSE IF(@WorkMonth < MONTH(GETDATE())) SET @WorkPermitDateTimeStatus = 'P'; BEGIN END ELSE IF (@WorkDay >= DAY(GETDATE())) SET @WorkPermitDateTimeStatus = 'F'; BEGIN END ELSE SET @WorkPermitDateTimeStatus = 'P'; BEGIN END IF(@WorkPermitLetter = 'DIPLM') SET @StatusCode = '9'; BEGIN END ELSE IF (@WorkPermitDateTimeStatus = 'P') SET @StatusCode = '1'; BEGIN END ELSE SET @StatusCode = 'I'; BEGIN END (Emp_no, CompanyNumber, [CLP-Type], [CLP-Date- Recorded], [CLP-Date-Expired], [CLP-Status-Code], [CLP-WP-Let-1- Cd], [CLP-WP-Let-2-Cd]) VALUES (@Emp_no, @CompanyNumber, 'W015', @HireDate, @WorkPermitDate, @StatusCode, @Letter1Code, @Letter2Code) INSERT INTO [dbo].[Transaction_LZN] --SELECT @Emp_no, 'Work', @WorkPermitDate; BEGIN END BEGIN END SET @FoodCardDate = RTRIM(LTRIM(@FoodCardDate)); IF (@FoodCardDate IS NOT NULL AND @FoodCardDate != '0' AND LEN(@FoodCardDate) > 3) Procedures Page 110
  • 111.
    LEN(@FoodCardDate) > 3) WHILE(LEN(RTRIM(LTRIM(@FoodCardDate))) < 8) SET @FoodCardDate = '0' + RTRIM(LTRIM(@FoodCardDate)); BEGIN END SET @FoodYear = CAST(RIGHT(@FoodCardDate,4) AS int); SET @FoodMonth = CAST(LEFT(@FoodCardDate, LEN(@FoodCardDate) - 6) AS int); SET @FoodDay = CAST(SUBSTRING(@FoodCardDate, LEN(@FoodCardDate) -5, 2) AS int); SET @FoodCardDate = LEFT(@FoodCardDate, LEN(@FoodCardDate)-6) + '-' + SUBSTRING(@FoodCardDate, LEN(@FoodCardDate)-5, 2) + '-' + RIGHT(@FoodCardDate,4); IF(@FoodYear > YEAR(GETDATE())) SET @FoodCardDateTimeStatus = 'F'; BEGIN END ELSE IF(@FoodYear < YEAR(GETDATE())) SET @FoodCardDateTimeStatus = 'P'; BEGIN END ELSE IF(@FoodMonth > MONTH(GETDATE())) SET @FoodCardDateTimeStatus = 'F'; BEGIN END ELSE IF(@FoodMonth < MONTH(GETDATE())) SET @FoodCardDateTimeStatus = 'P'; BEGIN END ELSE IF (@FoodDay >= DAY(GETDATE())) SET @FoodCardDateTimeStatus = 'F'; BEGIN END ELSE SET @FoodCardDateTimeStatus = 'P'; BEGIN END IF(@WorkPermitLetter = 'DIPLM') SET @StatusCode = '9'; BEGIN END ELSE IF (@FoodCardDateTimeStatus = 'P') SET @StatusCode = '1'; BEGIN END ELSE SET @StatusCode = 'I'; BEGIN END (Emp_no, CompanyNumber, [CLP-Type], [CLP-Date- Recorded], [CLP-Date-Expired], [CLP-Status-Code], [CLP-WP-Let-1- Cd], [CLP-WP-Let-2-Cd]) VALUES (@Emp_no, @CompanyNumber, 'F025', @HireDate, @FoodCardDate, @StatusCode, @Letter1Code, @Letter2Code) INSERT INTO [dbo].[Transaction_LZN] --SELECT @Emp_no, 'Food', @FoodCardDate; BEGIN END BEGIN END SET @Emp_no = NULL; SET @Employer_code = NULL; SET @AdjustDateHire = NULL; Procedures Page 111
  • 112.
    SET @AdjustDateHire =NULL; SET @OriginalDateHire = NULL; SET @WorkPermitDate = NULL; SET @FoodCardDate = NULL; SET @WorkPermitLetter = NULL; SET @HireDate = NULL; SET @StatusCode = NULL; SET @WorkPermitDateTimeStatus = NULL; SET @FoodCardDateTimeStatus = NULL; SET @WorkYear = NULL; SET @WorkMonth = NULL; SET @WorkDay = NULL; SET @FoodYear = NULL; SET @FoodMonth = NULL; SET @FoodDay = NULL; SET @Letter1Code = NULL; SET @Letter2Code = NULL; FETCH NEXT FROM empcrs INTO @Emp_no, @Employer_code, @AdjustDateHire, @OriginalDateHire, @WorkPermitDate, @FoodCardDate, @WorkPermitLetter; END END Procedures Page 112
  • 113.
    /****** Object: StoredProcedure[dbo].[TransactionCursor_V] Script Date: 12/12/2013 15:23:21 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TransactionCursor_V] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.Transaction_V; @Name_last nchar(18), @Name_first nchar(18), @Name_mi nchar(1), @Name_middle nchar(15), @Name_suffix nchar(5), @Address1 nchar(30), @Address2 nchar(30), @City nchar(30), @State nchar(3), @ZipLong nchar(10), @CountryCode nchar(3) DECLARE @Employer_code nchar(3), @EmpNum nchar(9), @StatusCode nchar(5), @TermDate nchar(8), @AdjHireDate nchar(8), gs2.Last_name, gs2.First_name, gs2.MI, gs2.Middle_name, gs2.Suffix, gs2.Street_addr1, gs2.Street_addr2, gs2.City, gs2.[State/Province], gs2.Zip, gs2.Country_code FROM dbo.GFSISSY02 AS gs2; SELECT gs2.Employer_code, gs2.Emp_no, gs2.status_code, gs2.cur_term_date, gs2.adjusted_date_hire, DECLARE datacursor CURSOR FOR OPEN datacursor; FETCH NEXT FROM datacursor @Name_last, @Name_first, @Name_mi, @Name_middle, @Name_suffix, @Address1, @Address2, @City, @State, @ZipLong, @CountryCode; INTO @Employer_code, @EmpNum, @StatusCode, @TermDate, @AdjHireDate, WHILE @@FETCH_STATUS = 0 DECLARE @OrgId nchar(6), @CenturyAdjHireDate nchar(6), @ConvSuffix nchar(3), @ZipDash nchar(10), @ConvCountryCode nchar(2); --EXEC @OrgId = dbo.ufn_GetOrgId @Employer_code, @StatusCode, @TermDate; EXEC @OrgId = dbo.ufn_GetOrgId02 @Employer_code, @EmpNum; EXEC @CenturyAdjHireDate = dbo.ufn_Convert_ToCenturyDate @AdjHireDate; EXEC @ConvSuffix = dbo.ufn_Convert_SuffixCode @Name_suffix; EXEC @ConvCountryCode = dbo.ufn_Convert_CountryCode @CountryCode; IF(LEN(RTRIM(LTRIM(@Name_middle))) = 0) SET @Name_middle = @Name_mi; BEGIN END IF(LEN(@Name_first) > 15) SET @Name_first = SUBSTRING(@Name_first, 1, 15); BEGIN END IF(LEN(@City)>20) SET @City = SUBSTRING(@City, 1, 20); BEGIN END SET @State = SUBSTRING(@State, 1, 2); IF(LEN(@ZipLong) = 10) SET @ZipDash = SUBSTRING(@ZipLong, 1, 5) + '-' + SUBSTRING(@ZipLong, 7, 4); BEGIN END ELSE SET @ZipDash = SUBSTRING(@ZipLong, 1, 5); BEGIN END INSERT INTO dbo.Transaction_V BEGIN BEGIN TransactionCursor_V Thursday, December 12, 2013 3:23 PM Procedures Page 113
  • 114.
    INSERT INTO dbo.Transaction_V OrgId, Emp_no, Century_adj_hire_date, Name_last, Name_first, Name_middle, Name_suffix, City, [State], ZipCode, CountryCode ( ) VALUES @OrgId, @EmpNum, @CenturyAdjHireDate, @Name_last, @Name_first, @Name_middle, @ConvSuffix, @City, @State, @ZipDash, @ConvCountryCode ( ) SET@Employer_code = NULL; SET @EmpNum = NULL; SET @StatusCode = NULL; SET @TermDate = NULL; SET @AdjHireDate = NULL; SET @Name_last = NULL; SET @Name_first = NULL; SET @Name_mi = NULL; SET @Name_middle = NULL; SET @Name_suffix = NULL; SET @Address1 = NULL; SET @Address2 = NULL; SET @City = NULL; SET @State = NULL; SET @ZipLong = NULL; SET @CountryCode = NULL; SET @OrgId = NULL; SET @ConvSuffix = NULL; SET @ZipDash = NULL; SET @ConvCountryCode = NULL; FETCH NEXT FROM datacursor @Name_last, @Name_first, @Name_mi, @Name_middle, @Name_suffix, @Address1, @Address2, @City, @State, @ZipLong, @CountryCode; INTO @Employer_code, @EmpNum, @StatusCode, @TermDate, @AdjHireDate, END CLOSE datacursor; DEALLOCATE datacursor; END Procedures Page 114
  • 115.
    /****** Object: StoredProcedure[dbo].[Update_GFSISSY17_CompanyNum] Script Date: 12/12/2013 15:23:45 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Update_GFSISSY17_CompanyNum] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.GFSISSY17_CompanyNum; g17.Emp_no, cnm.CompanyNumber, g17.Relationship_code, g17.Dependent_age, g17.Dependents_dob, g17.Dependents_ssno, g17.Student_status, g17.Dependents_last_name, g17.Dependents_first_name, g17.Dependents_mid_init, g17.Dependents_gender, g17.Dependent_no LEFT OUTER JOIN [dbo].[CompanyNumber] AS cnm ON g17.Employer_code = cnm.EmployerCode AND g17.Emp_no = cnm.EmpNum FROM [dbo].[GFSISSY17] AS g17 SELECT g17.Employer_code, INSERT INTO [dbo].[GFSISSY17_CompanyNum] BEGIN END Update_GFSISSY17_CompanyNum Thursday, December 12, 2013 3:23 PM Procedures Page 115
  • 116.
    /****** Object: StoredProcedure[dbo].[usp_Convert_ToDate] Script Date: 12/12/2013 15:24:17 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO @InDate nvarchar(20) ALTER PROCEDURE [dbo].[usp_Convert_ToDate] AS DECLARE @InYear nvarchar(4), @InMonth nvarchar(2), @InDay nvarchar(2), @Outstring nvarchar(10), @Outdate date; SET @InDate = RTRIM(LTRIM(@InDate)); IF (LEN(@InDate) < 7) RETURN NULL; BEGIN END IF(LEN(@InDate) < 8) SET @InYear = SUBSTRING(@InDate, 4, 4); SET @InMonth = SUBSTRING (@InDate, 1, 1); SET @InDay = SUBSTRING(@InDate, 2, 2); BEGIN END ELSE SET @InYear = SUBSTRING(@InDate, 5, 4); SET @InMonth = SUBSTRING (@InDate, 1, 2); SET @InDay = SUBSTRING(@InDate, 3, 2); BEGIN END SET @Outstring = @InYear + '-' + @InMonth + '-' + @InDay; SET @Outdate = @Outstring; BEGIN TRY END TRY SET @Outdate = '9999-12-31'; BEGIN CATCH END CATCH SELECT @Outdate; BEGIN END usp_Convert_ToDate Thursday, December 12, 2013 3:24 PM Procedures Page 116
  • 117.
    /****** Object: StoredProcedure[dbo].[usp_GetDateType] Script Date: 12/12/2013 15:24:44 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO @InDate nvarchar(8) ALTER PROCEDURE [dbo].[usp_GetDateType] AS DECLARE @InYear char(4), @InMonth char(2), @InDay char(2), @Outstring char(10), @Outdate Date; SET @InDate = RTRIM(LTRIM(@InDate)); IF (LEN(@InDate) < 7) RETURN NULL; BEGIN END IF(LEN(@InDate) < 8) SET @InYear = SUBSTRING(@InDate, 4, 4); SET @InMonth = SUBSTRING (@InDate, 1, 1); SET @InDay = SUBSTRING(@InDate, 2, 2); BEGIN END ELSE SET @InYear = SUBSTRING(@InDate, 5, 4); SET @InMonth = SUBSTRING (@InDate, 1, 2); SET @InDay = SUBSTRING(@InDate, 3, 2); BEGIN END SET @Outstring = @InYear + '-' + @InMonth + '-' + @InDay; SET @Outdate = @Outstring; SELECT @Outdate; BEGIN END usp_GetDateType Thursday, December 12, 2013 3:24 PM Procedures Page 117
  • 118.
    /****** Object: StoredProcedure[dbo].[usp_PopulateCompanyNumberTable] Script Date: 12/12/2013 15:25:04 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[usp_PopulateCompanyNumberTable] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.CompanyNumber; DECLARE @Employer_code nchar(3), @EmpNum nvarchar(10), @Status_code nchar(5), @CurTerm_date nvarchar(8), @InsertCnt int, @NoInsertCnt int, @TargetDate date, @CurrentDate date; SET @InsertCnt = 0; SET @NoInsertCnt = 0; SET @TargetDate = '2012-12-16' PRINT @TargetDate; FROM dbo.GFSISSY02 AS g02 SELECT g02.Employer_code, g02.Emp_no, g02.status_code, g02.cur_term_date DECLARE datacursor CURSOR FOR OPEN datacursor; FETCH NEXT FROM datacursor INTO @Employer_code, @EmpNum, @Status_code, @CurTerm_date; WHILE @@FETCH_STATUS = 0 DECLARE @OrgId char(6), @CurrentYear char(4), @CurrentMonth varchar(2), @CurrentDay char(2), @CurrentTempDate varchar(10), @CompanyNumber nvarchar(6); SET @OrgId = NULL; SET @CurrentYear = NULL; SET @CurrentMonth = NULL; SET @CurrentDay = NULL; SET @CompanyNumber = NULL; SET @CurTerm_date = RTRIM(LTRIM(@CurTerm_date)); IF(LEN(RTRIM(LTRIM(@CurTerm_date))) = 8) SET @CurrentYear = CONVERT(int, SUBSTRING (@CurTerm_date, 5, 4)); SET @CurrentMonth = CONVERT(int, SUBSTRING(@CurTerm_date, 1, 2)); SET @CurrentDay = CONVERT(int, SUBSTRING (@CurTerm_date, 3,2)); SET @CurrentTempDate = @CurrentMonth + '/' + @CurrentDay + '/' + @CurrentYear; SET @CurrentDate = @CurrentTempDate; BEGIN END ELSE IF(LEN(RTRIM(LTRIM(@CurTerm_date))) = 7) SET @CurTerm_date = '0' + @CurTerm_date; SET @CurrentYear = CONVERT(int, SUBSTRING (@CurTerm_date, 5, 4)); SET @CurrentMonth = CONVERT(int, SUBSTRING(@CurTerm_date, 1, 2)); SET @CurrentDay = CONVERT(int, SUBSTRING (@CurTerm_date, 3,2)); SET @CurrentTempDate = @CurrentMonth + '/' + @CurrentDay + '/' + @CurrentYear; SET @CurrentDate = @CurrentTempDate; BEGIN END IF (@Employer_code = 'KBF') IF(@Status_code IN ('EFT', 'EFTG', 'HFT', 'HFTG', 'NFT', 'NFTG')) IF(RTRIM(LTRIM(@CurTerm_date)) = 0 OR @CurrentDate > @TargetDate) SET @OrgId = '047C2F'; BEGIN END BEGIN BEGIN BEGIN BEGIN usp_PopulateCompanyNumberTable Thursday, December 12, 2013 3:24 PM Procedures Page 118
  • 119.
    END ELSE SET @OrgId ='047C3F'; BEGIN END END ELSE IF(RTRIM(LTRIM(@CurTerm_date)) = 0 OR @CurrentDate > @TargetDate) SET @OrgId = '047C2K'; BEGIN END ELSE SET @OrgId = '047C3K'; BEGIN END END ELSE IF(@Status_code IN ('EFT', 'EFTG', 'HFT', 'HFTG', 'NFT', 'NFTG')) IF(RTRIM(LTRIM(@CurTerm_date)) = 0 OR @CurrentDate > @TargetDate) SET @OrgId = '057D2F'; BEGIN END ELSE SET @OrgId = '057D3F'; BEGIN END BEGIN END ELSE IF(RTRIM(LTRIM(@CurTerm_date)) = 0 OR @CurrentDate > @TargetDate) SET @OrgId = '057D2K'; BEGIN END ELSE SET @OrgId = '057D3K'; BEGIN END BEGIN END FROM dbo.CompanyNumber AS cnm AND cnm.EmpNum = @EmpNum AND cnm.StatusCode = @Status_code AND cnm.CurTermDate = @CurTerm_date AND cnm.CompanyNumber = @OrgId WHERE cnm.EmployerCode = @Employer_code SELECT @CompanyNumber = cnm.CompanyNumber IF(@CompanyNumber IS NULL) INSERT INTO dbo.CompanyNumber EmployerCode, EmpNum, StatusCode, CurTermDate, CompanyNumber ( ) VALUES @Employer_code, @EmpNum, @Status_code, @CurTerm_date, @OrgId ( BEGIN Procedures Page 119
  • 120.
    @OrgId ) END ELSE PRINT '**Row notinserted: ' + CAST(@NoInsertCnt AS nvarchar(6)) + '; EmployerCode: ' + @Employer_code + '; EmpNum: ' + @EmpNum + '; StatusCode: ' + @Status_code + '; CurTermDate: ' + CAST(@CurTerm_date AS nvarchar) + '; CompanyNumber: ' + @OrgId; BEGIN END SET @Employer_code = NULL; SET @Status_code = NULL; SET @CurTerm_date = NULL; INTO @Employer_code, @EmpNum, @Status_code, @CurTerm_date; FETCH NEXT FROM datacursor END END Procedures Page 120
  • 121.
    /****** Object: StoredProcedure[dbo].[usp_PopulateGFSISSY24_GFSISSY25] Script Date: 12/12/2013 15:25:37 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[usp_PopulateGFSISSY24_GFSISSY25] AS SET NOCOUNT ON; TRUNCATE TABLE dbo.GFSISSY24_GFSISSY25; PRINT 'Inserting rows from GFSISSY24.'; INSERT INTO dbo.GFSISSY24_GFSISSY25 Origin, Employer_code, Emp_no, code_type, check_date, period_end_date, division_charged, department_charged, cost_center_charged, checking_account, check_number, fiscal_year, fiscal_month, code, priority_code, old_division_code, hours_paid, actual_rate_paid, base_rate, amount_paid, account_charged, job_code_charged, project_code_charged, country, [state], GL_posted, posting_flag, position_code, shift_code ( g24.Employer_code, g24.Emp_no, g24.Income_code_type, g24.check_date, g24.period_end_date, g24.division_charged, g24.department_charged, g24.cost_center_charged, g24.checking_account, g24.check_number, g24.fiscal_year, g24.fiscal_month , g24.code, g24.priority_code, SELECT '24', ) BEGIN usp_PopulateGFSISSY24_GFSISSY25 Thursday, December 12, 2013 3:25 PM Procedures Page 121
  • 122.
    g24.priority_code, g24.old_division_code, g24.hours_paid, g24.actual_rate_paid, g24.base_rate, g24.amount_paid, g24.account_charged, g24.job_code_charged, g24.project_code_charged, g24.country, g24.[state], g24.GL_posted, g24.posting_flag, g24.position_code, g24.shift_code FROM dbo.GFSISSY24 ASg24 WHERE CAST(RIGHT(RTRIM(LTRIM(g24.check_date)),4) AS int) >= 2013; PRINT 'Inserting rows from GFSISSY24 COMPLETE.'; PRINT 'Inserting rows from GFSISSY25.'; INSERT INTO dbo.GFSISSY24_GFSISSY25 Origin, Employer_code, Emp_no, code_type, employee_deduction, employer_deduction, check_date, period_end_date, division_charged, department_charged, cost_center_charged, checking_account, check_number, code, fiscal_year, fiscal_month, priority_code, old_division_code ( g25.Employer_code, g25.Emp_no, g25.deduction_code_type, g25.employee_deduction, g25.employer_deduction, g25.check_date, g25.period_end_date, g25.division_charged, g25.department_charged, g25.cost_center_charged, g25.checking_account, g25.check_number, g25.code, g25. fiscal_year, g25.fiscal_month, g25.priority_code, g25.old_division_code FROM dbo.GFSISSY25 AS g25 WHERE CAST(RIGHT(RTRIM(LTRIM(g25.check_date)),4) AS int) >= 2013; SELECT '25', ) PRINT 'Inserting rows from GFSISSY25 COMPLETE.'; END Procedures Page 122