Al primer golpe de vista y sin saber que error te está dando, yo diría que te sobra el ":= not null" y el ":= null" en la declaración de parámetros del procedimiento.
La sintaxis es:
Sería más fácil si nos pusieras el código de error y el mensaje de error que te da al ejecutarlo.
La sintaxis es:
Código (sql) [Seleccionar]
CREATE [OR REPLACE]
PROCEDURE <procedure_name> [(<param1> [IN|OUT|IN OUT] <type>,
<param2> [IN|OUT|IN OUT] <type>, ...)]
IS
-- Declaracion de variables locales
BEGIN
-- Sentencias
[EXCEPTION]
-- Sentencias control de excepcion
END [<procedure_name>];
Sería más fácil si nos pusieras el código de error y el mensaje de error que te da al ejecutarlo.