CREATE OR REPLACE PROCEDURE SPED_ECF_ABERTURA(
   P_CDEMPRESA IN EMPRESA.CDEMPRESA%TYPE,
   P_ANO IN VARCHAR,
   P_RETIFICADORA IN VARCHAR,
   P_ECDTRANS IN VARCHAR,
   P_NRSEQARQMAG IN VARCHAR,
   P_NRORDENACAO OUT NUMBER)
IS
   V_LINHA VARCHAR2(4000);
   V_NRORDREGARQ NUMBER;
   V_TEMP_ESC VARCHAR2(01);
   V_IMUISEN VARCHAR2(02);
   V_EXISTERTT VARCHAR2(01);
   V_IDFORMAPUR VARCHAR2(03);
   V_COUNT NUMBER;
BEGIN
   IF P_ANO = '2014' THEN
      BEGIN
         SELECT '|0000'        ||'|'||
                'LECF'         ||'|'||
                '0001'         ||'|'||
                E.NRINSJUREMPR ||'|'||
                E.NMRAZSOCEMPR ||'|'||
                R.INDSITINIPER ||'|'||
                R.SITESPECIAL  ||'|'||
                ''             ||'|'||
                DECODE(R.SITESPECIAL,'0','',TO_CHAR(R.DTSITESP, 'DDMMYYYY')) ||'|'||
                '0101'||P_ANO  ||'|'||
                '3112'||P_ANO  ||'|'||
                P_RETIFICADORA ||'|'||
                                 '|'||
                R.TIPECF       ||'|'||
                R.CODSCP       ||'|'
           INTO V_LINHA
           FROM REG0000_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   ELSIF P_ANO = '2015' THEN
      BEGIN
         SELECT '|0000'        ||'|'||
                'LECF'         ||'|'||
                '0002'         ||'|'||
                E.NRINSJUREMPR ||'|'||
                E.NMRAZSOCEMPR ||'|'||
                R.INDSITINIPER ||'|'||
                R.SITESPECIAL  ||'|'||
                ''             ||'|'||
                DECODE(R.SITESPECIAL,'0','',TO_CHAR(R.DTSITESP, 'DDMMYYYY')) ||'|'||
                '0101'||P_ANO  ||'|'||
                '3112'||P_ANO  ||'|'||
                P_RETIFICADORA ||'|'||
                                 '|'||
                R.TIPECF       ||'|'||
                R.CODSCP       ||'|'
           INTO V_LINHA
           FROM REG0000_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   ELSIF P_ANO = '2016' THEN
      BEGIN
         SELECT '|0000'        ||'|'||
                'LECF'         ||'|'||
                '0003'         ||'|'||
                E.NRINSJUREMPR ||'|'||
                E.NMRAZSOCEMPR ||'|'||
                R.INDSITINIPER ||'|'||
                R.SITESPECIAL  ||'|'||
                ''             ||'|'||
                DECODE(R.SITESPECIAL,'0','',TO_CHAR(R.DTSITESP, 'DDMMYYYY'))||'|'||
                '0101'||P_ANO  ||'|'||
                '3112'||P_ANO  ||'|'||
                P_RETIFICADORA ||'|'||
                                 '|'||
                R.TIPECF       ||'|'||
                R.CODSCP       ||'|'
           INTO V_LINHA
           FROM REG0000_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   ELSIF  P_ANO = '2017' THEN
      BEGIN
         SELECT '|0000'        ||'|'||
                'LECF'         ||'|'||
                '0004'         ||'|'||
                E.NRINSJUREMPR ||'|'||
                E.NMRAZSOCEMPR ||'|'||
                R.INDSITINIPER ||'|'||
                R.SITESPECIAL  ||'|'||
                ''             ||'|'||
                DECODE(R.SITESPECIAL,'0','',TO_CHAR(R.DTSITESP, 'DDMMYYYY'))||'|'||
                '0101'||P_ANO  ||'|'||
                '3112'||P_ANO  ||'|'||
                P_RETIFICADORA ||'|'||
                                 '|'||
                R.TIPECF       ||'|'||
                R.CODSCP       ||'|'
           INTO V_LINHA
           FROM REG0000_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   ELSIF P_ANO = '2018' THEN
      BEGIN
         SELECT '|0000'        ||'|'||
                'LECF'         ||'|'||
                '0005'         ||'|'||
                E.NRINSJUREMPR ||'|'||
                E.NMRAZSOCEMPR ||'|'||
                R.INDSITINIPER ||'|'||
                R.SITESPECIAL  ||'|'||
                ''             ||'|'||
                DECODE(R.SITESPECIAL,'0','',TO_CHAR(R.DTSITESP, 'DDMMYYYY'))||'|'||
                '0101'||P_ANO  ||'|'||
                '3112'||P_ANO  ||'|'||
                P_RETIFICADORA ||'|'||
                                 '|'||
                R.TIPECF       ||'|'||
                R.CODSCP       ||'|'
           INTO V_LINHA
           FROM REG0000_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   ELSIF P_ANO = '2019' THEN
      BEGIN
         SELECT '|0000'        ||'|'||
                'LECF'         ||'|'||
                DECODE(R.SITESPECIAL,'0','0006' ,'0005')        ||'|'||
                E.NRINSJUREMPR ||'|'||
                E.NMRAZSOCEMPR ||'|'||
                R.INDSITINIPER ||'|'||
                R.SITESPECIAL  ||'|'||
                ''             ||'|'||
                DECODE(R.SITESPECIAL,'0','',TO_CHAR(R.DTSITESP, 'DDMMYYYY'))||'|'||
                '0101'||P_ANO  ||'|'||
                '3112'||P_ANO  ||'|'||
                P_RETIFICADORA ||'|'||
                                 '|'||
                R.TIPECF       ||'|'||
                R.CODSCP       ||'|'
           INTO V_LINHA
           FROM REG0000_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   ELSIF P_ANO = '2020' THEN
      BEGIN
         SELECT '|0000'        ||'|'||
                'LECF'         ||'|'||
                DECODE(R.SITESPECIAL,'0','0007' ,'0007')        ||'|'||
                E.NRINSJUREMPR ||'|'||
                E.NMRAZSOCEMPR ||'|'||
                R.INDSITINIPER ||'|'||
                R.SITESPECIAL  ||'|'||
                ''             ||'|'||
                DECODE(R.SITESPECIAL,'0','',TO_CHAR(R.DTSITESP, 'DDMMYYYY'))||'|'||
                '0101'||P_ANO  ||'|'||
                '3112'||P_ANO  ||'|'||
                P_RETIFICADORA ||'|'||
                                 '|'||
                R.TIPECF       ||'|'||
                R.CODSCP       ||'|'
           INTO V_LINHA
           FROM REG0000_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
	ELSIF P_ANO = '2021' THEN
      BEGIN
         SELECT '|0000'        ||'|'||
                'LECF'         ||'|'||
                DECODE(R.SITESPECIAL,'0','0008' ,'0008')        ||'|'||
                E.NRINSJUREMPR ||'|'||
                E.NMRAZSOCEMPR ||'|'||
                R.INDSITINIPER ||'|'||
                R.SITESPECIAL  ||'|'||
                ''             ||'|'||
                DECODE(R.SITESPECIAL,'0','',TO_CHAR(R.DTSITESP, 'DDMMYYYY'))||'|'||
                '0101'||P_ANO  ||'|'||
                '3112'||P_ANO  ||'|'||
                P_RETIFICADORA ||'|'||
                                 '|'||
                R.TIPECF       ||'|'||
                R.CODSCP       ||'|'
           INTO V_LINHA
           FROM REG0000_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   ELSIF P_ANO = '2022' THEN
      BEGIN
         SELECT '|0000'        ||'|'||
                'LECF'         ||'|'||
                '0009'         ||'|'||
                E.NRINSJUREMPR ||'|'||
                E.NMRAZSOCEMPR ||'|'||
                R.INDSITINIPER ||'|'||
                R.SITESPECIAL  ||'|'||
                ''             ||'|'||
                DECODE(R.SITESPECIAL,'0','',TO_CHAR(R.DTSITESP, 'DDMMYYYY'))||'|'||
                '0101'||P_ANO  ||'|'||
                '3112'||P_ANO  ||'|'||
                P_RETIFICADORA ||'|'||
                                 '|'||
                R.TIPECF       ||'|'||
                R.CODSCP       ||'|'
           INTO V_LINHA
           FROM REG0000_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   ELSE
      BEGIN
         SELECT '|0000'        ||'|'||
                'LECF'         ||'|'||
                 DECODE(R.SITESPECIAL,'0','0010' ,'0009')         ||'|'||
                E.NRINSJUREMPR ||'|'||
                E.NMRAZSOCEMPR ||'|'||
                R.INDSITINIPER ||'|'||
                R.SITESPECIAL  ||'|'||
                ''             ||'|'||
                DECODE(R.SITESPECIAL,'0','',TO_CHAR(R.DTSITESP, 'DDMMYYYY'))||'|'||
                '0101'||P_ANO  ||'|'||
                '3112'||P_ANO  ||'|'||
                P_RETIFICADORA ||'|'||
                                 '|'||
                R.TIPECF       ||'|'||
                R.CODSCP       ||'|'
           INTO V_LINHA
           FROM REG0000_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   END IF;
   V_NRORDREGARQ := 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
   VALUES
      (LPAD(TO_CHAR(V_NRORDREGARQ),10,'0'), V_LINHA, P_NRSEQARQMAG);
   BEGIN
      SELECT '|0001' ||'|'||
             '0'     ||'|'
        INTO V_LINHA
        FROM DUAL;
   EXCEPTION
      WHEN NO_DATA_FOUND THEN
         V_LINHA := NULL;
   END;
   V_NRORDREGARQ := 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
   VALUES
      (LPAD(TO_CHAR(V_NRORDREGARQ),10,'0'), V_LINHA, P_NRSEQARQMAG);
   V_IDFORMAPUR := '';
   V_TEMP_ESC := '';
   BEGIN
      SELECT IDFORMAPUR
        INTO V_IDFORMAPUR
        FROM EMPRESA
       WHERE CDEMPRESA = P_CDEMPRESA;
   EXCEPTION
      WHEN NO_DATA_FOUND THEN
         V_IDFORMAPUR := NULL;
   END;
   IF V_IDFORMAPUR IN ('LPM', 'LPT') THEN
      V_IDFORMAPUR := 'P';
   ELSIF V_IDFORMAPUR IN ('LRM', 'LRT') THEN
      V_IDFORMAPUR := 'R';
   END IF;
   IF V_IDFORMAPUR = 'P' THEN
      BEGIN
         SELECT 'L'
           INTO V_TEMP_ESC
           FROM REG0010_ECF
          WHERE CDEMPRESA = P_CDEMPRESA
            AND FORMATRIB IN ('3', '4', '5', '7')
            AND P_ECDTRANS = 'N';
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_TEMP_ESC := '';
      END;
      IF V_TEMP_ESC IS NULL THEN
         V_TEMP_ESC := 'C';
      END IF;
   END IF;
   V_IMUISEN := '';
   BEGIN
      SELECT 'OK'
        INTO V_IMUISEN
        FROM REG0010_ECF
       WHERE CDEMPRESA = P_CDEMPRESA
         AND FORMATRIB IN ('8', '9');
   EXCEPTION
      WHEN NO_DATA_FOUND THEN
         V_IMUISEN := NULL;
   END;
   IF P_ANO < 2016 THEN
      BEGIN
         SELECT '|0010'        ||'|'||
                                 '|'||
                R.OPTREFIS     ||'|'||
                R.OPTPAES      ||'|'||
                R.FORMATRIB    ||'|'||
                R.FORMAAPUR    ||'|'||
                R.CODQUALIFPJ  ||'|'||
                R.FORMATRIBPER ||'|'||
                DECODE(R.FORMAAPUR, 'T', '', R.MESBALRED)    ||'|'||
                V_TEMP_ESC     ||'|'||
                DECODE(V_IMUISEN, 'OK', R.TIPENT, '')       ||'|'||
                DECODE(V_IMUISEN, 'OK', R.FORMAAPURI, '')   ||'|'||
                DECODE(V_IMUISEN, 'OK', R.APURCSLL, '')     ||'|'||
                R.OPTEXTRTT  ||'|'||
                R.DIFFCONT   ||'|'
           INTO V_LINHA
           FROM REG0010_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   ELSIF P_ANO > '2019' THEN
      BEGIN
         SELECT '|0010'        ||'|'||
                                 '|'||
                R.OPTREFIS     ||'|'||
                R.FORMATRIB    ||'|'||
                R.FORMAAPUR    ||'|'||
                R.CODQUALIFPJ  ||'|'||
                R.FORMATRIBPER ||'|'||
                DECODE(R.FORMAAPUR, 'T', '', R.MESBALRED)    ||'|'||
                V_TEMP_ESC     ||'|'||
                DECODE(V_IMUISEN, 'OK', R.TIPENT, '')       ||'|'||
                DECODE(V_IMUISEN, 'OK', R.FORMAAPURI, '')   ||'|'||
                DECODE(V_IMUISEN, 'OK', R.APURCSLL, '')     ||'|'||
                (CASE WHEN R.FORMATRIB IN ('3','4','5','7')
                     THEN R.IDCRITRECRECE
                     ELSE '' END)||'|'
           INTO V_LINHA
           FROM REG0010_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   ELSE
      BEGIN
         SELECT '|0010'        ||'|'||
                                 '|'||
                R.OPTREFIS     ||'|'||
                R.OPTPAES      ||'|'||
                R.FORMATRIB    ||'|'||
                R.FORMAAPUR    ||'|'||
                R.CODQUALIFPJ  ||'|'||
                R.FORMATRIBPER ||'|'||
                DECODE(R.FORMAAPUR, 'T', '', R.MESBALRED)    ||'|'||
                V_TEMP_ESC     ||'|'||
                DECODE(V_IMUISEN, 'OK', R.TIPENT, '')       ||'|'||
                DECODE(V_IMUISEN, 'OK', R.FORMAAPURI, '')   ||'|'||
                DECODE(V_IMUISEN, 'OK', R.APURCSLL, '')     ||'|'||
                (CASE WHEN R.FORMATRIB IN ('3','4','5','7')
                     THEN R.IDCRITRECRECE
                     ELSE '' END)||'|'
           INTO V_LINHA
           FROM REG0010_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   END IF;
   V_NRORDREGARQ := V_NRORDREGARQ + 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
   VALUES
      (LPAD(TO_CHAR(V_NRORDREGARQ),10,'0'), V_LINHA, P_NRSEQARQMAG);
   IF P_ANO < 2016 THEN
      BEGIN
         SELECT '|0020'        ||'|'||
                R.INDALIQCSLL  ||'|'||
                R.INDQTESCP    ||'|'||
                R.INDADMFUNCLU ||'|'||
                R.INDPARTCONS  ||'|'||
                R.INDOPEXT     ||'|'||
                R.INDOPVINC    ||'|'||
                R.INDPJENQUAD  ||'|'||
                R.INDPARTEXT   ||'|'||
                R.INDATIVRURAL ||'|'||
                R.INDLUCEXP    ||'|'||
                R.INDREDISEN   ||'|'||
                R.INDFIN       ||'|'||
                R.INDDOAELEIT  ||'|'||
                R.INDPARTCOLIG ||'|'||
                R.INDVENDEXP   ||'|'||
                R.INDRECEXT    ||'|'||
                R.INDATIVEXT   ||'|'||
                R.INDCOMEXP    ||'|'||
                R.INDPGTOEXT   ||'|'||
                R.INDECOMTI    ||'|'||
                R.INDROYREC    ||'|'||
                R.INDROYPAG    ||'|'||
                R.INDRENDSERV  ||'|'||
                R.INDPGTOREM   ||'|'||
                R.INDINOVTEC   ||'|'||
                R.INDCAPINF    ||'|'||
                R.INDPJHAB     ||'|'||
                R.INDPOLOAM    ||'|'||
                R.INDZONEXP    ||'|'||
                R.INDAREACOM   ||'|'
           INTO V_LINHA
           FROM REG0020_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   ELSIF P_ANO = 2016 THEN
      BEGIN
         SELECT '|0020'        ||'|'||
                R.INDALIQCSLL  ||'|'||
                R.INDQTESCP    ||'|'||
                R.INDADMFUNCLU ||'|'||
                R.INDPARTCONS  ||'|'||
                R.INDOPEXT     ||'|'||
                R.INDOPVINC    ||'|'||
                R.INDPJENQUAD  ||'|'||
                R.INDPARTEXT   ||'|'||
                R.INDATIVRURAL ||'|'||
                R.INDLUCEXP    ||'|'||
                R.INDREDISEN   ||'|'||
                R.INDFIN       ||'|'||
                R.INDDOAELEIT  ||'|'||
                R.INDPARTCOLIG ||'|'||
                R.INDVENDEXP   ||'|'||
                R.INDRECEXT    ||'|'||
                R.INDATIVEXT   ||'|'||
                R.INDCOMEXP    ||'|'||
                R.INDPGTOEXT   ||'|'||
                R.INDECOMTI    ||'|'||
                R.INDROYREC    ||'|'||
                R.INDROYPAG    ||'|'||
                R.INDRENDSERV  ||'|'||
                R.INDPGTOREM   ||'|'||
                R.INDINOVTEC   ||'|'||
                R.INDCAPINF    ||'|'||
                R.INDPJHAB     ||'|'||
                R.INDPOLOAM    ||'|'||
                R.INDZONEXP    ||'|'||
                R.INDAREACOM   ||'|'||
                NVL(R.IDENTMULTINACI,'N')   ||'|'
           INTO V_LINHA
           FROM REG0020_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   ELSIF P_ANO > 2019 THEN
      BEGIN
         SELECT '|0020'        ||'|'||
                R.INDALIQCSLL  ||'|'||
                R.INDQTESCP    ||'|'||
                R.INDADMFUNCLU ||'|'||
                R.INDPARTCONS  ||'|'||
                R.INDOPEXT     ||'|'||
                R.INDOPVINC    ||'|'||
                R.INDPJENQUAD  ||'|'||
                R.INDPARTEXT   ||'|'||
                R.INDATIVRURAL ||'|'||
                R.INDLUCEXP    ||'|'||
                R.INDREDISEN   ||'|'||
                R.INDFIN       ||'|'||
                R.INDPARTCOLIG ||'|'||
                R.INDRECEXT    ||'|'||
                R.INDATIVEXT   ||'|'||
                R.INDPGTOEXT   ||'|'||
                R.INDECOMTI    ||'|'||
                R.INDROYREC    ||'|'||
                R.INDROYPAG    ||'|'||
                R.INDRENDSERV  ||'|'||
                R.INDPGTOREM   ||'|'||
                R.INDINOVTEC   ||'|'||
                R.INDCAPINF    ||'|'||
                R.INDPJHAB     ||'|'||
                R.INDPOLOAM    ||'|'||
                R.INDZONEXP    ||'|'||
                R.INDAREACOM   ||'|'||
                NVL(R.IDENTMULTINACI,'N')   ||'|'||
                'N'            ||'|'||
                'N'            ||'|'
           INTO V_LINHA
           FROM REG0020_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   ELSE
      BEGIN
         SELECT '|0020'        ||'|'||
                R.INDALIQCSLL  ||'|'||
                R.INDQTESCP    ||'|'||
                R.INDADMFUNCLU ||'|'||
                R.INDPARTCONS  ||'|'||
                R.INDOPEXT     ||'|'||
                R.INDOPVINC    ||'|'||
                R.INDPJENQUAD  ||'|'||
                R.INDPARTEXT   ||'|'||
                R.INDATIVRURAL ||'|'||
                R.INDLUCEXP    ||'|'||
                R.INDREDISEN   ||'|'||
                R.INDFIN       ||'|'||
                R.INDDOAELEIT  ||'|'||
                R.INDPARTCOLIG ||'|'||
                R.INDVENDEXP   ||'|'||
                R.INDRECEXT    ||'|'||
                R.INDATIVEXT   ||'|'||
                R.INDCOMEXP    ||'|'||
                R.INDPGTOEXT   ||'|'||
                R.INDECOMTI    ||'|'||
                R.INDROYREC    ||'|'||
                R.INDROYPAG    ||'|'||
                R.INDRENDSERV  ||'|'||
                R.INDPGTOREM   ||'|'||
                R.INDINOVTEC   ||'|'||
                R.INDCAPINF    ||'|'||
                R.INDPJHAB     ||'|'||
                R.INDPOLOAM    ||'|'||
                R.INDZONEXP    ||'|'||
                R.INDAREACOM   ||'|'||
                NVL(R.IDENTMULTINACI,'N')   ||'|'||
                'N'            ||'|'||
                'N'            ||'|'
           INTO V_LINHA
           FROM REG0020_ECF R, EMPRESA E
          WHERE R.CDEMPRESA = E.CDEMPRESA
            AND R.CDEMPRESA = P_CDEMPRESA;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_LINHA := NULL;
      END;
   END IF;
   V_NRORDREGARQ := V_NRORDREGARQ + 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
   VALUES
      (LPAD(TO_CHAR(V_NRORDREGARQ),10,'0'), V_LINHA, P_NRSEQARQMAG);
   BEGIN
      SELECT '|0030' ||'|'||
             LPAD(NVL(REPLACE(CDNATUJURI, '-', ''),'0'),4,'0')             ||'|'||
             LPAD(NVL(SUBSTR(CDCNAE, 1,7), ' '), 7, ' ') ||'|'||
             E.DSENDEEMPR    ||'|'||
             '000000'        ||'|'||
             E.DSCOMPENDEMP  ||'|'||
             E.NMBAIREMPR      ||'|'||
             ES.SGESTADO     ||'|'||
             M.CDMUNICIBGE   ||'|'||
             REPLACE(REPLACE(REPLACE(E.NRCEPEMPR, '.', ''), ' ', ''), '-', '') ||'|'||
             R.NRTELEREPRES1 ||'|'||
             E.DSEMAILEMPRESA ||'|'
        INTO V_LINHA
        FROM EMPRESA E, ESTADO ES, MUNICIPIO M,
             REPRESLEGAL R, REPRESEMPRESA RE
       WHERE RE.CDEMPRESA = E.CDEMPRESA
         AND E.CDEMPRESA =  P_CDEMPRESA
         AND E.SGESTADO = ES.SGESTADO
         AND E.CDPAIS = ES.CDPAIS
         AND E.CDMUNICIPIO = M.CDMUNICIPIO
         AND E.SGESTADO = M.SGESTADO
         AND E.CDPAIS = M.CDPAIS
         AND E.CDEMPRESA = RE.CDEMPRESA
         AND R.CDREPRES = RE.CDREPRES
         AND RE.IDATIVO = 'S';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN
         V_LINHA := NULL;
   END;
   V_NRORDREGARQ := V_NRORDREGARQ + 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
   VALUES
      (LPAD(TO_CHAR(V_NRORDREGARQ),10,'0'), V_LINHA, P_NRSEQARQMAG);
   BEGIN
      SELECT '|0930' || '|' ||
             R.NMREPRES || '|' ||
             R.NRCPFREPRES || '|' ||
             R.CDQUALIFASSINA || '|' ||
                                 '|' ||
             R.DSEMAILREPRES || '|' ||
             LPAD(R.NRDDDTELEREPRES1, 4, '0')||R.NRTELEREPRES1 ||'|'
        INTO V_LINHA
        FROM REPRESEMPRESA RE, REPRESLEGAL R, QUALIFASSINANTE Q
       WHERE RE.IDATIVO = 'S'
         AND RE.CDEMPRESA = P_CDEMPRESA
         AND RE.CDREPRES = R.CDREPRES
         AND R.CDQUALIFASSINA = Q.CDQUALIFASSINA;
   EXCEPTION
      WHEN NO_DATA_FOUND THEN
         V_LINHA := NULL;
   END;
   V_NRORDREGARQ := V_NRORDREGARQ + 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
   VALUES
      (LPAD(TO_CHAR(V_NRORDREGARQ),10,'0'), V_LINHA, P_NRSEQARQMAG);
   BEGIN
      SELECT '|0930' || '|' ||
             C.NMCONTADOR || '|' ||
             C.NRINSJURCONT || '|' ||
             C.CDQUALIFASSINA || '|' ||
             C.NRCRCCONT2     || '|' ||
             C.DSENDINTERN    || '|' ||
             REPLACE(REPLACE(C.NRTELCONTATO, '-', ''), ' ', '') ||'|'
        INTO V_LINHA
        FROM EMPRESA E, CONTADOR C, QUALIFASSINANTE Q
       WHERE E.CDEMPRESA = P_CDEMPRESA
         AND E.CDCONTADOR2 = C.CDCONTADOR2
         AND C.CDQUALIFASSINA = Q.CDQUALIFASSINA;
   EXCEPTION
      WHEN NO_DATA_FOUND THEN
         V_LINHA := NULL;
   END;
   V_NRORDREGARQ := V_NRORDREGARQ + 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
   VALUES
      (LPAD(TO_CHAR(V_NRORDREGARQ),10,'0'), V_LINHA, P_NRSEQARQMAG);
   BEGIN
      SELECT '|0990' || '|' || TO_CHAR(COUNT(*)+1) ||'|'
        INTO V_LINHA
        FROM ARQMAGNETICO
       WHERE NRSEQARQMAG = P_NRSEQARQMAG
         AND SUBSTR(DSREGARQMAG, 2, 1) = '0';
   EXCEPTION
      WHEN NO_DATA_FOUND THEN
         V_LINHA := NULL;
   END;
   V_NRORDREGARQ := V_NRORDREGARQ + 1;
   INSERT INTO ARQMAGNETICO
      (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
   VALUES
      (LPAD(TO_CHAR(V_NRORDREGARQ),10,'0'), V_LINHA, P_NRSEQARQMAG);
   P_NRORDENACAO := V_NRORDREGARQ;
END;
/

