BEGIN
   DECLARE
      V_MAXADQ VARCHAR2(20);
      V_MAXVALID VARCHAR2(20);
      
    PROCEDURE CORRIGENOVOCODIGO
    AS
    BEGIN
       SELECT MAX(NRADQUIRENTE)
        INTO V_MAXADQ
        FROM ADQUIRENTE;
        
        SELECT MAX(NRVALIDACAOADQ)
        INTO V_MAXVALID
        FROM VALIDACAOADQ;
        
        V_MAXADQ   := LPAD(TO_CHAR(V_MAXADQ), 20, '0');
        V_MAXVALID := LPAD(TO_CHAR(V_MAXVALID), 20, '0');
        
        UPDATE NOVOCODIGO
           SET NRSEQUENCIAL = V_MAXADQ
         WHERE CDCONTADOR = 'ADQUIRENTE';
         
        UPDATE NOVOCODIGO
           SET NRSEQUENCIAL = V_MAXVALID
         WHERE CDCONTADOR = 'VALIDACAOADQ';
    END;
    BEGIN
      CORRIGENOVOCODIGO;
    END;
END;

/

BEGIN
    IF sys_context('userenv','current_schema') <> 'USR_ORG_1182' THEN
        DECLARE
            V_COUNT NUMBER;
            V_SEQVARCHAR VARCHAR2(50);
            V_SEQUENCIAL NUMBER;
        PROCEDURE INSEREPRODUTO(P_CODIGO IN VARCHAR, P_NMPRODUTO IN VARCHAR, P_VISIVEL IN VARCHAR)
        AS
        BEGIN
            BEGIN
              SELECT COUNT(P.NRPRODUTOADQ)
                INTO V_COUNT
                FROM PRODUTOADQ P
               WHERE P.CDPRODUTOADQ = P_CODIGO;
            EXCEPTION
              WHEN NO_DATA_FOUND THEN
                 V_COUNT := 0;
            END;
            IF V_COUNT = 0 THEN
               NOVO_CODIGO_NT('PRODUTOADQ', V_SEQVARCHAR);
               V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
               INSERT INTO PRODUTOADQ
                 (NRPRODUTOADQ, CDPRODUTOADQ, NMPRODUTOADQ, CDTIPORECE, VRTOLERANCIA, NRBANDEIRAVAN, IDVISIVEL)
               VALUES
                 (V_SEQUENCIAL, P_CODIGO, P_NMPRODUTO, NULL, 0.03, NULL, P_VISIVEL);
            END IF;
        END;
    
        PROCEDURE INSEREADQUIRENTE(P_CODIGO IN VARCHAR, P_NMADQUIRENTE IN VARCHAR, P_VISIVEL IN VARCHAR)
        AS
        BEGIN
            BEGIN
              SELECT COUNT(A.NRADQUIRENTE)
                INTO V_COUNT
                FROM ADQUIRENTE A
               WHERE A.CDADQUIRENTE = P_CODIGO;
            EXCEPTION
              WHEN NO_DATA_FOUND THEN
                 V_COUNT := 0;
            END;
            IF V_COUNT = 0 THEN
               /* Insere as ADQUIRENTES (DONAS DAS MAQUININHAS) */
              NOVO_CODIGO_NT('ADQUIRENTE', V_SEQVARCHAR);
              V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
              INSERT INTO ADQUIRENTE
                 (NRADQUIRENTE, CDADQUIRENTE, NMADQUIRENTE, VRTAXAADM, VRTOLERANCIA, IDVISIVEL)
              VALUES
                 (V_SEQUENCIAL, P_CODIGO, P_NMADQUIRENTE, 0, 0.03, P_VISIVEL);
            ELSE
              UPDATE ADQUIRENTE SET NMADQUIRENTE = P_NMADQUIRENTE WHERE CDADQUIRENTE = P_CODIGO;
            END IF;
        END;
        BEGIN
            INSEREADQUIRENTE('8', 'VERO', 'S');
            INSEREADQUIRENTE('96', 'UPBRASIL', 'S');
            INSEREADQUIRENTE('54', 'SICREDI', 'S');
        END;
    END IF;
END;

/