IF EXISTS (SELECT
              *
           FROM
              SYSOBJECTS O, SYSUSERS U
           WHERE
              O.NAME = 'ARQUIVO_SINTEGRA_75' AND
              TYPE   = 'P' 		 AND
              U.UID  = O.UID             AND
              U.NAME = USER)

DROP PROCEDURE ARQUIVO_SINTEGRA_75
GO
CREATE PROCEDURE ARQUIVO_SINTEGRA_75
   @P_VERSAO           VARCHAR(01),
   @P_NRSEQARQMAG      VARCHAR(10),
   @P_CONTADOR         NUMERIC        OUTPUT
AS
   DECLARE @V_REGISTRO75    VARCHAR(250);
   DECLARE @V_CONTADOR      NUMERIC;
   DECLARE @V_CONTREG       NUMERIC;
BEGIN
   SET @V_CONTREG = 0;
   SET @V_CONTADOR = @P_CONTADOR + 1;
   IF @P_VERSAO = '3' BEGIN
      DECLARE C_REGISTRO75 CURSOR FOR
         SELECT SUBSTRING(CDTIPOREG +
                RTRIM(CONVERT(CHAR,DTINICIAL,112))+
                RTRIM(CONVERT(CHAR,DTFINAL,112))+
                LEFT(CDARVPROD+REPLICATE(' ',14),14)+
                LEFT(CDCLASFISC+REPLICATE(' ',8),8)+
                LEFT(LTRIM(NMPRODUTO)+REPLICATE(' ',53),53)+
                LEFT(SGUNIDADE+REPLICATE(' ',6),6)+
                RIGHT(REPLICATE('0',5)+REPLACE(CONVERT(NUMERIC(5,2),VRALIQIPI),'.',''),5)+
                RIGHT(REPLICATE('0',4)+REPLACE(CONVERT(NUMERIC(4,2),VRALIQICMS),'.',''),4)+
                RIGHT(REPLICATE('0',5)+REPLACE(CONVERT(NUMERIC(5,2),VRPERREDBCIT),'.',''),5)+
                '0000000000000', 1, 126) AS DSARQMAG
           FROM TMP_REGISTRO_PRODUTO
          ORDER BY CDARVPROD;

      OPEN C_REGISTRO75;
      FETCH NEXT FROM C_REGISTRO75 INTO @V_REGISTRO75;

         WHILE (@@FETCH_STATUS = 0) BEGIN

         INSERT INTO ARQMAGNETICO
           (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
         VALUES
           (RIGHT(REPLICATE('0',2)+CONVERT(VARCHAR,@V_CONTADOR),2)+RIGHT(REPLICATE('0',8)+CONVERT(VARCHAR,@V_CONTREG),8),@V_REGISTRO75,@P_NRSEQARQMAG);

         SET @V_CONTREG   = ISNULL(@V_CONTREG,0)  + 1;

      FETCH NEXT FROM C_REGISTRO75 INTO @V_REGISTRO75;
      END;
      CLOSE C_REGISTRO75;
      DEALLOCATE C_REGISTRO75;
   END
   ELSE BEGIN
      DECLARE C_REGISTRO75 CURSOR FOR
         SELECT SUBSTRING(CDTIPOREG +
                RTRIM(CONVERT(CHAR,DTINICIAL,112))+
                RTRIM(CONVERT(CHAR,DTFINAL,112))+
                LEFT(CDARVPROD+REPLICATE(' ',14),14)+
                LEFT(CDCLASFISC+REPLICATE(' ',8),8)+
                LEFT(LTRIM(NMPRODUTO)+REPLICATE(' ',53),53)+
                LEFT(SGUNIDADE+REPLICATE(' ',6),6)+
                LEFT(CDSITUTRIBPR+REPLICATE(' ',3),3)+
                RIGHT(REPLICATE('0',5)+REPLACE(CONVERT(NUMERIC(5,2),VRALIQIPI),'.',''),5)+
                RIGHT(REPLICATE('0',4)+REPLACE(CONVERT(NUMERIC(4,2),VRALIQICMS),'.',''),4)+
                RIGHT(REPLICATE('0',5)+REPLACE(CONVERT(NUMERIC(5,2),VRPERREDBCIT),'.',''),5)+
                '0000000000000', 1, 126) AS DSARQMAG
           FROM TMP_REGISTRO_PRODUTO
          ORDER BY CDARVPROD;

      OPEN C_REGISTRO75;
      FETCH NEXT FROM C_REGISTRO75 INTO @V_REGISTRO75;

         WHILE (@@FETCH_STATUS = 0) BEGIN

         INSERT INTO ARQMAGNETICO
           (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
         VALUES
           (RIGHT(REPLICATE('0',2)+CONVERT(VARCHAR,@V_CONTADOR),2)+RIGHT(REPLICATE('0',8)+CONVERT(VARCHAR,@V_CONTREG),8),@V_REGISTRO75,@P_NRSEQARQMAG);

         SET @V_CONTREG   = ISNULL(@V_CONTREG,0)  + 1;

      FETCH NEXT FROM C_REGISTRO75 INTO @V_REGISTRO75;
      END;
      CLOSE C_REGISTRO75;
      DEALLOCATE C_REGISTRO75;
   END;

   SET @P_CONTADOR = @V_CONTADOR;
END;
GO



-- VERSAO --
EXEC ATUVEROBJ 'ARQUIVO_SINTEGRA_75','5.05.061';
GO

