y el procedure retorna algun valor?? ya probaste que tu codigo regrese algo?? prueba poniendo que retorne una cadena fija..
ya vi donde tienes el error:
Código SQL:
Ver original@pCARACTER VARCHAR(1),
@pSTRING VARCHAR(MAX),
@pSTRING_RETORNO VARCHAR(MAX) OUTPUT
AS
DECLARE @TABLA_DATOS AS TABLE (DATO VARCHAR(MAX));
DECLARE @DATO_ACTUAL VARCHAR(MAX);
DECLARE @DATOS_FINALES VARCHAR(MAX);
DECLARE @EXISTE_DATO INT;
BEGIN
SET @DATO_ACTUAL = '';
SET @DATOS_FINALES = '';
SET @EXISTE_DATO = 0;
WHILE (LEN(@pSTRING) > 0)
BEGIN
SELECT @DATO_ACTUAL = SUBSTRING(@pSTRING, 1, CHARINDEX(@pCARACTER, @pSTRING) - 1);
SET @pSTRING = SUBSTRING(@pSTRING, CHARINDEX(@pCARACTER, @pSTRING) + 1, LEN(@pSTRING));
SELECT @EXISTE_DATO = COUNT(*)
FROM @TABLA_DATOS
WHERE DATO = @DATO_ACTUAL;
IF (@EXISTE_DATO = 0)
BEGIN
INSERT INTO @TABLA_DATOS (DATO) VALUES (@DATO_ACTUAL);
END
END
SET @DATOS_FINALES = '';
SET @pCARACTER = @pCARACTER + ' ';
SELECT @DATOS_FINALES = COALESCE(@DATOS_FINALES + @pCARACTER, '') + DATO
FROM @TABLA_DATOS;
SELECT @DATOS_FINALES = LTRIM(RTRIM(SUBSTRING(@DATOS_FINALES,2,LEN(@DATOS_FINALES))));
SET @pSTRING_RETORNO=@DATOS_FINALES
prueba con esta modificacion y comentas :)