Mostrando postagens com marcador real. Mostrar todas as postagens
Mostrando postagens com marcador real. Mostrar todas as postagens

sexta-feira, 6 de outubro de 2017

Function Saldo Real (Oracle)

CREATE OR REPLACE FUNCTION OBTEM_SUM_SALDO_REAL(DTSALDO IN DATE) 
RETURN FLOAT 
IS
SALDO_REAL  FLOAT;
BEGIN
  SELECT NVL(SUM(SALDO_REAL),0) INTO SALDO_REAL
  FROM(    
        SELECT
            SUM(SALDO1+SALDO2) AS SALDO_REAL
        FROM
        (SELECT  DISTINCT
            CT.CODCTABCOINT,
            (SELECT NVL(SUM(NVL(RECDESP *VLRLANC,0)),0) FROM TGFMBC M WHERE M.CODCTABCOINT IN (CT.CODCTABCOINT) AND TO_DATE(DTLANC)<(DTSALDO + 1) ) AS SALDO1,
            (SELECT SALDOREAL FROM TGFSBC WHERE CODCTABCOINT IN (CT.CODCTABCOINT) AND REFERENCIA=(SELECT MIN(REFERENCIA) FROM TGFSBC WHERE CODCTABCOINT IN (CT.CODCTABCOINT))) AS SALDO2
        FROM
            TGFMBC CT)SALDO
      );
  RETURN (SALDO_REAL);
END;

segunda-feira, 3 de abril de 2017

Função Obtém Saldo Real e Saldo Bancário

Saldo Bancário:

create or replace FUNCTION Obtem_Saldo_Banco_Tgfmbc_Orcl(P_CODCTABCOINT IN NUMBER, P_DHCONCILIACAO IN DATE) 
RETURN FLOAT 
IS
SALDOBANCO  FLOAT;
BEGIN
  SELECT NVL(SUM(SALDOBCO),0) INTO SALDOBANCO
  FROM(    
      SELECT SBC.SALDOBCO 
      FROM TGFSBC SBC
      WHERE SBC.CODCTABCOINT = P_CODCTABCOINT AND
            SBC.REFERENCIA = (SELECT MAX(REFERENCIA)
                              FROM TGFSBC SBC1
                             WHERE SBC1.CODCTABCOINT = P_CODCTABCOINT AND
                              TO_DATE(SBC1.REFERENCIA) <= P_DHCONCILIACAO
                             )
      UNION ALL
   SELECT NVL(SUM(MBC.VLRLANC*MBC.RECDESP),0)
      FROM TGFMBC MBC
      WHERE MBC.CODCTABCOINT = P_CODCTABCOINT AND 
      TO_DATE(MBC.DTLANC) >= TO_DATE(TRUNC(P_DHCONCILIACAO, 'MM')) AND            
      TO_DATE(MBC.DTLANC) < P_DHCONCILIACAO
      );
  RETURN (SALDOBANCO);
END;


Saldo Real:

create or replace FUNCTION Obtem_Saldo_Real_Tgfmbc_Orcl(P_CODCTABCOINT IN NUMBER, P_DTLANC IN DATE)
RETURN FLOAT
IS
SALDOREAL  FLOAT;
BEGIN
  SELECT NVL(SUM(SALDOREAL),0) INTO SALDOREAL
  FROM(    
      SELECT SBC.SALDOREAL
      FROM TGFSBC SBC
      WHERE SBC.CODCTABCOINT = P_CODCTABCOINT AND
            TRUNC(SBC.REFERENCIA) = (SELECT MAX(TRUNC(REFERENCIA))
                              FROM TGFSBC SBC1
                              WHERE SBC1.CODCTABCOINT = P_CODCTABCOINT AND
                              TRUNC(SBC1.REFERENCIA) <= TRUNC(P_DTLANC)
                              )
      UNION ALL
      SELECT NVL(SUM(MBC.VLRLANC*MBC.RECDESP),0) 
        FROM TGFMBC MBC
        WHERE MBC.CODCTABCOINT = P_CODCTABCOINT AND 
        TRUNC(MBC.DTLANC)>= TRUNC(P_DTLANC, 'MM') AND            
        TRUNC(MBC.DTLANC) < TRUNC(P_DTLANC)
      );   
    RETURN (SALDOREAL);
END;