Как уже предлагал Мустаччо в комментарии, ваш синтаксис недействителен.
Если тип данных CRDATE - DATE, то вы имели в виду:
CREATE or replace PROCEDURE TT.PURGE_LOGS ()
LANGUAGE SQL
SPECIFIC atomic_proc
ap:
BEGIN ATOMIC
DELETE FROM TT.DTL
WHERE LOGID IN
(SELECT LOGID
FROM TT.HDR
WHERE LOGTYPE <> 120
AND CRDATE < CURRENT_DATE - 30 DAYS
) ;
DELETE FROM TT.HDR
WHERE LOGTYPE <> 120
AND CRDATE < CURRENT DATE - 30 DAYS
;
END ap
Обратите внимание, что ваш SIGNAL SQLSTATE
вероятно, должен быть обработчиком исключений, иначе его назначение неясно, как вы его написали.