Вы можете использовать функцию TRUNC, чтобы удалить часть времени, а затем посмотреть, соответствует ли дата приложения сегодняшней дате, независимо от времени.
Также нет необходимости в прагме автономной транзакции. Вы не выполняете DML.
CREATE OR REPLACE TRIGGER position_number
BEFORE UPDATE OR INSERT OR DELETE
ON applies
DECLARE
number_of_positions NUMBER;
BEGIN
SELECT COUNT (pnumber)
INTO number_of_positions
FROM applies
WHERE anumber = :new.anumber AND TRUNC (appdate) = TRUNC (SYSDATE);
IF number_of_positions > 2
THEN
raise_application_error (
-20000,
'An Employee cannot apply for more than two positions on the same day');
END IF;
END;
/