Please look to to what it should be and compare to your code:
CREATE OR REPLACE PROCEDURE SP_FIRST_COMPLETE (
TASK_ID IN VARCHAR2,
FIRST_COMPLETE_DT IN OUT DATE)
IS
BEGIN
DBMS_OUTPUT.PUT_LINE ('First date is:= ' ||
TO_DATE(FIRST_COMPLETE_DT, 'DD-MM-YYYY', 'NLS_DATE_LANGUAGE=ENGLISH')
);
END;
CREATE OR REPLACE PROCEDURE SP_NOT_FIRST_COMPLETE (
TASK_ID IN VARCHAR2,
FIRST_COMPLETE_DT IN DATE,
FIRST_COMPLETE_DT1 OUT DATE)
IS
BEGIN
FIRST_COMPLETE_DT1 := TO_DATE(FIRST_COMPLETE_DT, 'DD-MM-YYYY', 'NLS_DATE_LANGUAGE=ENGLISH');
DBMS_OUTPUT.PUT_LINE ('Second date is:= ' || FIRST_COMPLETE_DT1);
END;
The execution
DECLARE
THE_OUTPUT_DATE1 DATE ;
THE_OUTPUT_DATE2 DATE ;
BEGIN
THE_OUTPUT_DATE1 := SYSDATE;
SP_FIRST_COMPLETE (1, THE_OUTPUT_DATE1);
SP_NOT_FIRST_COMPLETE (1, THE_OUTPUT_DATE1, THE_OUTPUT_DATE2);
DBMS_OUTPUT.PUT_LINE('Output date ' || TO_DATE(THE_OUTPUT_DATE2, 'DD-MM-YYYY', 'NLS_DATE_LANGUAGE=ENGLISH'));
END;
the DBMS output then as what you want:
First Date is:= 06-APR-14
Second Date is:= 06-APR-14
Output date: 06-APR-14