Logs
Logs
/*
-- Author: Abzooba
-- Create date:
-- Description: S
--
-- EXEC [sp_get_historical_compensation_dashboard_excel_data] '[email protected]_',
2021, 2022, null, 1
-- exec sp_get_historical_compensation_dashboard_excel_data '[email protected]_' ,
'2021', '2022', null, 1
*/
SET @v_year='';
SET @sql = ' ';
WHILE @m_from_year<=@p_to_year
BEGIN
DECLARE @TableName VARCHAR(100) = 'temp_'+CAST (@m_from_year AS
VARCHAR(4))
SET @m_from_year=@m_from_year+1;
END;
WHILE @s_from_year<=@p_to_year
BEGIN
SELECT @v_appraisal_period_id=appraisal_period_id FROM
appraisal_period WHERE period_desc=@s_from_year;
SELECT @v_current_appraisal_period_id=appraisal_period_id FROM
appraisal_period WHERE Is_Default=1;
END
ELSE
BEGIN
SET @v_employee_info_query='(SELECT
grade_id,designation_id,e.appraisal_period_id,e.emp_id,0 AS pa_rating_id from
employee_yearwise e ,
(SELECT max(createddate) as
date,appraisal_period_id,emp_id from employee_yearwise
where emp_id in('+@v_self_emp_id+') AND
appraisal_period_id in ('+CAST(@v_appraisal_period_id AS VARCHAR(3))+')
AND isactive='+@v_isActive+'
group by appraisal_period_id,emp_id)p where
e.emp_id=p.emp_id
AND e.appraisal_period_id=p.appraisal_period_id
AND e.CreatedDate= p.date) emp_info,'
END
--SELECT @v_employee_info_query;
IF (@v_is_self = 1 OR @v_is_self=null)
BEGIN
-- SELECT 'i am in self'
-- Historical data for self
SET @v_employee_info_query='(SELECT
grade_description, designation, e.apprId, e.emp_id, r.pa_rating_id,
pm.pa_rating_desc FROM dbo.getAllEmployeeInfoByApprId('+CAST(@v_appraisal_period_id
AS VARCHAR(3))+') e LEFT JOIN pa_overall_rating_Admin r ON e.emp_id = r.emp_id AND
e.apprId=r.appraisal_period_id LEFT JOIN pa_rating_mstr pm ON r.pa_rating_id=
pm.pa_rating_id WHERE e.emp_id= '+ @v_self_emp_id +' AND
e.IsActive='+@v_isActive+') emp_info,';
END
ELSE
BEGIN
--SELECT 'i am in self 2'
/*SET
@v_employee_info_query='(SELECT
grade_id,designation_id,e.appraisal_period_id,e.emp_id,0 AS pa_rating_id from
employee_yearwise e ,
(SELECT max(createddate) as
date,appraisal_period_id,emp_id from employee_yearwise
where emp_id in('+@v_self_emp_id+')
AND appraisal_period_id in ('+CAST(@v_appraisal_period_id AS VARCHAR(3))+')
AND isactive='+@v_isActive+'
group by
appraisal_period_id,emp_id)p where e.emp_id=p.emp_id
AND
e.appraisal_period_id=p.appraisal_period_id AND e.CreatedDate= p.date)
emp_info,'*/
SET
@v_employee_info_query='(SELECT grade_description, designation, apprId, emp_id, 0
AS pa_rating_id, NULL AS pa_rating_desc FROM
dbo.getAllEmployeeInfoByApprId('+CAST(@v_appraisal_period_id AS VARCHAR(3))+')
WHERE e.emp_id= '+ @v_self_emp_id +' IsActive='+@v_isActive+') emp_info,';
END
sal_info.MidyearPromotion,sal_info.MidyearCorrection,sal_info.RetentionBonus,
CONVERT(VARCHAR(11),sal_info.Retention_Start_Date,
113) as Paidon,CONVERT(VARCHAR(11),sal_info.Retention_End_Date, 113) as ValidTill
into temp_'+CAST (@s_from_year AS VARCHAR(4))+' FROM '*/
CONVERT(VARCHAR(11),sal_info.Retention_Start_Date, 113) as
Paidon,CONVERT(VARCHAR(11),sal_info.Retention_End_Date, 113) as ValidTill into
temp_'+CAST (@s_from_year AS VARCHAR(4))+' FROM '
--
CONVERT(VARCHAR(11),sal_info.Retention_Start_Date, 113) as
Paidon,CONVERT(VARCHAR(11),sal_info.Retention_End_Date, 113) as ValidTill into
temp_'+CAST (@s_from_year AS VARCHAR(4))+' FROM '
SET @sql=@sql+'(SELECT
emp_id,MAX(retention_start_Date) AS retention_start_Date,MAX(retention_end_Date) AS
retention_end_Date,
MAX(revisedsalary) AS
revisedsalary,MAX(midyearpromotion) AS midyearpromotion,
MAX(midyearcorrection) AS
midyearcorrection,MAX(retentionbonus) AS retentionbonus,appraisal_period_id FROM
(
SELECT * FROM (SELECT emp_id, ISNULL(ISNULL(newCTC,
CTC),0) AS amount,
status,appraisal_period_id,Retention_Start_Date,Retention_End_Date FROM
(SELECT cys.emp_id,
CAST(dbo.Decrypt(CONVERT(VARBINARY(max), ISNULL(amount, 0), 1) ) AS DECIMAL) as
amount , status, cys.appraisal_period_id, cys.Retention_Start_Date,
cys.Retention_End_Date, csf.head_name
FROM comp_yearwise_salary cys, comp_salary_fileds csf
WHERE cys.status in(''RevisedSalary'', ''MidyearPromotion'', ''MidyearCorrection'')
AND emp_id = '+@v_self_emp_id+' AND
cys.salary_field_id=csf.ID AND cys.appraisal_period_id =
'+CAST(@v_appraisal_period_id AS VARCHAR(3))+')s PIVOT (MAX(amount) FOR head_name
IN (CTC, newCTC)
) src1
UNION
SELECT * from (SELECT
emp_id,CAST(dbo.Decrypt(CONVERT(VARBINARY(max), ISNULL(amount, 0), 1) ) AS DECIMAL)
as amount,status,appraisal_period_id,Retention_Start_Date,
Retention_End_Date FROM comp_yearwise_salary
WHERE
status IN(''RetentionBonus'')
AND emp_id ='+@v_self_emp_id+'
AND salary_field_id=(SELECT id FROM
comp_salary_fileds WHERE appraisal_period_id='+CAST(@v_appraisal_period_id AS
VARCHAR(3))+' AND head_name=''RetentionAmount'')
) src2) src
pivot
(
MAX(amount) FOR status in
(RevisedSalary,MidyearPromotion,MidyearCorrection,RetentionBonus)
) piv) a GROUP BY emp_id,appraisal_period_id)
sal_info,
(SELECT en.emp_id,en.emp_name,ey.IsActive,
(SELECT function_name from employee_function_mstr
where function_id=ey.function_id) as function_id,
(SELECT designation from employee_designation_mstr
where designation_id=ey.designation_id) as designation_id,
SET @v_employee_info_query='(SELECT
grade_description, designation, e.apprId, e.emp_id, r.pa_rating_id,
pm.pa_rating_desc FROM dbo.getAllEmployeeInfoByApprId('+CAST(@v_appraisal_period_id
AS VARCHAR(3))+') e LEFT JOIN pa_overall_rating_Admin r ON e.emp_id = r.emp_id AND
e.apprId=r.appraisal_period_id LEFT JOIN pa_rating_mstr pm ON r.pa_rating_id=
pm.pa_rating_id WHERE e.IsActive='+@v_isActive+') emp_info,';
END
ELSE
BEGIN
--SELECT 'In Else';
--Commented on 27-10-2020 by
Prasanta
/*SET
@v_employee_info_query='(SELECT
grade_id,designation_id,e.appraisal_period_id,e.emp_id,0 AS pa_rating_id from
employee_yearwise e,
(SELECT max(createddate) as
date,appraisal_period_id,emp_id from employee_yearwise
where emp_id in(
SELECT distinct emp_id from
(SELECT max(eee.createddate) as date, eee.appraisal_period_id, eee.emp_id FROM
employee_yearwise eee,
(SELECT max(createddate) as
crdate,emp_id FROM employee_yearwise WHERE
appraisal_period_id in
('+CAST(@v_appraisal_period_id AS VARCHAR(3))+') GROUP BY emp_id) pp WHERE
eee.CreatedDate =pp.crdate AND eee.emp_id=pp.emp_id
AND eee.appraisal_period_id
in ('+CAST(@v_appraisal_period_id AS VARCHAR(3))+') AND eee.isActive
='+@v_isActive+' group by eee.createddate,
eee.appraisal_period_id,
eee.emp_id) k
) AND
isactive='+@v_isActive+' AND
appraisal_period_id in
('+CAST(@v_appraisal_period_id AS VARCHAR(3))+')
group by
appraisal_period_id,emp_id)p where e.emp_id=p.emp_id
AND
e.appraisal_period_id=p.appraisal_period_id AND e.CreatedDate= p.date)
emp_info,'*/
SET
@v_employee_info_query='(SELECT grade_description, designation, apprId, emp_id, 0
AS pa_rating_id, NULL AS pa_rating_desc FROM
dbo.getAllEmployeeInfoByApprId('+CAST(@v_appraisal_period_id AS VARCHAR(3))+')
WHERE IsActive='+@v_isActive+') emp_info,';
END
CONVERT(VARCHAR(11),sal_info.Retention_Start_Date, 113) as
Paidon,CONVERT(VARCHAR(11),sal_info.Retention_End_Date, 113) as ValidTill into
temp_'+CAST (@s_from_year AS VARCHAR(4))+' FROM '
SET @sql=@sql+ @v_employee_info_query;
SET @sql=@sql+'(SELECT
emp_id,MAX(retention_start_Date) AS retention_start_Date,MAX(retention_end_Date) AS
retention_end_Date,
MAX(revisedsalary) AS
revisedsalary,MAX(midyearpromotion) AS midyearpromotion,
MAX(midyearcorrection) AS
midyearcorrection,MAX(retentionbonus) AS retentionbonus,appraisal_period_id FROM
(
SELECT * FROM (SELECT emp_id,
ISNULL(ISNULL(newCTC, CTC),0) AS amount, status,appraisal_period_id,
Retention_Start_Date,Retention_End_Date FROM
(SELECT cys.emp_id,
CAST(dbo.Decrypt(CONVERT(VARBINARY(max), ISNULL(amount, 0), 1) ) AS DECIMAL) as
amount, status, cys.appraisal_period_id, cys.Retention_Start_Date,
cys.Retention_End_Date, csf.head_name
FROM comp_yearwise_salary cys,
comp_salary_fileds csf WHERE cys.status in(''RevisedSalary'',
''MidyearPromotion'', ''MidyearCorrection'')
AND cys.salary_field_id=csf.ID AND
cys.appraisal_period_id = '+CAST(@v_appraisal_period_id AS VARCHAR(3))+')s PIVOT
(MAX(amount) FOR head_name IN (CTC, newCTC)
) src1
UNION
SELECT * FROM (SELECT
emp_id,CAST(dbo.Decrypt(CONVERT(VARBINARY(max), ISNULL(amount, 0), 1) ) AS DECIMAL)
as amount,status,appraisal_period_id,Retention_Start_Date,
Retention_End_Date from
comp_yearwise_salary where
status IN(''RetentionBonus'')
AND salary_field_id=(SELECT id FROM
comp_salary_fileds WHERE appraisal_period_id='+CAST(@v_appraisal_period_id AS
VARCHAR(3))+' AND head_name=''RetentionAmount'')
) src2) src
pivot
(
max(amount) for status in
(RevisedSalary,MidyearPromotion,MidyearCorrection,RetentionBonus)
) piv) a GROUP BY
emp_id,appraisal_period_id) sal_info,
(SELECT emp_id, emp_name, isActive,
function_name AS function_id, designation AS designation_id, DOJ_formatted,
DATEDIFF(year, DOJ_formatted, getdate()) as Tenure FROM
dbo.getAllEmployeeInfoByApprId('+CAST(@v_current_appraisal_period_id AS VARCHAR(5))
+') WHERE isActive='+@v_isActive+') current_info
/*(SELECT
en.emp_id,en.emp_name,ey.IsActive,
(SELECT function_name from
employee_function_mstr where function_id=ey.function_id) as function_id,
(SELECT designation from
employee_designation_mstr where designation_id=ey.designation_id) as
designation_id,
where emp_info.emp_id=sal_info.emp_id
AND emp_info.apprId=sal_info.appraisal_period_id
AND
emp_info.emp_id=current_info.emp_id';
-- select @sql;
--EXEC
[sp_get_historical_compensation_dashboard_excel_data] '[email protected]_', 2021,
2022, null, null
--SELECT 'Admin query '
--SELECT @sql;
EXEC (@sql);
END
ELSE
BEGIN
-- Historical data for LT
sal_info.MidyearPromotion,sal_info.MidyearCorrection,sal_info.RetentionBonus,
CONVERT(VARCHAR(11),sal_info.Retention_Start_Date, 113) as
Paidon,CONVERT(VARCHAR(11),sal_info.Retention_End_Date, 113) as ValidTill into
temp_'+CAST (@s_from_year AS VARCHAR(4))+' FROM '
SET @sql=@sql+ @v_employee_info_query;
/*
(SELECT
grade_id,designation_id,e.appraisal_period_id,e.emp_id,r.pa_rating_id from
employee_yearwise e,pa_overall_rating_Admin r,
(SELECT max(createddate) as
date,appraisal_period_id,emp_id from employee_yearwise
where emp_id in(SELECT emp_id FROM
employee_yearwise WHERE Functonal_LT='+@v_self_emp_id+')
AND isactive='+@v_isActive+' AND
appraisal_period_id in ('+CAST(@v_appraisal_period_id AS VARCHAR(3))+')
group by appraisal_period_id,emp_id)p
where e.emp_id=p.emp_id AND e.emp_id=r.emp_id
AND
e.appraisal_period_id=p.appraisal_period_id AND e.CreatedDate= p.date
AND
p.appraisal_period_id=r.appraisal_period_id) emp_info,
*/
SET @sql=@sql+'(SELECT
emp_id,MAX(retention_start_Date) AS retention_start_Date,MAX(retention_end_Date) AS
retention_end_Date,
MAX(revisedsalary) AS
revisedsalary,MAX(midyearpromotion) AS midyearpromotion,
MAX(midyearcorrection) AS
midyearcorrection,MAX(retentionbonus) AS retentionbonus,appraisal_period_id FROM
(
SELECT * FROM (SELECT emp_id,
ISNULL(ISNULL(newCTC, CTC),0) AS amount, status,appraisal_period_id,
Retention_Start_Date,Retention_End_Date FROM
(SELECT cys.emp_id,
CAST(dbo.Decrypt(CONVERT(VARBINARY(max), ISNULL(amount, 0), 1) ) AS DECIMAL) as
amount, status, cys.appraisal_period_id, cys.Retention_Start_Date,
cys.Retention_End_Date, csf.head_name
FROM comp_yearwise_salary cys,
comp_salary_fileds csf WHERE cys.status in(''RevisedSalary'',
''MidyearPromotion'', ''MidyearCorrection'')
AND emp_id IN(SELECT emp_id FROM
dbo.getAllEmployeeInfoByApprId('+CAST(@v_appraisal_period_id AS VARCHAR(3))+')
WHERE functional_lt_id='+@v_self_emp_id+' AND isActive='+ @v_isActive +') AND
cys.salary_field_id=csf.ID AND cys.appraisal_period_id =
'+CAST(@v_appraisal_period_id AS VARCHAR(3))+')s PIVOT (MAX(amount) FOR head_name
IN (CTC, newCTC)
) src1
UNION
SELECT * FROM (SELECT
emp_id,CAST(dbo.Decrypt(CONVERT(VARBINARY(max), ISNULL(amount, 0), 1) ) AS DECIMAL)
as amount,status,appraisal_period_id,Retention_Start_Date,
Retention_End_Date FROM
comp_yearwise_salary where
status IN(''RetentionBonus'')
AND emp_id IN(SELECT emp_id FROM
employee_yearwise WHERE Functonal_LT='+@v_self_emp_id+')
AND salary_field_id=(SELECT id FROM
comp_salary_fileds WHERE appraisal_period_id='+CAST(@v_appraisal_period_id AS
VARCHAR(3))+' AND head_name=''RetentionAmount'')
) src2) src
pivot
(
max(amount) for status in
(RevisedSalary,MidyearPromotion,MidyearCorrection,RetentionBonus)
) piv) a GROUP BY
emp_id,appraisal_period_id) sal_info,
(SELECT
en.emp_id,en.emp_name,ey.IsActive,
(SELECT function_name from
employee_function_mstr where function_id=ey.function_id) as function_id,
(SELECT designation from
employee_designation_mstr where designation_id=ey.designation_id) as
designation_id,
END
END
SET @s_from_year=@s_from_year+1;
END
--SELECT @sql;
WHILE @p_FROM_year<=@p_to_year
BEGIN
-- SELECT @v_toYearHeading;
--SET @column_grade='p.grade_id AS
Grade_'+CAST(@p_FROM_year AS VARCHAR(4))
SET @column_employee_info=@column_employee_info+
',p.function_id AS ''Function'',p.designation_id AS
''Designation'',CONVERT(VARCHAR(11), p.doj_formatted, 113) AS DOJ,p.tenure AS
''Tenure (Years)'''
SET @column_grade='p.grade_id AS ''Grade
'+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @column_designation='p.deg_id AS ''Designation
'+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @column_rating='p.pa_rating_id AS ''Rating
'+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @column_revised_salary='CAST(p.RevisedSalary AS INT) AS
''CTC (Feb) '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_midyear_promotion='ISNULL(CAST(p.MidyearPromotion AS INT),0) AS ''OOC
Promotion '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_midyear_correction='ISNULL(CAST(p.MidyearCorrection AS INT),0) AS ''OOC
Correction '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @column_retention_bonus='ISNULL(CAST(p.RetentionBonus
AS INT),0) AS ''RetentionBonus '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @column_paidon='ISNULL(CONVERT(VARCHAR(11), p.Paidon,
113),''N/A'') AS ''PaidOn '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @column_validtill='ISNULL(CONVERT(VARCHAR(11),
p.ValidTill, 113),''N/A'') AS ''ValidTill '+CAST(@v_toYearHeading AS VARCHAR(4))
+''''
SET @table_name='temp_'+CAST (@p_FROM_year AS VARCHAR(4))+'
p'
END
if (@iCount=1)
BEGIN
--SELECT 'i am in count 1'
SET @column_grade=@column_grade+',q.grade_id AS ''Grade
'+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @column_designation=@column_designation+',q.deg_id AS
''Designation '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @column_rating=@column_rating+',q.pa_rating_id AS
''Rating '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_revised_salary=@column_revised_salary+',CAST(q.RevisedSalary AS INT) AS
''CTC (Feb) '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_midyear_promotion=@column_midyear_promotion+',ISNULL(CAST(q.MidyearPromotio
n AS INT),0) AS ''OOC Promotion '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_midyear_correction=@column_midyear_correction+',ISNULL(CAST(q.MidyearCorrec
tion AS INT),0) AS ''OOC Correction '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_retention_bonus=@column_retention_bonus+',ISNULL(CAST(q.RetentionBonus AS
INT),0) AS ''RetentionBonus '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_paidon=@column_paidon+',ISNULL(CONVERT(VARCHAR(11), q.Paidon, 113),''N/A'')
AS ''PaidOn '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_validtill=@column_validtill+',ISNULL(CONVERT(VARCHAR(11), q.ValidTill,
113),''N/A'') AS ''ValidTill '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @table_name=@table_name +',temp_'+CAST (@p_FROM_year AS
VARCHAR(4))+' q'
-- SET @where_clause='p.emp_id=q.emp_id'
-- SELECT @v_toYear;
SET @where_clause=' FROM '+' temp_'+CAST (@v_toYear AS
VARCHAR(4))+' p left join '+' temp_'+CAST ((@v_toYear - 1) AS VARCHAR(4))+' q on
q.emp_id = p.emp_id '
-- SELECT @where_clause;
END
if (@iCount=2)
BEGIN
--SELECT 'i am in count 2'
SET @column_grade=@column_grade+',r.grade_id AS ''Grade
'+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @column_designation=@column_designation+',r.deg_id AS
''Designation '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @column_rating=@column_rating+',r.pa_rating_id AS
''Rating '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_revised_salary=@column_revised_salary+',CAST(r.RevisedSalary AS INT) AS
''CTC (Feb) '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_midyear_promotion=@column_midyear_promotion+',ISNULL(CAST(r.MidyearPromotio
n AS INT),0) AS ''OOC Promotion '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_midyear_correction=@column_midyear_correction+',ISNULL(CAST(r.MidyearCorrec
tion AS INT),0) AS ''OOC Correction '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_retention_bonus=@column_retention_bonus+',ISNULL(CAST(r.RetentionBonus AS
INT),0) AS ''RetentionBonus '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_paidon=@column_paidon+',ISNULL(CONVERT(VARCHAR(11), r.Paidon, 13),''N/A'')
As ''PaidOn '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_validtill=@column_validtill+',ISNULL(CONVERT(VARCHAR(11), r.ValidTill,
113),''N/A'') As ''ValidTill '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @table_name=@table_name +',temp_'+CAST (@p_FROM_year AS
VARCHAR(4))+' r'
-- SET @where_clause=@where_clause+' AND
p.emp_id=r.emp_id'
-- SET @where_clause=' FROM temp_2017 r left join temp_2016
q on r.emp_id = q.emp_id left join temp_2015 p on q.emp_id = p.emp_id'
SET @where_clause=@where_clause+' left join temp_'+CAST
((@v_toYear - 1) AS VARCHAR(4))+' r on q.emp_id = r.emp_id '
-- SELECT @where_clause;
END
if (@iCount=3)
BEGIN
--SELECT 'i am in count 3'
SET @column_grade=@column_grade+',s.grade_id AS ''Grade
'+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @column_designation=@column_designation+',s.deg_id AS
''Designation '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @column_rating=@column_rating+',s.pa_rating_id AS
''Rating '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_revised_salary=@column_revised_salary+',CAST(s.RevisedSalary AS INT) AS
''CTC (Feb) '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_midyear_promotion=@column_midyear_promotion+',ISNULL(CAST(s.MidyearPromotio
n AS INT),0) AS ''OOC Promotion '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_midyear_correction=@column_midyear_correction+',ISNULL(CAST(s.MidyearCorrec
tion AS INT),0) AS ''OOC Correction '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_retention_bonus=@column_retention_bonus+',ISNULL(CAST(s.RetentionBonus AS
INT),0) AS ''RetentionBonus '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_paidon=@column_paidon+',ISNULL(CONVERT(VARCHAR(11), s.Paidon, 113),''N/A'')
As ''PaidOn '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_validtill=@column_validtill+',ISNULL(CONVERT(VARCHAR(11), s.ValidTill,
113),''N/A'') As ''ValidTill '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @table_name=@table_name +',temp_'+CAST (@p_FROM_year AS
VARCHAR(4))+' s'
-- SET @where_clause=@where_clause+' AND
p.emp_id=s.emp_id'
-- SET @where_clause=' FROM temp_2018 s left join temp_2017
r on s.emp_id = r.emp_id left join temp_2016 q on r.emp_id = q.emp_id left join
temp_2015 p on q.emp_id = p.emp_id'
SET @where_clause=@where_clause+' left join temp_'+CAST
((@v_toYear - 1) AS VARCHAR(4))+' s on r.emp_id = s.emp_id '
-- SELECT @where_clause;
END
if (@iCount=4)
BEGIN
--SELECT 'i am in count 4'
SET @column_grade=@column_grade+',t.grade_id AS ''Grade
'+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @column_designation=@column_designation+',t.deg_id AS
''Designation '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @column_rating=@column_rating+',t.pa_rating_id AS
''Rating '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_revised_salary=@column_revised_salary+',CAST(t.RevisedSalary AS INT) AS
''CTC (Feb) '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_midyear_promotion=@column_midyear_promotion+',ISNULL(CAST(t.MidyearPromotio
n AS INT),0) AS ''OOC Promotion '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_midyear_correction=@column_midyear_correction+',ISNULL(CAST(t.MidyearCorrec
tion AS INT),0) AS ''OOC Correction '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_retention_bonus=@column_retention_bonus+',ISNULL(CAST(t.RetentionBonus AS
INT) ,0) AS ''RetentionBonus '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_paidon=@column_paidon+',ISNULL(CONVERT(VARCHAR(11), t.Paidon, 113),''N/A'')
As ''PaidOn '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET
@column_validtill=@column_validtill+',ISNULL(CONVERT(VARCHAR(11), t.ValidTill,
113),''N/A'') AS ''ValidTill '+CAST(@v_toYearHeading AS VARCHAR(4))+''''
SET @table_name=@table_name +',temp_'+CAST (@p_FROM_year AS
VARCHAR(4))+' t'
-- SET @where_clause=@where_clause+' AND
p.emp_id=t.emp_id'
-- SET @where_clause=' FROM temp_2019 t left join temp_2018
s on t.emp_id = s.emp_id left join temp_2017 r on s.emp_id = r.emp_id left join
temp_2016 q on r.emp_id = q.emp_id left join temp_2015 p on q.emp_id = p.emp_id'
SET @where_clause=@where_clause+' left join temp_'+CAST
((@v_toYear - 1) AS VARCHAR(4))+' t on s.emp_id = t.emp_id '
-- SELECT @where_clause;
END
--SELECT @sql;
IF (@v_FROM_year=@v_to_year)
BEGIN
SET @sql='SELECT
'+@column_employee_info+','+@column_grade+','+@column_designation+','+@column_ratin
g+','+@column_revised_salary+','+@column_midyear_promotion+','
+@column_midyear_correction+','+@column_retention_bonus+','+@column_paidon+','+@col
umn_validtill+' FROM '+@table_name;
END
ELSE
BEGIN
SET @sql='SELECT
'+@column_employee_info+','+@column_grade+','+@column_designation+','+@column_ratin
g+','+@column_revised_salary+','+@column_midyear_promotion+','
--
+@column_midyear_correction+','+@column_retention_bonus+','+@column_paidon+','+@col
umn_validtill+' FROM '+@table_name+' WHERE '+ @where_clause
+@column_midyear_correction+','+@column_retention_bonus+','+@column_paidon+','+@col
umn_validtill+' '+ @where_clause
END
--SELECT 'Line 576';
--SELECT @sql;
EXEC (@sql);
SET @m_from_year=@p_from_year;
WHILE @m_from_year<=@p_to_year
BEGIN
SET @TableName = 'temp_'+CAST (@m_from_year AS VARCHAR(4))
SET @m_from_year=@m_from_year+1;
END;
END