I have solve the code using the following solution. Hope that it helps others in search of similar:
AS
SET NOCOUNT OFF;
SELECT
@EmpCode = max(EmpCode)
FROM
Employees
WHERE
EmpCode like upper(substring(@Firstname,1,1)+substring(@Surname,1,1)) +'%'
IF @EmpCode is null
set @EmpCode = upper(substring(@Firstname,1,1)+substring(@Surname,1,1)) + '001';
ELSE
BEGIN
DECLARE @EmpCodeNo int;
SET @EmpCodeNo = Cast(substring(@EmpCode,3,3) as int) + 1;
SET @EmpCode = upper(substring(@Firstname,1,1)+substring(@Surname,1,1)) + replicate('0',3-len(@EmpCodeNo)) + cast(@EmpCodeNo as varchar);
END
INSERT INTO