CREATE OR REPLACE FUNCTION ARQUIVO_DPI_INICIAL(
   P_CDIMPOSTO    IN IMPOSTO.CDIMPOSTO%TYPE,
   P_CDEMPRESA    IN EMPRESA.CDEMPRESA%TYPE,
   P_DTINICIAL    IN NOTAFISCAL.DTENTRSAID%TYPE,
   P_DTFINAL      IN NOTAFISCAL.DTENTRSAID%TYPE,
   P_TPESC        IN VARCHAR,
   P_CDINSCESTA   IN NOTAFISCAL.CDINSCESTA%TYPE,
   P_SEQMAGNET    IN VARCHAR)
RETURN NUMBER
AS
   V_CONTADOR     NUMBER;
   V_REGISTRO_01  VARCHAR2(20);
   V_COUNT        NUMBER;
   V_EMAIL        VARCHAR(100);
   V_TELEFONE     VARCHAR2(100);
BEGIN
   V_CONTADOR := 0;
   V_COUNT := 0;
   BEGIN
      SELECT TO_CHAR(NVL(SUM(R.VRSALDOCRED),0))
        INTO V_REGISTRO_01
        FROM MAPAAPURAC M,MAPARECUP R
       WHERE M.CDEMPRESA     = P_CDEMPRESA
         AND M.CDINSCESTA    = P_CDINSCESTA
         AND M.CDIMPOSTO     = P_CDIMPOSTO
         AND M.DTINIPERIODO >= ADD_MONTHS(P_DTINICIAL,-1)
         AND M.DTFIMPERIODO <= ADD_MONTHS(P_DTFINAL,-1)
         AND M.NRSEQUMAPAPU  = R.NRSEQUMAPAPU;
   EXCEPTION WHEN NO_DATA_FOUND THEN
      V_REGISTRO_01 := '0';
   END;
   V_CONTADOR := V_CONTADOR + 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
      VALUES
      ('1'||LPAD(V_CONTADOR, 9, '0'),V_REGISTRO_01||'~',P_SEQMAGNET);

   WHILE (V_COUNT < 12) LOOP
      V_CONTADOR := V_CONTADOR + 1;
      INSERT INTO ARQMAGNETICO
         (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
         VALUES
         ('1'||LPAD(V_CONTADOR, 9, '0'),'0~',P_SEQMAGNET);
         V_COUNT := V_COUNT + 1;
   END LOOP;
   V_CONTADOR := V_CONTADOR + 1;

   INSERT INTO ARQMAGNETICO
         (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
         VALUES
         ('1'||LPAD(V_CONTADOR, 9, '0'),'1~',P_SEQMAGNET);

   V_COUNT := 0;
   WHILE (V_COUNT < 9) LOOP
      V_CONTADOR := V_CONTADOR + 1;
      INSERT INTO ARQMAGNETICO
         (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
         VALUES
         ('1'||LPAD(V_CONTADOR, 9, '0'),'0~',P_SEQMAGNET);
         V_COUNT := V_COUNT + 1;
   END LOOP;


   V_CONTADOR := V_CONTADOR + 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
      VALUES
      ('1'||LPAD(V_CONTADOR, 9, '0'),P_TPESC||'~',P_SEQMAGNET);

   V_CONTADOR := V_CONTADOR + 1;
   INSERT INTO ARQMAGNETICO
     (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
      VALUES
      ('1'||LPAD(V_CONTADOR, 9, '0'),'0~',P_SEQMAGNET);
   BEGIN
      SELECT NVL(C.DSENDINTERN,' '),
             REPLACE(REPLACE(REPLACE(REPLACE(C.NRTELCONTATO,')',''),'(',''),'-',''),' ','')
        INTO V_EMAIL,V_TELEFONE
        FROM EMPRESA E, CONTADOR C
       WHERE E.CDEMPRESA   = P_CDEMPRESA
         AND E.CDCONTADOR2 = C.CDCONTADOR2;
   EXCEPTION WHEN NO_DATA_FOUND THEN
      V_EMAIL    := '0';
      V_TELEFONE := '0' ;
   END;

   V_CONTADOR := V_CONTADOR + 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
      VALUES
      ('1'||LPAD(V_CONTADOR, 9, '0'),V_EMAIL||'~',P_SEQMAGNET);

   V_CONTADOR := V_CONTADOR + 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
      VALUES
      ('1'||LPAD(V_CONTADOR, 9, '0'),V_TELEFONE||'~',P_SEQMAGNET);

   V_CONTADOR := V_CONTADOR + 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
      VALUES
      ('1'||LPAD(V_CONTADOR, 9, '0'),'2~',P_SEQMAGNET);

   V_COUNT := 0;
   WHILE (V_COUNT < 2) LOOP
      V_CONTADOR := V_CONTADOR + 1;
      INSERT INTO ARQMAGNETICO
         (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
         VALUES
         ('1'||LPAD(V_CONTADOR, 9, '0'),'0~',P_SEQMAGNET);
         V_COUNT := V_COUNT + 1;
   END LOOP;

   V_CONTADOR := V_CONTADOR + 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
      VALUES
      ('1'||LPAD(V_CONTADOR, 9, '0'),V_TELEFONE||'~',P_SEQMAGNET);

   V_CONTADOR := V_CONTADOR + 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
      VALUES
      ('1'||LPAD(V_CONTADOR, 9, '0'),V_EMAIL||'~',P_SEQMAGNET);

RETURN (LPAD(V_CONTADOR, 10, 0));
END;
/

-- VERSAO --
BEGIN ATUVEROBJ('ARQUIVO_DPI_INICIAL','5.30.000'); END;
/

