cancel
Showing results for 
Search instead for 
Did you mean: 

Concatenar varios registros usando FOR IN (SAP BO 9.0)

Former Member
0 Kudos

Buenas tardes, necesito concatenar el nombre de los clientes de los primeros cinco pedidos creados para lo cual creé la siguiente consulta:

DECLARE i INTEGER;

DECLARE Res varchar (100);

Res := '';

FOR i IN 1 .. 5 DO

SELECT T0."CardName" INTO Res  FROM ORDR T0 WHERE T0."DocNum" = i;

END FOR;

SELECT :Res As "Resultado" FROM DUMMY;

Sin embargo el resultado solo muestra el nombre del cliente del pedido # 5 como es de esperarse. Lo modifiqué de la siguiente manera:

DECLARE i INTEGER;

DECLARE Res varchar (100);

Res := '';

FOR i IN 1 .. 5 DO

SELECT Res || T0."CardName" INTO Res  FROM ORDR T0 WHERE T0."DocNum" = i;

END FOR;

SELECT :Res As "Resultado" FROM DUMMY;

Pero genera el siguiente error:

Podría alguien indicarme el procedimiento correcto por favor.

Saludos,

Alejandro Soto.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Para quienes vean ésta cadena, encontré una solución con un compañero, al utilizar el SELECT INTO para almacenar los registros en la variable el mismo comando sobreescribe el valor de la variable en cada paso del ciclo, entonces la solución es utilizar una variable adicional (Otro) para almacenar el valor temporal de la variable principal (Res) y concantenarlo con el valor que tiene acumulado desde el último paso del ciclo (El IF es solo para evitar una coma antes del primer registro).

Answers (0)