tengo este procedimiento creado que genera codigos
create PROCEDURE Genera (param varchar(40),OUT codgen varchar(8))
BEGIN
declare ceros int;
declare ult INT;
SELECT ult=numero + 1 FROM `generador` WHERE Parametro = param;
SET ceros = 3 - LENGTH(ult);
SET codgen = LEFT(param,5)+REPEAT('0',ceros) +convert(ult,char);
update `generador` set numero=ult where parametro =param;
END
al momento de coorer el procedimiento "Genera" dentro d otro procedimiento me sale error
create procedure usu_nuevo(INOUT codusu varchar(8),id varchar(20),pass varchar(20))
begin
declare xcod varchar(8);
call Genera ('usuarios', xcod);//procedimiento Genera
set codusu=xcod;
insert into usuarios VALUES(codusu,id,pass);
end;
call usu_nuevo('','clever','123');
OUT or INOUT argument 1 for routine ferreteria.usu_nuevo is not a variable or NEW pseudo-variable in BEFORE trigger
ayuda porfa creo q el error esta en la variable de salida out