CREATE OR REPLACE PROCEDURE INSERT_PARTFILI IS
BEGIN
    INSERT INTO PARTFILI (CDFILIAL,    --1 
                          CDPRODUTO,   --2 
                          CDTIPPART,   --3 
                          NRSEQPART,   --4
                          CDMARCA,     --5 
                          CDFORNECED,  --6 
                          CDGRUPPROD,  --7 
                          CDSUBGRPROD, --8
                          CDFILISUBGR, --9 
                          CDFILCOTA,   --10 
                          NRCOLEPRECO, --11 
                          DTULTATUPFIL --12
                         )
                   SELECT PARTFILI.CDFILIAL,    --1 
                          PRODUTO.CDPRODUTO,    --2 
                          PARTFILI.CDTIPPART,   --3 
                          ROWNUM,               --4 
                          PARTFILI.CDMARCA,     --5 
                          PARTFILI.CDFORNECED,  --6 
                          PARTFILI.CDGRUPPROD,  --7 
                          PARTFILI.CDSUBGRPROD, --8 
                          PARTFILI.CDFILISUBGR, --9 
                          PARTFILI.CDFILCOTA,   --10 
                          PARTFILI.NRCOLEPRECO, --11 
                          SYSDATE               --12
                     FROM PARTFILI INNER JOIN PRODUTO ON PARTFILI.CDPRODUTO = PRODUTO.CDPRODESTO
                    WHERE NOT EXISTS (SELECT 1
                                        FROM PARTFILI PF
                                       WHERE PF.CDPRODUTO = PRODUTO.CDPRODUTO
                                         AND PF.CDFILIAL  = PARTFILI.CDFILIAL);    
    COMMIT;
END INSERT_PARTFILI;
/