sql – Como fazer um SELECT pra pegar o valor da última data cadastrada

Olá, gostaria de uma ajuda pra sempre utilizar o valor de uma tabela.
Tenho uma tabela “CUSTOS” e todo mês ela sofre alteração de preço dos produtos, mais não são todos que tem atualização

A minha duvida, é que sempre que precisar utilizar a tabla CUSTO com a tabela PRODUTO, como faço para sempre chamar a ultima da data atualizada do produto. Vou mostrar o código que criei, porém não consigo aparecer o valor da ultima tabela de custo.

Des de já agradeço esse é um trecho resumido do estudo mais atende o básico que preciso explicar e entender.

CTE.DTCONTAGEM
,CTE.CODEMP
,PRO.NCM
,PRO.DESCRPROD
,CTE.CODPROD
,PRO.AD_PARTNUMBER
,CTE.CODVOL
,CTE.QTDEST

---na tabela de custo tem esse campo CUSSEMICM que preciso que seja sempre a ultima data inserida
,CUS.CUSSEMICM

-- esse código era só um teste porém traz qualquer valor do custo e não o ultimo
,(SELECT nvl(MAX(FCUS.CUSSEMICM), 0) 
  FROM TGFCUS FCUS
  WHERE FCUS.CODPROD = CTE.CODPROD
  AND FCUS.DTATUAL < trunc (SYSDATE) -1) AS CUSTO

,CUS.CUSSEMICM
,CTE.QTDEST * CUS.CUSSEMICM AS CUS_SEM_ICMS -- esse é o calculo que precisa fazer mais o custo tem que ser o certo
,CUS.CUSMEDCALC
,CTE.CODLOCAL
,CTE.CODPARC
,CTE.TIPO
FROM
VGFCTE CTE
LEFT JOIN TGFCUS CUS ON (CUS.CODPROD = CTE.CODPROD AND CUS.CODEMP = CTE.CODEMP AND CTE.CODLOCAL = CUS.CODLOCAL)
LEFT JOIN TGFPRO PRO ON (CTE.CODPROD = PRO.CODPROD )
WHERE CTE.TIPO ='P' AND (PRO.CODGRUPOPROD >= 30101000 AND PRO.CODGRUPOPROD <= 31601000)
AND CTE.CODLOCAL IN (10000000,20000000)
AND CTE.QTDEST > 0