Oi Rodrigo,
pelo que entendi com pragma vc associa um código de erro ao um nome, pois nem todos os erros da oracle tem nome:
pragma exception_init(enull, -1400);
Dessa forma vc pode trata o erro 1400 atraves do nome enull.
Depois, no tratamento, "transformamos" o erro enull para uma lançar uma nova aplication exception com uma mensagem amigavel:
raise_application_error(-20015,'A coluna ID tem preenchimento obrigatório');
O que acontece então é que o cliente recebe um erro -20015 com a descrição A coluna ID tem ... quando internamente dá o erro 1400. A ideia é lançar um novo erro mais fácil de entender para quem usa a rotina. Tudo bem?
abs