segunda-feira, 27 de maio de 2024

FUNCTION de preço por unidade alternativa

1:  CREATE OR REPLACE FUNCTION SNK_PRECOVOA(P_CODTAB IN INT,P_CODPROD IN INT,P_CODVOL IN VARCHAR2)  
2:  RETURN FLOAT  
3:  IS  
4:  P_RETURN FLOAT;  
5:  BEGIN  
6:      SELECT PRECO INTO P_RETURN FROM  
7:      (SELECT     
8:        (SNK_PRECO(P_CODTAB, PRO.CODPROD) * (CASE WHEN MULTIPVLR <> 0 THEN VOA.QUANTIDADE * VOA.MULTIPVLR ELSE 1 END)) AS PRECO  
9:      FROM    
10:        TGFPRO PRO     
11:        LEFT OUTER JOIN TGFVOA VOA ON PRO.CODPROD=VOA.CODPROD  
12:      WHERE        
13:        PRO.ATIVO = 'S'    
14:        AND PRO.CODPROD = P_CODPROD  
15:        AND VOA.CODVOL = P_CODVOL  
16:      UNION ALL  
17:      SELECT  
18:          (SNK_PRECO(P_CODTAB, PRO.CODPROD)) AS PRECO  
19:      FROM  
20:        TGFPRO PRO  
21:      WHERE  
22:        PRO.ATIVO = 'S'    
23:        AND PRO.CODPROD =P_CODPROD  
24:        AND PRO.CODVOL = P_CODVOL);  
25:    RETURN P_RETURN;  
26:  END;  
27:  /  

Nenhum comentário:

Postar um comentário