terça-feira, 30 de janeiro de 2018

Function para trazer os números das notas de origem da devolução

ORACLE

create or replace FUNCTION GET_NOTA_ORIGEM ( P_NUNOTA  NUMBER)
   RETURN VARCHAR2
IS
   EXTENSO      VARCHAR2 (128) := '';
BEGIN
SELECT  LISTAGG(LINHA,', ') WITHIN GROUP (ORDER BY LINHA) INTO EXTENSO 
FROM 
(SELECT NUMNOTA AS LINHA 
 FROM TGFCAB 
 WHERE NUNOTA IN (  
                   SELECT VARR.NUNOTAORIG FROM TGFVAR VARR
                   INNER JOIN TGFCAB CAB ON (CAB.NUNOTA = VARR.NUNOTA)
                   WHERE CAB.TIPMOV = 'D' AND CAB.NUNOTA = P_NUNOTA
                   )
 );

 RETURN EXTENSO;

END;


SQL SERVER

create or replace FUNCTION GET_NOTA_ORIGEM ( P_NUNOTA  NUMBER)
   RETURN VARCHAR2
IS
   EXTENSO      VARCHAR2 (128) := '';
BEGIN
SELECT  LISTAGG(LINHA,', ') WITHIN GROUP (ORDER BY LINHA) -- INTO EXTENSO 
FROM 
(SELECT NUMNOTA AS LINHA 
 FROM TGFCAB 
 WHERE NUNOTA IN (  
                   SELECT VARR.NUNOTAORIG FROM TGFVAR VARR
                   INNER JOIN TGFCAB CAB ON (CAB.NUNOTA = VARR.NUNOTA)
                   WHERE CAB.TIPMOV = 'D' AND CAB.NUNOTA = P_NUNOTA
                   )
 );

 RETURN EXTENSO;

END;




Fonte: Raul (Unidade )

Nenhum comentário:

Postar um comentário