ALTER TABLE ROTFABRICA ADD DTINIVGPRODROT DATE NULL
/

ALTER TABLE ROTFABRICA ADD DTFINVGPRODROT DATE NULL
/

ALTER TABLE ROTFABRICA ADD NRSEQROTFAB VARCHAR2(10) NULL
/

DECLARE
   V_NRSEQROTFAB VARCHAR2(10);
   V_SEQUENCIAL  VARCHAR2(20);
BEGIN
   FOR C_ROTFAB IN (
      SELECT CDPRODUTO, CDSUBPRODUTO, NRSEQPROD, CDGRUPOCOMP
        FROM ROTFABRICA
       WHERE NRSEQROTFAB IS NULL) LOOP

      NOVO_CODIGO_NT('ROTFABRICA'||C_ROTFAB.CDPRODUTO||C_ROTFAB.CDSUBPRODUTO, V_SEQUENCIAL, 1);
      V_NRSEQROTFAB := LPAD(SUBSTR(V_SEQUENCIAL, 11, 10), 10, '0');
      
      UPDATE ROTFABRICA
         SET NRSEQROTFAB  = V_NRSEQROTFAB
       WHERE CDPRODUTO    = C_ROTFAB.CDPRODUTO
         AND CDSUBPRODUTO = C_ROTFAB.CDSUBPRODUTO
         AND NRSEQPROD    = C_ROTFAB.NRSEQPROD
         AND CDGRUPOCOMP  = C_ROTFAB.CDGRUPOCOMP;

   END LOOP;
   COMMIT;
END;
/

ALTER TABLE ROTFABRICA MODIFY NRSEQROTFAB NOT NULL
/

ALTER TABLE ROTFABRICA DROP CONSTRAINT PK_ROTFABRICA
/

DROP INDEX PK_ROTFABRICA
/

ALTER TABLE ROTFABRICA
   ADD CONSTRAINT PK_ROTFABRICA PRIMARY KEY (CDPRODUTO, CDSUBPRODUTO, NRSEQROTFAB)
/



ALTER TABLE ROTFABLOCAL ADD DTINIVGPRODLOC DATE NULL
/

ALTER TABLE ROTFABLOCAL ADD DTFINVGPRODLOC DATE NULL
/

ALTER TABLE ROTFABLOCAL ADD NRSEQROTFABLOC VARCHAR2(10) NULL
/

DECLARE
   V_NRSEQROTFABLOC VARCHAR2(10);
   V_SEQUENCIAL     VARCHAR2(20);
BEGIN
   FOR C_ROTFABLOC IN (
      SELECT CDFILIAL, CDPRODUTO, CDSUBPRODLOC
        FROM ROTFABLOCAL
       WHERE NRSEQROTFABLOC IS NULL) LOOP

      NOVO_CODIGO_NT('ROTFABLOCAL'||C_ROTFABLOC.CDFILIAL||C_ROTFABLOC.CDPRODUTO||C_ROTFABLOC.CDSUBPRODLOC, V_SEQUENCIAL, 1);
      V_NRSEQROTFABLOC := LPAD(SUBSTR(V_SEQUENCIAL, 11, 10), 10, '0');
      
      UPDATE ROTFABLOCAL
         SET NRSEQROTFABLOC = V_NRSEQROTFABLOC
       WHERE CDFILIAL     = C_ROTFABLOC.CDFILIAL
         AND CDPRODUTO    = C_ROTFABLOC.CDPRODUTO
         AND CDSUBPRODLOC = C_ROTFABLOC.CDSUBPRODLOC;

   END LOOP;
   COMMIT;
END;
/

ALTER TABLE ROTFABLOCAL MODIFY NRSEQROTFABLOC NOT NULL
/

ALTER TABLE ROTFABLOCAL DROP CONSTRAINT PK_ROTFABLOCAL
/

DROP INDEX PK_ROTFABLOCAL
/

ALTER TABLE ROTFABLOCAL
   ADD CONSTRAINT PK_ROTFABLOCAL PRIMARY KEY (CDFILIAL, CDPRODUTO, CDSUBPRODLOC, NRSEQROTFABLOC)
/