@Edinei,
Tente o código abaixo, veja que está limitado a quatro registros por linha mas cabe a você decidir.
SQL> L
1 SELECT CDPRODUTO, C1 ||’ ‘|| C2 ||’ ‘|| C3 ||’ ‘|| C4 AS TXT FROM (
2 SELECT CDPRODUTO, MAX(DECODE(R,1,TXT)) C1, MAX(DECODE(R,2,TXT)) C2, MAX(DECODE(R,3,TXT)) C3,
3 MAX(DECODE(R,4,TXT)) C4
4 FROM (SELECT ROWNUM R, CDPRODUTO, ‘PED: ‘||NUPEDIDO||’ TAM: ‘||CDITEMGRADE1||’ QT: ‘
5 ||QTESTOQUEPREVISTO|| ‘ DT: ‘||DTESTOQUEPREVISTO AS TXT
6* FROM ESTOQUEPREV WHERE CDPRODUTO=11433) GROUP BY CDPRODUTO)
SQL> /
CDPRODUTO TXT
11433 PED: 46 TAM: 40 QT: 30 DT: 27-SEP-14 PED: 46 TAM: 43 QT: 30
DT: 27-SEP-14 PED: 46 TAM: 37 QT: 20 DT: 27-SEP-14 PED: 46 T
AM: 42 QT: 10 DT: 27-SEP-14
1 row selected.
SQL> SELECT * FROM ESTOQUEPREV;
CDPRODUTO NUPEDIDO CDITEMGRADE1 QTESTOQUEPREVISTO DTESTOQUE
11433 46 40 30 27-SEP-14
11433 46 43 30 27-SEP-14
11433 46 37 20 27-SEP-14
11433 46 42 10 27-SEP-14
11433 46 36 10 27-SEP-14
18000 50 36 10 27-SEP-14
18000 50 42 10 27-SEP-14
7 rows selected.
Abraços