BEGIN
   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);
       END IF;
    END;
    BEGIN     
      INSEREPRODUTO('569', 'IFOOD', 'S');
      INSEREADQUIRENTE('68', 'IFOOD', 'S');

      INSEREPRODUTO('574', 'UBER EATS', 'S');
      INSEREADQUIRENTE('90', 'UBER EATS', 'S');
    END;
END;
/