CREATE OR REPLACE TRIGGER ATUALIZA_CDRASTRITM_ITEMAUTF
BEFORE INSERT OR UPDATE
ON ITEMAUTF FOR EACH ROW
BEGIN
   IF :NEW.CDRASTRITM IS NULL THEN
      SELECT MAX(ITEMSOLI.CDRASTRITM)
        INTO :NEW.CDRASTRITM
        FROM ITEMSOLI, PRODUTO PRODESTO, PRODUTO
       WHERE ITEMSOLI.CDFILSOLI  = :NEW.CDFILDEST
         AND ITEMSOLI.CDRASTRITM IS NOT NULL
         AND ITEMSOLI.DTPROGENTR = :NEW.DTENTRITMSOL
         AND ITEMSOLI.CDPRODUTO  = PRODUTO.CDPRODUTO
         AND PRODESTO.CDPRODESTO = PRODUTO.CDPRODESTO
         AND PRODESTO.CDPRODUTO  = :NEW.CDPRODUTO;
   END IF;
END;
/