Function STRING_AGG

Buenos días.
He creado una función en hana donde utilizo el STRING_AGG par colocar las series concatenadas para las guías de remisión.

El problema radica cuando llamo esa función en mi select que me da error.

Alguien puede ayudarme a resolver este caso.

Adjunto código.

CREATE FUNCTION PRUEBA_SERIE
( 
 IN DocEntry integer, 
 IN ItemCode varchar(100)
)
RETURNS TABLE (DocEntry integer, ItemCode varchar(100), serie nvarchar(200))
LANGUAGE SQLSCRIPT 
AS
BEGIN

DECLARE serie nvarchar(200);

select STRING_AGG ("IntrSerial",' - ')
into serie
from OSRI
where  "ItemCode" = :ItemCode;

RETURN 
SELECT 
:DocEntry AS DocEntry,
:ItemCode AS ItemCode,
:serie AS serie
FROM DUMMY;

END;

//Codigo del Select

select DISTINCT
    t1."ItemCode",
    t1."Dscription",
   SUBSTRING (t1."U_EXM_CLV",4,12) "substring",
    t0."DocEntry",
    T1."Quantity",
    t1."VisOrder",
    t1."WhsCode" , 
    t1."FisrtBin",  
    t1."U_EXM_CLV",
     T1."Project"
from WTR1 t1
left join OWTR t0 on t0."DocEntry" = t1."DocEntry"
inner join PRUEBA_SERIE(:DocEntry,:ItemCode) T2 on T2."DocEntry" = T1."DocEntry"

El error me dice lo siguiente: "cannot use parameter variable: DOCENTRY: line 23 col 25 (at pos 518)"

Ayuda por favor. Gracias

Hola Rosmary
Primero debes definir el tipo de dato que va retornar la función.

CREATE TYPE tt_prueba AS TABLE
(
"DocEntry " INTEGER,
"ItemCode " VARCHAR(100),
"serie " VARCHAR(200)
);

Lo segundo, para realizar una concatenación no necesitas una función, lo puedes realizar directamente en una consulta o subconsulta.

Saludos,
Andres Ramirez Jaramillo :colombia:

2 Me gusta

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.