CREATE TABLE USR_POSIESTOQ AS SELECT DISTINCT B.CDPRODUTO,
                                               A.CDPRODINTE,
                                               QTESTOQDIA,
                                               VRESTOQDIA,
                                               VRESTOQBRUT,
                                               (VRESTOQDIA /QTESTOQDIA) AS VRMEDIO,
                                               (VRESTOQBRUT/QTESTOQDIA) AS VRMEDIOBRUT,
                                               B.NRORG,
                                               A.NMPRODUTO,
                                               A.SGUNIDADE,
                                               A.CDPRODESTO,
                                               B.CDFILIAL,
                                               B.CDALMOXARIFE,
                                               B.CDLOCALESTOQ,
                                               AL.DSALMOXARIFE,
                                               LE.DSLOCALESTOQ,
                                               B.NRLOTEESTQ,
                                               B.NRSUBLOTE,
                                               A.CDARVPROD,
                                               VRCUSTOPROD,
                                               VRCUSTOPROD * QTESTOQDIA AS VRTOTALPROD
                                             FROM ALMOXARIFADO AL,
                                               LOCALESTOQUE LE,
                                               (SELECT DISTINCT D.CDPRODUTO,
                                                 D.NMPRODUTO,
                                                 D.SGUNIDADE,
                                                 D.CDARVPROD,
                                                 D.CDPRODESTO,
                                                 D.CDPRODINTE,
                                                 D.NRORG
                                               FROM PRODUTO D,
                                                 PRODUTO N
                                               WHERE D.NRORG = N.NRORG
                                               ) A,
                                               (SELECT CDFILIAL,
                                                 CDALMOXARIFE,
                                                 CDLOCALESTOQ,
                                                 NRLOTEESTQ,
                                                 QTESTOQDIA,
                                                 CDPRODUTO,
                                                 NRSUBLOTE,
                                                 DTPOSIESTQ,
                                                 VRESTOQBRUT,
                                                 VRESTOQDIA,
                                                 NRORG,
                                                 NVL(CUSTO_PRODUTO_LCEST(POE.CDFILIAL, CDPRODUTO, NULL , TO_DATE(SYSDATE)-1, SYSDATE, POE.CDALMOXARIFE, POE.CDLOCALESTOQ, NRLOTEESTQ, NRSUBLOTE),0) AS VRCUSTOPROD
                                               FROM POSESTDIA POE
                                               WHERE (ABS(QTESTOQDIA) > 0.00001)
                                               )B
                                             WHERE (B.CDPRODUTO   = A.CDPRODUTO)
                                             AND (A.CDPRODUTO     = A.CDPRODESTO)
                                             AND (B.NRORG         = A.NRORG)
                                             AND (AL.CDFILIAL     = B.CDFILIAL)
                                             AND (AL.CDALMOXARIFE = B.CDALMOXARIFE)
                                             AND (AL.NRORG        = B.NRORG)
                                             AND (LE.CDFILIAL     = B.CDFILIAL)
                                             AND (LE.NRORG        = B.NRORG)
                                             AND (LE.CDALMOXARIFE = B.CDALMOXARIFE)
                                             AND (LE.CDLOCALESTOQ = B.CDLOCALESTOQ)
                                             AND (B.DTPOSIESTQ    =
                                               (SELECT MAX(P.DTPOSIESTQ)
                                               FROM POSESTDIA P
                                               WHERE P.CDPRODUTO = B.CDPRODUTO
                                               AND P.NRORG       = B.NRORG
                                               AND P.NRLOTEESTQ  = B.NRLOTEESTQ
                                               AND P.NRSUBLOTE   = B.NRSUBLOTE
                                               AND P.DTPOSIESTQ <= SYSDATE
                                               ))
                                             ORDER BY A.NMPRODUTO;