/*
@C:\WEB_533\Sql\End_Conv\SqlServer\5057_FISSTPS_CONSULTA_FISCAL_PARAM.SQL

Descrição:
Procedure para consulta dos parametros fiscais

*/
IF EXISTS (SELECT *
             FROM SYSOBJECTS O, SYSUSERS U
            WHERE O.NAME = 'CONSULTA_PROD_PARAM'
              AND TYPE = 'P'
              AND U.UID = O.UID
              AND U.NAME = USER)
	DROP PROCEDURE CONSULTA_PROD_PARAM
	GO

/* PROCEDIMENTO INTERNO DE CONSULTA */
CREATE PROCEDURE CONSULTA_PROD_PARAM
	@P_INCITEMP     VARCHAR(14),
	@P_CDPRODINI    VARCHAR(20),
	@P_CDPRODFIM    VARCHAR(20),
	@P_INIVALID     DATETIME,
	@P_CDEMPRESA    VARCHAR(02),
	@P_CDINSCESTA   VARCHAR(16),
	@P_CDIMPOSTO    VARCHAR(02),
	@P_IDENTRSAIDOP VARCHAR(01),
	@P_CDTIPOOPER   VARCHAR(02),
	@P_CDGRUPOFISC  VARCHAR(03),
	@P_CDCLIENTE    VARCHAR(21),
	@P_CDFORNECED   VARCHAR(21),
	@P_CDFILIEMIT   VARCHAR(04),
	@P_CDFILIRECE   VARCHAR(04),
	@P_IDENDCFOP	VARCHAR(01),
	@P_IDENDEMIS    VARCHAR(01),
	@P_PAISORIG	    VARCHAR(04),
	@P_ESTAORIG     VARCHAR(02),
	@P_MUNIORIG	    VARCHAR(04),
   @P_VALORFAIXA   DOUBLE PRECISION
AS
	DECLARE @V_CDIMPOTEMP 	VARCHAR(02);
	DECLARE @V_CDFISCTEMP 	VARCHAR(01);
	DECLARE @V_SITUTRIBPR 	VARCHAR(03);
	DECLARE @V_PAISDEST	 	VARCHAR(04);
	DECLARE @V_ESTADEST	 	VARCHAR(02);
	DECLARE @V_MUNIDEST   	VARCHAR(04);
	DECLARE @V_PAISCFOP   	VARCHAR(04);
	DECLARE @V_ESTACFOP   	VARCHAR(02);
	DECLARE @V_IDINTEREST 	VARCHAR(01);
	DECLARE @V_IDINTERNA	VARCHAR(01);
	DECLARE @V_CDSITTRIBTMP    VARCHAR(02);
	DECLARE @V_IDMODBCNFE      VARCHAR(01);
	DECLARE @V_IDMOTIDESSTNFE  VARCHAR(01);
	DECLARE @V_IDMODBCSTNFE    VARCHAR(01);
	DECLARE @V_CDTPCRPICOSTNFE VARCHAR(03);
	DECLARE @V_CDNATUBCPCSTNFE VARCHAR(02);
	DECLARE @V_FISOPEITEM      VARCHAR(11);
	DECLARE @V_SUFXCFOPPR      VARCHAR(03);
	DECLARE @V_PBCSUBTRIB      FLOAT;
	DECLARE @V_ALIQUTMP        FLOAT;
	DECLARE @V_PREDBCTMP       FLOAT;

	DECLARE @C_PRODUTO_CDARVPROD VARCHAR(20);
	DECLARE @C_PRODUTO_CDPRODUTO VARCHAR(10);
	DECLARE @V_CDFILIAL          VARCHAR(04);
	DECLARE @V_LANCTONF          VARCHAR(10);
   DECLARE @V_CDREGRATMP        VARCHAR(10);
   DECLARE @V_IDUTMUNIORIG      VARCHAR(01);
   DECLARE @V_IDSISTEMA         VARCHAR(03);
BEGIN
	SET @V_CDFILIAL = SUBSTRING(@P_INCITEMP, 1, 4);
	SET @V_LANCTONF = SUBSTRING(@P_INCITEMP, 5, 10);

	IF @P_CDCLIENTE IS NOT NULL BEGIN
		SELECT @V_PAISDEST = MAX(CDPAIS), @V_ESTADEST = MAX(SGESTADO), @V_MUNIDEST = MAX(CDMUNICIPIO)
          FROM ENDECLIE
         WHERE (CDCLIENTE    = @P_CDCLIENTE)
           AND (IDTPENDECLIE = @P_IDENDEMIS);

        IF @P_IDENDCFOP = 'I' BEGIN
           SET @V_PAISCFOP = @P_PAISORIG;
           SET @V_ESTACFOP = @P_ESTAORIG;
  		END
  		ELSE BEGIN
        	SELECT @V_PAISCFOP = MAX(CDPAIS), @V_ESTACFOP = MAX(SGESTADO)
        	  FROM ENDECLIE
        	 WHERE (CDCLIENTE    = @P_CDCLIENTE)
               AND (IDTPENDECLIE = @P_IDENDCFOP);
  		END;
  	END
	ELSE BEGIN
		IF @P_CDFORNECED IS NOT NULL BEGIN
			SELECT @V_PAISDEST = MAX(CDPAIS), @V_ESTADEST = MAX(SGESTADO), @V_MUNIDEST = MAX(CDMUNICIPIO)
          	  FROM ENDEFORN
         	 WHERE (CDFORNECED   = @P_CDFORNECED)
               AND (IDTPENDEFORN = @P_IDENDEMIS);

            IF @P_IDENDCFOP = 'I' BEGIN
               SET @V_PAISCFOP = @P_PAISORIG;
               SET @V_ESTACFOP = @P_ESTAORIG;
      		END
      		ELSE BEGIN
            	SELECT @V_PAISCFOP = MAX(CDPAIS), @V_ESTACFOP = MAX(SGESTADO)
            	  FROM ENDEFORN
            	 WHERE (CDFORNECED   = @P_CDFORNECED)
                   AND (IDTPENDEFORN = @P_IDENDCFOP);
      		END;
      	END
		ELSE BEGIN
			IF @P_CDFILIEMIT IS NOT NULL BEGIN
				IF @P_IDENDEMIS = 'I' BEGIN
					SET @V_PAISDEST = @P_PAISORIG;
					SET @V_ESTADEST = @P_ESTAORIG;
					SET @V_MUNIDEST = @P_MUNIORIG;
				END
				ELSE BEGIN
					SELECT @V_PAISDEST = MAX(CDPAIS), @V_ESTADEST = MAX(SGESTADO), @V_MUNIDEST = MAX(CDMUNICIPIO)
          			  FROM ENDEFILI
         			 WHERE (CDFILIAL     = @P_CDFILIEMIT)
           			   AND (IDTPENDEFILI = @P_IDENDEMIS);
           		END;

    			IF @P_IDENDCFOP = 'I' BEGIN
					SET @V_PAISCFOP = @P_PAISORIG;
					SET @V_ESTACFOP = @P_ESTAORIG;
	      		END
	      		ELSE BEGIN
	            	SELECT @V_PAISCFOP = MAX(CDPAIS), @V_ESTACFOP = MAX(SGESTADO)
	            	  FROM ENDEFILI
	            	 WHERE (CDFILIAL     = @P_CDFILIRECE)
	                   AND (IDTPENDEFILI = @P_IDENDCFOP);
	      		END;
	      	END
			ELSE BEGIN
				IF @P_CDFILIRECE IS NOT NULL BEGIN
					IF @P_IDENDEMIS = 'I' BEGIN
						SELECT @V_PAISDEST = MAX(CDPAIS), @V_ESTADEST = MAX(SGESTADO), @V_MUNIDEST = MAX(CDMUNICIPIO)
						  FROM INSCRESTAD I, FILIAL F
						 WHERE F.CDEMPRESA  = I.CDEMPRESA
						   AND F.CDINSCESTA = I.CDINSCESTA
						   AND F.CDFILIAL   = @P_CDFILIRECE;
					END
					ELSE BEGIN
    					SELECT @V_PAISDEST = MAX(CDPAIS), @V_ESTADEST = MAX(SGESTADO), @V_MUNIDEST = MAX(CDMUNICIPIO)
              			  FROM ENDEFILI
             			 WHERE (CDFILIAL     = @P_CDFILIRECE)
               			   AND (IDTPENDEFILI = @P_IDENDEMIS);
               		END;

        			IF @P_IDENDCFOP = 'I' BEGIN
						SELECT @V_PAISCFOP = MAX(CDPAIS), @V_ESTACFOP = MAX(SGESTADO)
						  FROM INSCRESTAD I, FILIAL F
						 WHERE F.CDEMPRESA  = I.CDEMPRESA
						   AND F.CDINSCESTA = I.CDINSCESTA
						   AND F.CDFILIAL   = @P_CDFILIRECE;
		      		END
		      		ELSE BEGIN
		            	SELECT @V_PAISCFOP = MAX(CDPAIS), @V_ESTACFOP = MAX(SGESTADO)
		            	  FROM ENDEFILI
		            	 WHERE (CDFILIAL     = @P_CDFILIRECE)
		                   AND (IDTPENDEFILI = @P_IDENDCFOP);
		      		END;
				END;
			END;
		END;
	END;

	SET @V_IDINTEREST = 'N';
		SET @V_IDINTERNA  = 'N';
		IF ((@V_PAISDEST = @P_PAISORIG) AND (@V_ESTADEST <> @P_ESTAORIG)) BEGIN
  		SET @V_IDINTEREST = 'S';
		END ELSE IF (@V_PAISDEST <> @P_PAISORIG) BEGIN
  		SET @V_IDINTERNA = 'S';
		END;

   	DECLARE C_PRODUTO CURSOR FOR
		SELECT P.CDARVPROD, P.CDPRODUTO
		  FROM PRODUTO P, PRODFILI PF
		 WHERE P.CDARVPROD BETWEEN @P_CDPRODINI AND @P_CDPRODFIM
         AND P.IDPRODATIVPR = 'S'
         AND PF.CDFILIAL =  CASE @P_IDENTRSAIDOP WHEN 'S' THEN @P_CDFILIEMIT ELSE @P_CDFILIRECE END
         AND P.CDPRODUTO = PF.CDPRODUTO
         AND PF.IDPRODATIV = 'A'
         AND P.CDNVPRODUTO = (SELECT MAX(CDNVPRODUTO)
                                FROM PRODUTO)
	OPEN C_PRODUTO;
	FETCH NEXT FROM C_PRODUTO INTO @C_PRODUTO_CDARVPROD, @C_PRODUTO_CDPRODUTO;
	WHILE(@@FETCH_STATUS = 0) BEGIN
      SET @V_IDSISTEMA = 'DF'+@P_IDENTRSAIDOP;
		EXEC CONSULTA_INCIDENCIA @P_IDENTRSAIDOP, @P_CDEMPRESA, @C_PRODUTO_CDARVPROD, @P_CDINSCESTA, @P_CDTIPOOPER, @V_CDFILIAL, @V_LANCTONF, @P_CDGRUPOFISC, NULL, @V_IDINTEREST, @V_IDSISTEMA, @P_CDFILIRECE, @P_CDFORNECED, @P_CDCLIENTE, @P_INIVALID, @P_CDFILIEMIT, @P_VALORFAIXA, 'S';

		SELECT @V_CDIMPOTEMP = MAX(CDIMPOTEMP), @V_CDFISCTEMP = MAX(CDFISCTEMP), @V_CDREGRATMP = MAX(CDREGRATMP), @V_IDUTMUNIORIG = MAX(IDUTMUNIORIG)
 		  FROM INCITEMP IT, IMPOSTO IP
		 WHERE (IT.NRINCITEMP = @P_INCITEMP)
  		   AND (IT.CDIMPOTEMP = @P_CDIMPOSTO)
         AND (IP.CDIMPOSTO  = IT.CDIMPOTEMP);

		INSERT INTO
			TMP_FISCAL_PARAM(CDIMPOSTO, CDEMPRESA, IDENTRSAIDOP, CDTIPOOPER, CDINSCESTA, CDPRODUTO, CDGRUPOFISC, CDFISCAL, CDCLIENTE, CDFORNECED, CDFILIEMIT, CDFILIRECE, CDREGRATMP)
		VALUES
			(@P_CDIMPOSTO, @P_CDEMPRESA, @P_IDENTRSAIDOP, @P_CDTIPOOPER, @P_CDINSCESTA, @C_PRODUTO_CDPRODUTO, @P_CDGRUPOFISC, @V_CDFISCTEMP, @P_CDCLIENTE, @P_CDFORNECED, @P_CDFILIEMIT, @P_CDFILIRECE, @V_CDREGRATMP);

      IF (@V_CDREGRATMP IS NOT NULL) BEGIN
         SELECT @V_SITUTRIBPR = MAX(CDSITUTRIB)
           FROM TEKNISA.CONSULTA_REGRA_FISCAL('00', @P_CDEMPRESA, @P_CDGRUPOFISC, @P_IDENTRSAIDOP, @P_CDTIPOOPER, @P_CDINSCESTA, @C_PRODUTO_CDARVPROD, @P_INIVALID,
                                              @P_PAISORIG, @P_ESTAORIG, @P_MUNIORIG, @V_PAISDEST, @V_ESTADEST, @V_MUNIDEST, @P_VALORFAIXA, 'N')
          WHERE VRALIQUOTA IS NOT NULL;

         IF @V_SITUTRIBPR IS NOT NULL BEGIN
            UPDATE TMP_FISCAL_PARAM
               SET CDSITUTRIB   = @V_SITUTRIBPR
             WHERE CDIMPOSTO    = @P_CDIMPOSTO
               AND CDEMPRESA    = @P_CDEMPRESA
               AND CDINSCESTA   = @P_CDINSCESTA
               AND IDENTRSAIDOP = @P_IDENTRSAIDOP
               AND CDTIPOOPER   = @P_CDTIPOOPER
               AND CDPRODUTO    = @C_PRODUTO_CDPRODUTO
               AND ISNULL(CDGRUPOFISC, '@#*') = ISNULL(@P_CDGRUPOFISC, '@#*')
               AND ISNULL(CDCLIENTE, '@#*')   = ISNULL(@P_CDCLIENTE, '@#*')
               AND ISNULL(CDFORNECED, '@#*')  = ISNULL(@P_CDFORNECED, '@#*')
               AND ISNULL(CDFILIEMIT, '@#*')  = ISNULL(@P_CDFILIEMIT, '@#*')
               AND ISNULL(CDFILIRECE, '@#*')  = ISNULL(@P_CDFILIRECE, '@#*');
         END
         ELSE BEGIN
            UPDATE TMP_FISCAL_PARAM
               SET CDSITUTRIB   = NULL
             WHERE CDIMPOSTO    = @P_CDIMPOSTO
               AND CDEMPRESA    = @P_CDEMPRESA
               AND CDINSCESTA   = @P_CDINSCESTA
               AND IDENTRSAIDOP = @P_IDENTRSAIDOP
               AND CDTIPOOPER   = @P_CDTIPOOPER
               AND CDPRODUTO    = @C_PRODUTO_CDPRODUTO
               AND ISNULL(CDGRUPOFISC, '@#*') = ISNULL(@P_CDGRUPOFISC, '@#*')
               AND ISNULL(CDCLIENTE, '@#*')   = ISNULL(@P_CDCLIENTE, '@#*')
               AND ISNULL(CDFORNECED, '@#*')  = ISNULL(@P_CDFORNECED, '@#*')
               AND ISNULL(CDFILIEMIT, '@#*')  = ISNULL(@P_CDFILIEMIT, '@#*')
               AND ISNULL(CDFILIRECE, '@#*')  = ISNULL(@P_CDFILIRECE, '@#*');
         END;

         SELECT @V_CDSITTRIBTMP = MAX(CDSITUTRIB)
           FROM TEKNISA.CONSULTA_REGRA_FISCAL(@P_CDIMPOSTO, @P_CDEMPRESA, @P_CDGRUPOFISC, @P_IDENTRSAIDOP, @P_CDTIPOOPER, @P_CDINSCESTA, @C_PRODUTO_CDARVPROD, @P_INIVALID,
                                              @P_PAISORIG, @P_ESTAORIG, @P_MUNIORIG, @V_PAISDEST, @V_ESTADEST, @V_MUNIDEST, @P_VALORFAIXA, 'N')
           WHERE VRALIQUOTA IS NOT NULL;

         IF @V_CDSITTRIBTMP IS NOT NULL BEGIN
            UPDATE TMP_FISCAL_PARAM
               SET CDSITUTRIBNFE = @V_CDSITTRIBTMP
             WHERE CDIMPOSTO    = @P_CDIMPOSTO
               AND CDEMPRESA    = @P_CDEMPRESA
               AND CDINSCESTA   = @P_CDINSCESTA
               AND IDENTRSAIDOP = @P_IDENTRSAIDOP
               AND CDTIPOOPER   = @P_CDTIPOOPER
               AND CDPRODUTO    = @C_PRODUTO_CDPRODUTO
               AND ISNULL(CDGRUPOFISC, '@#*') = ISNULL(@P_CDGRUPOFISC, '@#*')
               AND ISNULL(CDCLIENTE, '@#*')   = ISNULL(@P_CDCLIENTE, '@#*')
               AND ISNULL(CDFORNECED, '@#*')  = ISNULL(@P_CDFORNECED, '@#*')
               AND ISNULL(CDFILIEMIT, '@#*')  = ISNULL(@P_CDFILIEMIT, '@#*')
               AND ISNULL(CDFILIRECE, '@#*')  = ISNULL(@P_CDFILIRECE, '@#*');
         END
         ELSE BEGIN
            UPDATE TMP_FISCAL_PARAM
               SET CDSITUTRIBNFE = NULL
             WHERE CDIMPOSTO    = @P_CDIMPOSTO
               AND CDEMPRESA    = @P_CDEMPRESA
               AND CDINSCESTA   = @P_CDINSCESTA
               AND IDENTRSAIDOP = @P_IDENTRSAIDOP
               AND CDTIPOOPER   = @P_CDTIPOOPER
               AND CDPRODUTO    = @C_PRODUTO_CDPRODUTO
               AND ISNULL(CDGRUPOFISC, '@#*') = ISNULL(@P_CDGRUPOFISC, '@#*')
               AND ISNULL(CDCLIENTE, '@#*')   = ISNULL(@P_CDCLIENTE, '@#*')
               AND ISNULL(CDFORNECED, '@#*')  = ISNULL(@P_CDFORNECED, '@#*')
               AND ISNULL(CDFILIEMIT, '@#*')  = ISNULL(@P_CDFILIEMIT, '@#*')
               AND ISNULL(CDFILIRECE, '@#*')  = ISNULL(@P_CDFILIRECE, '@#*');
         END;

         SELECT @V_FISOPEITEM = MAX(CDFISCOPER)
           FROM TEKNISA.CONSULTA_REGRA_FISCAL(null, @P_CDEMPRESA, @P_CDGRUPOFISC, @P_IDENTRSAIDOP, @P_CDTIPOOPER, @P_CDINSCESTA, @C_PRODUTO_CDARVPROD, @P_INIVALID,
                                              @P_PAISORIG, @P_ESTAORIG, NULL, @V_PAISCFOP, @V_ESTACFOP, NULL, @P_VALORFAIXA, 'S')
          WHERE CDFISCOPER IS NOT NULL;

         IF @V_FISOPEITEM IS NOT NULL BEGIN
            UPDATE TMP_FISCAL_PARAM
               SET CDCFOP 	 	= @V_FISOPEITEM
             WHERE CDIMPOSTO    = @P_CDIMPOSTO
               AND CDEMPRESA    = @P_CDEMPRESA
               AND CDINSCESTA   = @P_CDINSCESTA
               AND IDENTRSAIDOP = @P_IDENTRSAIDOP
               AND CDTIPOOPER   = @P_CDTIPOOPER
               AND CDPRODUTO    = @C_PRODUTO_CDPRODUTO
               AND ISNULL(CDGRUPOFISC, '@#*') = ISNULL(@P_CDGRUPOFISC, '@#*')
               AND ISNULL(CDCLIENTE, '@#*')   = ISNULL(@P_CDCLIENTE, '@#*')
               AND ISNULL(CDFORNECED, '@#*')  = ISNULL(@P_CDFORNECED, '@#*')
               AND ISNULL(CDFILIEMIT, '@#*')  = ISNULL(@P_CDFILIEMIT, '@#*')
               AND ISNULL(CDFILIRECE, '@#*')  = ISNULL(@P_CDFILIRECE, '@#*');
         END
         ELSE BEGIN
            UPDATE TMP_FISCAL_PARAM
               SET CDCFOP 		= NULL
             WHERE CDIMPOSTO    = @P_CDIMPOSTO
               AND CDEMPRESA    = @P_CDEMPRESA
               AND CDINSCESTA   = @P_CDINSCESTA
               AND IDENTRSAIDOP = @P_IDENTRSAIDOP
               AND CDTIPOOPER   = @P_CDTIPOOPER
               AND CDPRODUTO    = @C_PRODUTO_CDPRODUTO
               AND ISNULL(CDGRUPOFISC, '@#*') = ISNULL(@P_CDGRUPOFISC, '@#*')
               AND ISNULL(CDCLIENTE, '@#*')   = ISNULL(@P_CDCLIENTE, '@#*')
               AND ISNULL(CDFORNECED, '@#*')  = ISNULL(@P_CDFORNECED, '@#*')
               AND ISNULL(CDFILIEMIT, '@#*')  = ISNULL(@P_CDFILIEMIT, '@#*')
               AND ISNULL(CDFILIRECE, '@#*')  = ISNULL(@P_CDFILIRECE, '@#*');
         END;

         SELECT @V_PREDBCTMP = VRPERREDBC, @V_ALIQUTMP = VRALIQUOTA, @V_PBCSUBTRIB = VRPBCSUBTRIB
           FROM TEKNISA.CONSULTA_REGRA_FISCAL(@P_CDIMPOSTO, @P_CDEMPRESA, @P_CDGRUPOFISC, @P_IDENTRSAIDOP, @P_CDTIPOOPER, @P_CDINSCESTA, @C_PRODUTO_CDARVPROD, @P_INIVALID,
                                              @P_PAISORIG, @P_ESTAORIG, @P_MUNIORIG, @V_PAISDEST, @V_ESTADEST, @V_MUNIDEST, @P_VALORFAIXA, 'N')
          WHERE VRALIQUOTA IS NOT NULL;

         UPDATE TMP_FISCAL_PARAM
            SET VRALIQUOTA 	 = @V_ALIQUTMP,
                VRREDUCAOBC   = @V_PREDBCTMP,
                VRPBCSUBTRIB  = @V_PBCSUBTRIB,
                CDPAISORIG  	 = @P_PAISORIG,
                SGESTAORIG    = @P_ESTAORIG,
                CDMUNIORIG    = @P_MUNIORIG,
                CDPAISDEST  	 = @V_PAISDEST,
                SGESTADEST    = @V_ESTADEST,
                CDMUNIDEST    = @V_MUNIDEST
          WHERE CDIMPOSTO    = @P_CDIMPOSTO
            AND CDEMPRESA    = @P_CDEMPRESA
            AND CDINSCESTA   = @P_CDINSCESTA
            AND IDENTRSAIDOP = @P_IDENTRSAIDOP
            AND CDTIPOOPER   = @P_CDTIPOOPER
            AND CDPRODUTO    = @C_PRODUTO_CDPRODUTO
            AND ISNULL(CDGRUPOFISC, '@#*') = ISNULL(@P_CDGRUPOFISC, '@#*')
            AND ISNULL(CDCLIENTE, '@#*')   = ISNULL(@P_CDCLIENTE, '@#*')
            AND ISNULL(CDFORNECED, '@#*')  = ISNULL(@P_CDFORNECED, '@#*')
            AND ISNULL(CDFILIEMIT, '@#*')  = ISNULL(@P_CDFILIEMIT, '@#*')
            AND ISNULL(CDFILIRECE, '@#*')  = ISNULL(@P_CDFILIRECE, '@#*');
      END
      ELSE BEGIN
         SET @V_IDSISTEMA = 'DF'+@P_IDENTRSAIDOP;
         EXEC CONSULTA_CST @P_IDENTRSAIDOP, @P_CDEMPRESA, @C_PRODUTO_CDARVPROD, @P_CDINSCESTA, @P_CDTIPOOPER, @V_CDFILIAL, @V_LANCTONF, @P_CDGRUPOFISC, @V_IDINTEREST, @V_IDINTERNA, @V_IDSISTEMA;

          SELECT @V_SITUTRIBPR = MAX(CDSITTRIBTMP)
            FROM CSTTEMP
           WHERE NRCSTTEMP = @P_INCITEMP;

          IF @V_SITUTRIBPR IS NOT NULL BEGIN
            UPDATE TMP_FISCAL_PARAM
               SET CDSITUTRIB   = @V_SITUTRIBPR
             WHERE CDIMPOSTO    = @P_CDIMPOSTO
               AND CDEMPRESA    = @P_CDEMPRESA
               AND CDINSCESTA   = @P_CDINSCESTA
               AND IDENTRSAIDOP = @P_IDENTRSAIDOP
               AND CDTIPOOPER   = @P_CDTIPOOPER
               AND CDPRODUTO    = @C_PRODUTO_CDPRODUTO
               AND ISNULL(CDGRUPOFISC, '@#*') = ISNULL(@P_CDGRUPOFISC, '@#*')
               AND ISNULL(CDCLIENTE, '@#*')   = ISNULL(@P_CDCLIENTE, '@#*')
               AND ISNULL(CDFORNECED, '@#*')  = ISNULL(@P_CDFORNECED, '@#*')
               AND ISNULL(CDFILIEMIT, '@#*')  = ISNULL(@P_CDFILIEMIT, '@#*')
               AND ISNULL(CDFILIRECE, '@#*')  = ISNULL(@P_CDFILIRECE, '@#*');
            END
          ELSE BEGIN
            UPDATE TMP_FISCAL_PARAM
               SET CDSITUTRIB   = NULL
             WHERE CDIMPOSTO    = @P_CDIMPOSTO
               AND CDEMPRESA    = @P_CDEMPRESA
               AND CDINSCESTA   = @P_CDINSCESTA
               AND IDENTRSAIDOP = @P_IDENTRSAIDOP
               AND CDTIPOOPER   = @P_CDTIPOOPER
               AND CDPRODUTO    = @C_PRODUTO_CDPRODUTO
               AND ISNULL(CDGRUPOFISC, '@#*') = ISNULL(@P_CDGRUPOFISC, '@#*')
               AND ISNULL(CDCLIENTE, '@#*')   = ISNULL(@P_CDCLIENTE, '@#*')
               AND ISNULL(CDFORNECED, '@#*')  = ISNULL(@P_CDFORNECED, '@#*')
               AND ISNULL(CDFILIEMIT, '@#*')  = ISNULL(@P_CDFILIEMIT, '@#*')
               AND ISNULL(CDFILIRECE, '@#*')  = ISNULL(@P_CDFILIRECE, '@#*');
          END;

          EXEC CONSULTA_CST_NFE @P_IDENTRSAIDOP, @P_CDEMPRESA, @C_PRODUTO_CDARVPROD, @P_CDINSCESTA, @P_CDTIPOOPER, @P_CDGRUPOFISC, @P_CDIMPOSTO, @V_IDINTEREST, @V_IDINTERNA, @V_CDFILIAL, @V_LANCTONF,  @P_CDSITTRIBTMP = @V_CDSITTRIBTMP OUTPUT, @P_IDMODBCNFE = @V_IDMODBCNFE OUTPUT, @P_IDMODBCSTNFE = @V_IDMODBCSTNFE OUTPUT,  @P_CDTPCRPICOSTNFE = @V_CDTPCRPICOSTNFE OUTPUT, @P_CDNATUBCPCSTNFE = @V_CDNATUBCPCSTNFE OUTPUT, @P_IDMOTIDESSTNFE = @V_IDMOTIDESSTNFE OUTPUT;

         IF @V_CDSITTRIBTMP IS NOT NULL BEGIN
            UPDATE TMP_FISCAL_PARAM
               SET CDSITUTRIBNFE = @V_CDSITTRIBTMP
             WHERE CDIMPOSTO    = @P_CDIMPOSTO
               AND CDEMPRESA    = @P_CDEMPRESA
               AND CDINSCESTA   = @P_CDINSCESTA
               AND IDENTRSAIDOP = @P_IDENTRSAIDOP
               AND CDTIPOOPER   = @P_CDTIPOOPER
               AND CDPRODUTO    = @C_PRODUTO_CDPRODUTO
               AND ISNULL(CDGRUPOFISC, '@#*') = ISNULL(@P_CDGRUPOFISC, '@#*')
               AND ISNULL(CDCLIENTE, '@#*')   = ISNULL(@P_CDCLIENTE, '@#*')
               AND ISNULL(CDFORNECED, '@#*')  = ISNULL(@P_CDFORNECED, '@#*')
               AND ISNULL(CDFILIEMIT, '@#*')  = ISNULL(@P_CDFILIEMIT, '@#*')
               AND ISNULL(CDFILIRECE, '@#*')  = ISNULL(@P_CDFILIRECE, '@#*');
         END
         ELSE BEGIN
            UPDATE TMP_FISCAL_PARAM
               SET CDSITUTRIBNFE = NULL
             WHERE CDIMPOSTO    = @P_CDIMPOSTO
               AND CDEMPRESA    = @P_CDEMPRESA
               AND CDINSCESTA   = @P_CDINSCESTA
               AND IDENTRSAIDOP = @P_IDENTRSAIDOP
               AND CDTIPOOPER   = @P_CDTIPOOPER
               AND CDPRODUTO    = @C_PRODUTO_CDPRODUTO
               AND ISNULL(CDGRUPOFISC, '@#*') = ISNULL(@P_CDGRUPOFISC, '@#*')
               AND ISNULL(CDCLIENTE, '@#*')   = ISNULL(@P_CDCLIENTE, '@#*')
               AND ISNULL(CDFORNECED, '@#*')  = ISNULL(@P_CDFORNECED, '@#*')
               AND ISNULL(CDFILIEMIT, '@#*')  = ISNULL(@P_CDFILIEMIT, '@#*')
               AND ISNULL(CDFILIRECE, '@#*')  = ISNULL(@P_CDFILIRECE, '@#*');
         END;

         EXEC CONSULTA_CFOP @P_IDENTRSAIDOP, @P_CDEMPRESA, @C_PRODUTO_CDARVPROD, @P_CDINSCESTA, @P_CDTIPOOPER, @P_PAISORIG, @P_ESTAORIG, @V_PAISCFOP, @V_ESTACFOP, @V_CDFILIAL, @V_LANCTONF, @P_CDGRUPOFISC, @P_INIVALID;

         SELECT @V_FISOPEITEM = MAX(CDFISOPETMP), @V_SUFXCFOPPR = MAX(CDSUFCFOPTMP)
           FROM CFOPTEMP
             WHERE NRCFOPTEMP = @P_INCITEMP;


         IF @V_FISOPEITEM IS NOT NULL BEGIN
            UPDATE TMP_FISCAL_PARAM
               SET CDCFOP 	 	= @V_FISOPEITEM
             WHERE CDIMPOSTO    = @P_CDIMPOSTO
               AND CDEMPRESA    = @P_CDEMPRESA
               AND CDINSCESTA   = @P_CDINSCESTA
               AND IDENTRSAIDOP = @P_IDENTRSAIDOP
               AND CDTIPOOPER   = @P_CDTIPOOPER
               AND CDPRODUTO    = @C_PRODUTO_CDPRODUTO
               AND ISNULL(CDGRUPOFISC, '@#*') = ISNULL(@P_CDGRUPOFISC, '@#*')
               AND ISNULL(CDCLIENTE, '@#*')   = ISNULL(@P_CDCLIENTE, '@#*')
               AND ISNULL(CDFORNECED, '@#*')  = ISNULL(@P_CDFORNECED, '@#*')
               AND ISNULL(CDFILIEMIT, '@#*')  = ISNULL(@P_CDFILIEMIT, '@#*')
               AND ISNULL(CDFILIRECE, '@#*')  = ISNULL(@P_CDFILIRECE, '@#*');
         END
         ELSE BEGIN
            UPDATE TMP_FISCAL_PARAM
               SET CDCFOP 		= NULL
             WHERE CDIMPOSTO    = @P_CDIMPOSTO
               AND CDEMPRESA    = @P_CDEMPRESA
               AND CDINSCESTA   = @P_CDINSCESTA
               AND IDENTRSAIDOP = @P_IDENTRSAIDOP
               AND CDTIPOOPER   = @P_CDTIPOOPER
               AND CDPRODUTO    = @C_PRODUTO_CDPRODUTO
               AND ISNULL(CDGRUPOFISC, '@#*') = ISNULL(@P_CDGRUPOFISC, '@#*')
               AND ISNULL(CDCLIENTE, '@#*')   = ISNULL(@P_CDCLIENTE, '@#*')
               AND ISNULL(CDFORNECED, '@#*')  = ISNULL(@P_CDFORNECED, '@#*')
               AND ISNULL(CDFILIEMIT, '@#*')  = ISNULL(@P_CDFILIEMIT, '@#*')
               AND ISNULL(CDFILIRECE, '@#*')  = ISNULL(@P_CDFILIRECE, '@#*');
         END;
         SET @V_IDSISTEMA = 'DF'+@P_IDENTRSAIDOP;
         IF (@V_IDUTMUNIORIG = 'D') BEGIN
            EXEC CONSULTA_ALIQUOTA @P_CDIMPOSTO, @P_IDENTRSAIDOP, @P_CDEMPRESA, @C_PRODUTO_CDARVPROD, @P_CDINSCESTA, @P_PAISORIG, P_ESTAORIG, @V_PAISDEST, @V_ESTADEST, @V_MUNIDEST, @P_VALORFAIXA, @P_INIVALID, @V_CDFILIAL, @V_LANCTONF, @P_CDGRUPOFISC, @P_CDTIPOOPER, @V_IDSISTEMA, 'S', @P_VALORFAIXA, @P_CDFILIRECE, @P_CDFORNECED, @P_CDCLIENTE;
         END
         ELSE BEGIN
            EXEC CONSULTA_ALIQUOTA @P_CDIMPOSTO, @P_IDENTRSAIDOP, @P_CDEMPRESA, @C_PRODUTO_CDARVPROD, @P_CDINSCESTA, @P_PAISORIG, P_ESTAORIG, @V_PAISDEST, @V_ESTADEST, @P_MUNIORIG, @P_VALORFAIXA, @P_INIVALID, @V_CDFILIAL, @V_LANCTONF, @P_CDGRUPOFISC, @P_CDTIPOOPER, @V_IDSISTEMA, 'S', @P_VALORFAIXA, @P_CDFILIRECE, @P_CDFORNECED, @P_CDCLIENTE;
         END;

         SELECT   @V_PREDBCTMP  = MAX(VRPREDBCTMP),
                @V_ALIQUTMP   = MAX(VRALIQUTMP),
                @V_PBCSUBTRIB = MAX(VRPBCSTTMP)
          FROM ALIQTEMP
            WHERE (NRALIQTEMP = @P_INCITEMP);

           UPDATE TMP_FISCAL_PARAM
             SET VRALIQUOTA 	  = @V_ALIQUTMP,
                  VRREDUCAOBC   = @V_PREDBCTMP,
                  VRPBCSUBTRIB  = @V_PBCSUBTRIB,
                  CDPAISORIG    = @P_PAISORIG,
                  SGESTAORIG    = @P_ESTAORIG,
                  CDMUNIORIG    = @P_MUNIORIG,
                  CDPAISDEST    = @V_PAISDEST,
                  SGESTADEST    = @V_ESTADEST,
                  CDMUNIDEST    = @V_MUNIDEST
           WHERE CDIMPOSTO    = @P_CDIMPOSTO
            AND CDEMPRESA    = @P_CDEMPRESA
            AND CDINSCESTA   = @P_CDINSCESTA
            AND IDENTRSAIDOP = @P_IDENTRSAIDOP
            AND CDTIPOOPER   = @P_CDTIPOOPER
            AND CDPRODUTO    = @C_PRODUTO_CDPRODUTO
            AND ISNULL(CDGRUPOFISC, '@#*') = ISNULL(@P_CDGRUPOFISC, '@#*')
            AND ISNULL(CDCLIENTE, '@#*')   = ISNULL(@P_CDCLIENTE, '@#*')
            AND ISNULL(CDFORNECED, '@#*')  = ISNULL(@P_CDFORNECED, '@#*')
            AND ISNULL(CDFILIEMIT, '@#*')  = ISNULL(@P_CDFILIEMIT, '@#*')
            AND ISNULL(CDFILIRECE, '@#*')  = ISNULL(@P_CDFILIRECE, '@#*');
      END;

		DELETE INCITEMP
	     WHERE NRINCITEMP = @P_INCITEMP;

	    DELETE CSTTEMP
	     WHERE NRCSTTEMP  = @P_INCITEMP;

	    DELETE CFOPTEMP
	     WHERE NRCFOPTEMP = @P_INCITEMP;

	    DELETE ALIQTEMP
	     WHERE NRALIQTEMP = @P_INCITEMP;
	    FETCH NEXT FROM C_PRODUTO INTO @C_PRODUTO_CDARVPROD, @C_PRODUTO_CDPRODUTO;
	END;
	CLOSE C_PRODUTO;
	DEALLOCATE C_PRODUTO;
END;
GO

-- VERSAO --
EXEC ATUVEROBJ 'CONSULTA_PROD_PARAM','5.33.xxx';
GO

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

CREATE PROCEDURE CONSULTA_FISCAL_PARAM
   @P_CDEMPRESA     VARCHAR(02),
   @P_IDENTRSAID    VARCHAR(01),
   @P_CDTIPOOPER    VARCHAR(02),
   @P_CDINSCESTA    VARCHAR(16),
   @P_CDPRODINI     VARCHAR(20),
   @P_CDPRODFIM     VARCHAR(20),
   @P_INIVALID      DATETIME,
   @P_CDIMPOSTO     VARCHAR(02),
   @P_FILIAL        VARCHAR(04),
   @P_LANCTONF      VARCHAR(10),
   @P_DESTNF	  	  VARCHAR(01),
   @P_CDFILIAL	     TEXT,
   @P_TCDFILIAL     VARCHAR(01),
   @P_CDFORNECED    TEXT,
   @P_TCDFORNECED   VARCHAR(01),
   @P_CDCLIENTE     TEXT,
   @P_TCDCLIENTE    VARCHAR(01),
   @P_FILIORIG      VARCHAR(04),
   @P_VALORFAIXA    DOUBLE PRECISION
AS
	DECLARE @V_INCITEMP    	VARCHAR(14);
	DECLARE @V_CDGRUPOFISC  VARCHAR(03);
	DECLARE @V_PAISORIG	    VARCHAR(04);
	DECLARE @V_ESTAORIG	    VARCHAR(02);
	DECLARE @V_MUNIORIG     VARCHAR(04);

	DECLARE @C_DESTINATARIO_CDCLIENTE    VARCHAR(21);
	DECLARE @C_DESTINATARIO_IDENDCFOPCLI VARCHAR(01);
	DECLARE @C_DESTINTARIO_IDENDEMISCLI  VARCHAR(01);

	DECLARE @C_DESTINATARIO_CDFORNECED   VARCHAR(21);
	DECLARE @C_DESTINATARIO_IDENDCFOPFOR VARCHAR(01);
	DECLARE @C_DESTINTARIO_IDENDEMISFOR  VARCHAR(01);

	DECLARE @C_DESTINATARIO_CDFILIAL     VARCHAR(04);
	DECLARE @C_DESTINATARIO_IDENDCFOPFIL VARCHAR(01);
	DECLARE @C_DESTINTARIO_IDENDEMISFIL  VARCHAR(01);
BEGIN
	DELETE FROM TMP_FISCAL_PARAM
	 WHERE CDEMPRESA    = @P_CDEMPRESA
	   AND CDINSCESTA   = @P_CDINSCESTA
	   AND CDIMPOSTO    = @P_CDIMPOSTO
	   AND CDTIPOOPER   = @P_CDTIPOOPER
	   AND IDENTRSAIDOP = @P_IDENTRSAID;

	SET @V_INCITEMP = @P_FILIAL + @P_LANCTONF;

    SELECT @V_PAISORIG = MAX(CDPAIS), @V_ESTAORIG = MAX(SGESTADO), @V_MUNIORIG = MAX(CDMUNICIPIO)
      FROM INSCRESTAD
     WHERE CDEMPRESA  = @P_CDEMPRESA
       AND CDINSCESTA = @P_CDINSCESTA;

    IF @P_DESTNF = 'C' BEGIN
    	DECLARE C_DESTINATARIO CURSOR FOR
    		SELECT CDCLIENTE, ISNULL(IDENDCFOPCLI,'P') IDENDCFOPCLI, ISNULL(IDENDEMISCLI,'P') IDENDEMISCLI
              FROM CLIENTE
             WHERE (CHARINDEX('_'+CDCLIENTE+'_', @P_CDCLIENTE) > 0) OR (@P_TCDCLIENTE = 'T')
               AND (IDCLIEATIV = 'S');
    	OPEN C_DESTINATARIO;
    	FETCH NEXT FROM C_DESTINATARIO INTO @C_DESTINATARIO_CDCLIENTE, @C_DESTINATARIO_IDENDCFOPCLI, @C_DESTINTARIO_IDENDEMISCLI;
    	WHILE (@@FETCH_STATUS = 0) BEGIN
         SELECT @V_CDGRUPOFISC = MAX(G.CDGRUPOFISC)
           FROM GRUPOFISCIMPFIL G
          WHERE G.CDFILIAL = @P_FILIORIG
            AND NOT G.CDGRUPOFISC IS NULL
             AND G.CDIMPOSTO = @P_CDIMPOSTO;

    		SELECT @V_CDGRUPOFISC = ISNULL(MAX(CDGRUPOFISC), @V_CDGRUPOFISC)
  			  FROM GRFISIMPIECLIE
 			 WHERE CDIMPOSTO  = @P_CDIMPOSTO
   			   AND CDEMPRESA  = @P_CDEMPRESA
   			   AND CDINSCESTA = @P_CDINSCESTA
   			   AND CDCLIENTE  = @C_DESTINATARIO_CDCLIENTE
   			   AND CDGRUPOFISC IS NOT NULL;
   			IF @V_CDGRUPOFISC IS NULL BEGIN
    			EXEC CONSULTA_GRUPOFISCAL 'C', @C_DESTINATARIO_CDCLIENTE, NULL, @P_IDENTRSAID, @P_CDTIPOOPER, @V_CDGRUPOFISC OUTPUT;
    		END;
    		EXEC CONSULTA_PROD_PARAM @V_INCITEMP, @P_CDPRODINI, @P_CDPRODFIM, @P_INIVALID, @P_CDEMPRESA, @P_CDINSCESTA, @P_CDIMPOSTO, @P_IDENTRSAID, @P_CDTIPOOPER, @V_CDGRUPOFISC, @C_DESTINATARIO_CDCLIENTE,
                                  NULL, NULL, NULL, @C_DESTINATARIO_IDENDCFOPCLI, @C_DESTINTARIO_IDENDEMISCLI, @V_PAISORIG, @V_ESTAORIG, @V_MUNIORIG, @P_VALORFAIXA;
    		FETCH NEXT FROM C_DESTINATARIO INTO @C_DESTINATARIO_CDCLIENTE, @C_DESTINATARIO_IDENDCFOPCLI, @C_DESTINTARIO_IDENDEMISCLI;
    	END;
    	CLOSE C_DESTINATARIO;
   		DEALLOCATE C_DESTINATARIO;
   	END
    ELSE BEGIN
    	IF @P_DESTNF = 'F' BEGIN
			DECLARE C_DESTINATARIO CURSOR FOR
    			SELECT CDFORNECED, ISNULL(IDENDCFOPFOR, 'P') IDENDCFOPFOR, ISNULL(IDENDEMISFOR, 'P') IDENDEMISFOR
              	  FROM FORNECEDOR
             	 WHERE (CHARINDEX('_'+CDFORNECED+'_', @P_CDFORNECED) > 0) OR (@P_TCDFORNECED = 'T')
                  AND (IDSITUCADA = 'A')
    		OPEN C_DESTINATARIO;
    		FETCH NEXT FROM C_DESTINATARIO INTO @C_DESTINATARIO_CDFORNECED, @C_DESTINATARIO_IDENDCFOPFOR, @C_DESTINTARIO_IDENDEMISFOR;
	    	WHILE (@@FETCH_STATUS = 0) BEGIN
            SELECT @V_CDGRUPOFISC = MAX(G.CDGRUPOFISC)
              FROM GRUPOFISCIMPFIL G
             WHERE G.CDFILIAL = @P_FILIORIG
               AND NOT G.CDGRUPOFISC IS NULL
               AND G.CDIMPOSTO = @P_CDIMPOSTO;

	    		SELECT @V_CDGRUPOFISC = ISNULL(MAX(CDGRUPOFISC), @V_CDGRUPOFISC)
	  			  FROM GRFISIMPIEFORN
	 			 WHERE CDIMPOSTO  = @P_CDIMPOSTO
	   			   AND CDEMPRESA  = @P_CDEMPRESA
	   			   AND CDINSCESTA = @P_CDINSCESTA
	   			   AND CDFORNECED = @C_DESTINATARIO_CDFORNECED
	   			   AND CDGRUPOFISC IS NOT NULL;
	   			IF @V_CDGRUPOFISC IS NULL BEGIN
    				EXEC CONSULTA_GRUPOFISCAL 'F', @C_DESTINATARIO_CDFORNECED, NULL, @P_IDENTRSAID, @P_CDTIPOOPER, @V_CDGRUPOFISC OUTPUT;
    			END;
    			EXEC CONSULTA_PROD_PARAM @V_INCITEMP, @P_CDPRODINI, @P_CDPRODFIM, @P_INIVALID, @P_CDEMPRESA, @P_CDINSCESTA, @P_CDIMPOSTO, @P_IDENTRSAID, @P_CDTIPOOPER, @V_CDGRUPOFISC, NULL,
                                     @C_DESTINATARIO_CDFORNECED, NULL, NULL, @C_DESTINATARIO_IDENDCFOPFOR, @C_DESTINTARIO_IDENDEMISFOR, @V_PAISORIG, @V_ESTAORIG, @V_MUNIORIG, @P_VALORFAIXA;
    			FETCH NEXT FROM C_DESTINATARIO INTO @C_DESTINATARIO_CDFORNECED, @C_DESTINATARIO_IDENDCFOPFOR, @C_DESTINTARIO_IDENDEMISFOR;
    		END;
    		CLOSE C_DESTINATARIO;
   			DEALLOCATE C_DESTINATARIO;
    	END
    	ELSE BEGIN
    		IF @P_DESTNF = 'L' BEGIN
    			DECLARE C_DESTINATARIO CURSOR FOR
    				SELECT CDFILIAL, ISNULL(IDENDCFOPFIL,'I') IDENDCFOPFIL, ISNULL(IDENDEMISFIL,'I') IDENDEMISFIL
              	  	  FROM FILIAL
             	 	 WHERE (CHARINDEX('_'+CDFILIAL+'_', @P_CDFILIAL) > 0) OR (@P_TCDFILIAL = 'T')
                     AND IDCNTRRESC = 'N'
    			OPEN C_DESTINATARIO;
    			FETCH NEXT FROM C_DESTINATARIO INTO @C_DESTINATARIO_CDFILIAL, @C_DESTINATARIO_IDENDCFOPFIL, @C_DESTINTARIO_IDENDEMISFIL;
	    		WHILE (@@FETCH_STATUS = 0) BEGIN
	    			SELECT @V_CDGRUPOFISC = MAX(CDGRUPOFISC)
		  			  FROM GRUPOFISCIMPFIL
		 			 WHERE CDIMPOSTO  = @P_CDIMPOSTO
		   			   AND CDFILIAL   = @C_DESTINATARIO_CDFILIAL
		   			   AND CDGRUPOFISC IS NOT NULL;
	   				IF @V_CDGRUPOFISC IS NULL BEGIN
    					EXEC CONSULTA_GRUPOFISCAL 'L', @C_DESTINATARIO_CDFILIAL, NULL, @P_IDENTRSAID, @P_CDTIPOOPER, @V_CDGRUPOFISC OUTPUT;
    				END;
    				IF @P_IDENTRSAID = 'E' BEGIN
    					EXEC CONSULTA_PROD_PARAM @V_INCITEMP, @P_CDPRODINI, @P_CDPRODFIM, @P_INIVALID, @P_CDEMPRESA, @P_CDINSCESTA, @P_CDIMPOSTO, @P_IDENTRSAID, @P_CDTIPOOPER, @V_CDGRUPOFISC,
                                           NULL, NULL,  @C_DESTINATARIO_CDFILIAL, NULL, @C_DESTINATARIO_IDENDCFOPFIL, @C_DESTINTARIO_IDENDEMISFIL, @V_PAISORIG, @V_ESTAORIG, @V_MUNIORIG, @P_VALORFAIXA;
    				END
    				ELSE BEGIN
    					EXEC CONSULTA_PROD_PARAM @V_INCITEMP, @P_CDPRODINI, @P_CDPRODFIM, @P_INIVALID, @P_CDEMPRESA, @P_CDINSCESTA, @P_CDIMPOSTO, @P_IDENTRSAID, @P_CDTIPOOPER, @V_CDGRUPOFISC,
                                           NULL, NULL, NULL, @C_DESTINATARIO_CDFILIAL, @C_DESTINATARIO_IDENDCFOPFIL, @C_DESTINTARIO_IDENDEMISFIL, @V_PAISORIG, @V_ESTAORIG, @V_MUNIORIG, @P_VALORFAIXA;
    				END;
    				FETCH NEXT FROM C_DESTINATARIO INTO @C_DESTINATARIO_CDFILIAL, @C_DESTINATARIO_IDENDCFOPFIL, @C_DESTINTARIO_IDENDEMISFIL;
    			END;
    		END;
    	END;
    END;
END;
GO

-- VERSAO --
EXEC ATUVEROBJ 'CONSULTA_FISCAL_PARAM','5.33.xxx';
GO