Arreglé el problema de esta manera
Begin
execute 'select count(*) from ' ||tablename||
' where cast(date_dimension_year || ''-'' || date_dimension_month || ''-''||date_dimension_day as date)
not between (current_date - interval ''13 months'') and current_date' into total ;
Tuve que asignar el total entero hacia el final y el cierre adecuado de la cita (') funcionó para mí. (Acabo de pegar una parte de la función donde estaba teniendo problemas)
Gracias por toda su ayuda.