Para acabar de informar, el problema era que
numer_artic_s es una función y no un procedimiento. Y PLSQL es muy estricto en cuanto a los parametros, tipos de retorno etc. Así que para poder llamar a una funcion, has de asignarle una variable para el valor de retorno, como haces en el segundo caso.
PLSQL es muy quisquilloso
.
S!