Desenvolvimento
SELECT INT.*, INT.QTDCOM + INT.QTDLAN - INT.QTDVEN AS SALDO_LAN, DECODE( TT_SAL, TR_MOV, DECODE( TT_SAL, INT.QTDCOM + INT.QTDLAN - INT.QTDVEN, ' OK ',
'ERRO'), 'ERRO') AS STATUS FROM ( SELECT FIL.CODFIL, MUL.CODTAB, SAL.QTDEST AS TT_SAL, SaldoDaFilial( SysDate, GRA.FILMAT, GRA.CODMAT, GRA.CODCOR, GRA.CODTAM, FIL.CODFIL,
MUL.CODTAB) AS TR_MOV, (SELECT NVL(SUM(ICO.QTDMOV),0) AS QTD FROM TT_ICO ICO WHERE ICO.CODFIL = FIL.CODFIL AND ICO.FILMAT = GRA.FILMAT AND ICO.CODMAT = GRA.CODMAT AND ICO.CODCOR = GRA.CODCOR AND ICO.CODTAM = GRA.CODTAM AND ICO.LANEST = 'S' AND ICO.SITMOV <> 'C' AND ICO.CODMUL = MUL.CODTAB) AS QTDCOM, (SELECT NVL(SUM(IVE.QTDMOV),0) FROM TT_IVE IVE WHERE IVE.CODFIL = FIL.CODFIL AND IVE.FILMAT = GRA.FILMAT AND IVE.CODMAT = GRA.CODMAT AND IVE.CODCOR = GRA.CODCOR AND IVE.CODTAM = GRA.CODTAM AND IVE.CODMUL = MUL.CODTAB AND IVE.SITMOV <> 'C' AND IVE.LANEST IN ('C','S')) AS QTDVEN, (SELECT NVL(SUM(LAN.QTDMOV),0) FROM TT_LAN LAN WHERE LAN.CODFIL = FIL.CODFIL AND LAN.FILMAT = GRA.FILMAT AND LAN.CODMAT = GRA.CODMAT AND LAN.CODCOR = GRA.CODCOR AND LAN.CODTAM = GRA.CODTAM AND LAN.CODMUL = MUL.CODTAB AND LAN.SITMOV <> 'C') AS QTDLAN FROM TD_FIL FIL, TD_MUL MUL, TT_GRA GRA, TT_SAL SAL WHERE SAL.CODFIL = FIL.CODFIL AND SAL.FILMAT = GRA.FILMAT AND SAL.CODMAT = GRA.CODMAT AND SAL.CODTAM = GRA.CODTAM AND SAL.CODCOR = GRA.CODCOR AND SAL.CODMUL = MUL.CODTAB
AND GRA.REFPRO='7897975016012' ) INT