Gostaria de esclarecer uma dúvida que eu tenho... Tem como eu executar um CLEAR_RECORD de uma trigger When-Validate-Item?
Estou pergutando porque a tela que eu estou fazendo tem um item do tipo data, que assim que o usuário entrar com os dados ele faz uma busca no banco pra ver se já existe uma vigencia aberta com data superior a que está sendo aberta para a zona em questão, se já houver ele lança uma mensagem para informar que já existe e limpa a linha. Sendo o CLEAR_RECORD está lançando um erro, dizendo que não pode ser executado de dentro da trigger WHEN-VALIDATE-ITEM.
FRM-40737: Illegal restricted procedure %s in %s trigger.
Cause: Application design error. A trigger tried to execute a restricted packaged procedure.
Action: Remove the packaged procedure from the trigger text.
Level: >25
Type: Error
Não pode-se utilizar por ser uma BUILT-IN restrita.
Não tem como, após tua validação, jogar um valor nulo para teus itens?
declare
expired_timer varchar2(30);
begin
expired_timer := GET_APPLICATION_PROPERTY(TIMER_NAME);
if expired_timer = 'TIMER_CR' then
clear_record;
else
...
<tratamento dos demais timers do form, se houverem>
...
end if;
end;