ALTER TABLE TURCAIXA ADD IDULTFECHAMEN VARCHAR2(01) DEFAULT 'N' NOT NULL
/

ALTER TABLE TURCAIXA ADD CONSTRAINT CKC_TURCAIXA_IDULTFECHAMEN  CHECK (IDULTFECHAMEN IN ('N', 'S'))
/
 
BEGIN
 FOR C_FECH IN
      (SELECT T.CDFILIAL, T.CDCAIXA, TO_CHAR(DTABERCAIX, 'DD/MM/YYYY') DIA, MAX(DTABERCAIX) DTABERCAIX
         FROM TURCAIXA T, CAIXA C
        WHERE T.CDFILIAL = C.CDFILIAL
          AND T.CDCAIXA = C.CDCAIXA
          AND C.IDCOLETOR IN ('N', 'R')
          AND TRUNC(DTABERCAIX) BETWEEN TO_DATE('01/06/2019', 'DD/MM/YYYY') AND SYSDATE
        GROUP BY T.CDFILIAL, T.CDCAIXA, TO_CHAR(DTABERCAIX, 'DD/MM/YYYY')) LOOP
      FOR C_VDFECH IN
         (SELECT 1
            FROM TURCAIXA
           WHERE CDFILIAL = C_FECH.CDFILIAL
             AND CDCAIXA = C_FECH.CDCAIXA
             AND DTABERCAIX = C_FECH.DTABERCAIX
             AND DTFECHCAIX IS NOT NULL
             AND IDULTFECHAMEN <> 'S') LOOP
        UPDATE TURCAIXA
           SET IDULTFECHAMEN = 'S'
         WHERE CDFILIAL = C_FECH.CDFILIAL
         AND CDCAIXA = C_FECH.CDCAIXA
         AND DTABERCAIX = C_FECH.DTABERCAIX;
      END LOOP;
   END LOOP;
END;