Where did you use @Temp_Date. You declared and assigned a value to it but never used in your remaining code. Please refer this sp below. I used your variable instead of @Enter_Date.
ALTER PROCEDURE sp_Add_New_Engineer (
@EmpNo VARCHAR(20)
,@EngNo VARCHAR(12)
,@Eng_Type VARCHAR(50)
,@FName VARCHAR(50)
,@LName VARCHAR(50)
,@DOB VARCHAR(50)
,@Eng_Address VARCHAR(100)
,@Enter_Date DATETIME
,@ProNo VARCHAR(12)
)
AS
DECLARE @Temp_Date DATETIME
SET @Temp_Date = GETDATE()
BEGIN
IF (
(
SELECT count(*)
FROM Supervisor
WHERE EmpNo = @EmpNo
) = 0
)
AND (
(
SELECT count(*)
FROM Labor
WHERE EmpNo = @EmpNo
) = 0
)
BEGIN
INSERT INTO Engineer (
EmpNo
,EngNo
,Eng_Type
,FName
,LName
,DOB
,Eng_Address
,Enter_date
,ProNo
)
VALUES (
@EmpNo
,@EngNo
,@Eng_Type
,@FName
,@LName
,@DOB
,@Eng_Address
,@Temp_Date
,@ProNo
)
END
ELSE
PRINT 'Employee Number is already in use'
END