Por un lado, no te olvides que no estás trabajando en C, C# o Vb. La asignación de valores a una variable se realiza por medio de la sentencia SET.
Código sql:
Ver originalCREATE PROCEDURE esip.DETERMINA (IN F CHAR,IN V CHAR,IN MOSdesde CHAR(4))
BEGIN
DECLARE Mdesde, Mhasta, MdesdeNewN, MhastaNewN CHAR (25) DEFAULT '';
-- Declaro el handler que al darse una condicion
-- continue su ejecucion, pero registre un flag
DECLARE flag INT DEFAULT 0;
DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @flag = 1;
IF F='F' THEN
SET Mdesde = TRIM(LOWER(MOSdesde));
SET Mdesde = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(RE PLACE(Mdesde,'a',''),'b',''),'c',''),'d',''),'e',' '),'f',''),'g','');
Por otro lado, ¿qué es lo que quieres lograr con ese uso del REPLACE? Parece un uso un tanto extraño