Jump to content

ftalhadas

Members
  • Content count

    3
  • Joined

  • Last visited

Community Reputation

0 Comum

About ftalhadas

  1. ftalhadas

    Simular futuras datas

    Hmm... saquei. Vou tentar implementar aqui. Da uma olhada no que eu já fiz para conseguir chegar na consulta da imagem: SELECT DISTINCT DECODE(PSC.SITPROD,'A','ATIVO','B','BONIFICADO','C','CANCELADO','S','EM IMPLANTAÇÃO') AS SITPROD, CON.NUMCONTRATO , CON.CODPARC , P.NOMEPARC , CON.CODPROJSINT , PRJ.IDENTIFICACAO , CON.AD_CODTIPOPER , TOP.DESCROPER, P.AD_NOMECOMERCIAL ,REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(CON.AMBIENTE,'VL','Validador'),'SV','Vision'),'AU','Autorizador'),'AT','ATM'),'SB','Balance'),'ME','Modulo Extra'),'BD','Adm Banco De Dados'),'DC','Data Center'),'PC','Preparador'),'MH','Mant. HW'),'SS','Seguimento Saude'),'V/','Venda/'),'L/','Locacao/') AS COMERCIALIZADO , PSC.CODPROD , PRO.DESCRPROD , CON.DTBASEREAJ , PRE.REFERENCIA ,(CASE WHEN PSC.SITPROD = 'S' THEN SYSDATE + 90 ELSE CON.DTREFPROXFAT END) AS DTREFPROXFAT ,TO_CHAR(CON.DTTERMINO, 'MON/YY') AS VENC_ORIGINAL ,TO_CHAR(ADD_MONTHS(CON.DTREFPROXFAT, (CON.PARCELAQTD - CON.PARCELAATUAL)-1), 'MON/YY') AS LIMITE_FATURA ,CON.PARCELAQTD , CON.PARCELAATUAL , (CON.PARCELAQTD - CON.PARCELAATUAL)AS ParcRestante , PRE.VALOR AS VrUnitario , PSC.QTDEPREVISTA ,(CASE WHEN PSC.SITPROD = 'A' THEN (PSC.QTDEPREVISTA*PRE.VALOR*(CASE WHEN CON.AD_CODTIPOPER =1798 THEN (SELECT M.COTACAO FROM TSICOT M WHERE M.CODMOEDA = 9 AND M.DTMOV = (SELECT MAX(M2.DTMOV) FROM TSICOT M2 WHERE M.CODMOEDA = M2.CODMOEDA )) ELSE 1 END)) ELSE 0 END) AS VLR_EM_VIGOR ,(CASE WHEN PSC.SITPROD = 'S' THEN (PSC.QTDEPREVISTA*PRE.VALOR*(CASE WHEN CON.AD_CODTIPOPER =1798 THEN (SELECT M.COTACAO FROM TSICOT M WHERE M.CODMOEDA = 9 AND M.DTMOV = (SELECT MAX(M2.DTMOV) FROM TSICOT M2 WHERE M.CODMOEDA = M2.CODMOEDA )) ELSE 1 END)) ELSE 0 END) AS VR_EM_IMPLANTACAO ,(ABS(CON.PARCELAQTD - CON.PARCELAATUAL)*(PSC.QTDEPREVISTA*PRE.VALOR)*(CASE WHEN CON.AD_CODTIPOPER =1798 THEN (SELECT M.COTACAO FROM TSICOT M WHERE M.CODMOEDA = 9 AND M.DTMOV = (SELECT MAX(M2.DTMOV) FROM TSICOT M2 WHERE M.CODMOEDA = M2.CODMOEDA )) ELSE 1 END)) AS VLR_BACKLOG_TOTAL FROM TCSCON CON, TCSPSC PSC, TGFPRO PRO, TCSPRJ PRJ, TCSPRE PRE, TGFTOP TOP, TGFPAR P WHERE CON.NUMCONTRATO = PSC.NUMCONTRATO AND PRO.CODPROD = PSC.CODPROD AND PRJ.CODPROJ = CON.CODPROJSINT AND CON.ATIVO = 'S' AND PSC.SITPROD IN ('A', 'S', 'B') AND CON.NUMCONTRATO NOT IN (0, 1) AND PRE.NUMCONTRATO = CON.NUMCONTRATO AND PRE.CODPROD = PSC.CODPROD AND CON.AD_CODTIPOPER=TOP.CODTIPOPER AND CON.CODPARC = P.CODPARC AND PRE.REFERENCIA = (SELECT MAX (R.REFERENCIA) FROM TCSPRE R WHERE R.NUMCONTRATO = CON.NUMCONTRATO AND R.CODPROD = PRE.CODPROD AND R.REFERENCIA < sysdate) ORDER BY SITPROD, PRJ.IDENTIFICACAO, P.NOMEPARC, CON.NUMCONTRATO;
  2. ftalhadas

    Simular futuras datas

    Não existem. São criadas a medida que são cobradas. Tenho apenas o mês "total" de referência, que seria a data de vencimento do contrato. No caso ali, é fev/2019, pois faltam 20 parcelas. Eu já ouvi falar de uma função chamada pipelined que poderia me ajudar, que com um loop dentro dela, iria ter que fazer alguma lógica entre esses campos de parcelas para ir gerando a quantidade de parcelas totais. Bom, só um comentário mesmo, gostaria de fazer de uma maneira mais fácil que você tiver em mente!
  3. ftalhadas

    Simular futuras datas

    Pessoal, bom dia! Estou com um probleminha aqui, que na real não sei nem qual título poderia dar para o tópico da complexidade que ele está para mim. Bom, seguinte, eu tenho um controle de contratos via um aplicativo, que nele tenho um banco de dados. O presidente da empresa me solicitou que quer a perspectiva de todos os recorrentes até o término do mesmo. Se vocês verem a imagem em anexo, da para entender melhor. Nesse contrato, faltam 20 parcelas. Eu consegui fazer o relatório mostrando o valor total até o fim do contrato, porém, ele queria tudo detalhado. No caso, teria um outro campo, chamado parcelas futuras, que mostraria a parcela 77, 78, 79, 80, 81... Ai que entra o meu problema. Eu não faço a mínima ideia de qual função do Oracle eu usaria para "simular" essas outras parcelas, e etc. Poderiam me ajudar, por favor? Obrigado! Felipe.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.