Pular para o conteúdo
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #91847
    Doug
    Participante

      Pessoal tenho um cursor que esta dentro de uma package body. Quando o programa é executado ele me gera um arquivo txt no formato de uma obrigacao fiscal(DMS-CAMPINAS).

      O probema é que nao estpu conseguindo fazer com que ele traga as notas fiscais com aliquota de iss > 0

      Segue o cursor.
      CURSOR cRecebidos IS
      SELECT a.ident_docto_fiscal,
      ‘R’ AS CABECALHO,
      TRUNC(b.data_fiscal) AS DATA_PAGAMENTO,
      TRUNC(a.data_emissao) AS DATA_EMISSAO,
      c.cod_modelo AS MODELO_DOCTO,
      a.serie_docfis, –‘ ‘ AS SERIE,
      a.num_docfis AS NUM_DOCFIS,
      a.cod_class_doc_fis AS class_doc_fis,
      SUM(b.vlr_tot) AS VLR_BRUTO,
      DECODE(SUM(b.vlr_BASE_ISS_1),
      0,
      SUM(b.vlr_SERVICO),
      SUM(b.vlr_BASE_ISS_1)) AS VLR_SERVICO,
      b.aliq_tributo_iss AS ALIQUOTA_ISS,
      b.ident_cfo AS IDENT_CFO,
      SUM(0.0) AS VLR_IMPOSTO,
      lpad(nvl(d.insc_municipal, ‘0’), 11, ‘0’) AS INCRICAO_TOMADOR,

      decode(f.cod_estado,
      ‘EX’,
      lpad(‘0’, 14, ‘0’),
      lpad(DECODE(LENGTH(d.cpf_cgc), 14, d.cpf_cgc, ‘0’),
      14,
      ‘0’)) AS CNPJ_TOMADOR,
      — lpad(DECODE(LENGTH(d.cpf_cgc), 14, d.cpf_cgc, ‘0’), 14, ‘0’) AS CNPJ_TOMADOR,
      decode(f.cod_estado,
      ‘EX’,
      lpad(11, ‘0’),
      lpad(DECODE(LENGTH(d.cpf_cgc), 11, d.cpf_cgc, ‘0’),
      11,
      ‘0’)) AS CPF_TOMADOR,
      — lpad(DECODE(LENGTH(d.cpf_cgc), 11, d.cpf_cgc, ‘0’), 11, ‘0’) AS CPF_TOMADOR,

      substr(d.razao_social, 1, 40) AS NOME_PRESTADOR,
      d.endereco AS NOME_RUA,
      NVL(REPLACE(ltrim(rtrim(d.num_endereco)), ‘.’, ”), ‘0’) AS NUM_RUA,
      d.compl_endereco AS COMPLEMENTO,
      d.bairro AS BAIRRO,
      d.cidade AS CIDADE,
      f.cod_estado AS UF,
      d.cep AS CEP,
      ‘A’ AS NATUREZA_OP,
      decode(f.cod_estado, ‘EX’, ‘9999’, a.cod_municipio) as cod_municipio,
      i.cod_docto,
      d.cod_fis_jur,
      g.ident_servico

      from dwt_docto_fiscal a,
      dwt_itens_serv b,
      x2024_modelo_docto c,
      x04_pessoa_fis_jur d,
      estado f,
      x2018_servicos g,
      x2006_natureza_op h,
      x2005_tipo_docto i

      where a.cod_empresa = pemp
      and a.cod_estab = pCodEstab
      and a.data_fiscal BETWEEN pDataIni AND pDataFIM
      and a.ident_docto_fiscal = b.ident_docto_fiscal(+)
      and a.ident_natureza_op = h.ident_natureza_op(+)
      and a.ident_modelo = c.ident_modelo(+)
      and d.ident_estado = f.ident_estado(+)
      and b.ident_servico = g.ident_servico
      and a.ident_fis_jur = d.ident_fis_jur
      and a.ident_docto = i.ident_docto
      and b.ident_docto = i.ident_docto
      and a.cod_class_doc_fis in (‘2’, ‘3’)
      and a.movto_e_s <> ‘9’
      and b.aliq_tributo_iss >’0′ –ERRO

      GROUP BY a.ident_docto_fiscal,
      ‘R’,
      TRUNC(b.data_fiscal),
      TRUNC(a.data_emissao),
      a.serie_docfis, –‘
      ‘ ‘,
      a.num_docfis,
      a.cod_class_doc_fis,
      lpad(nvl(d.insc_municipal, ‘0’), 11, ‘0’),
      decode(f.cod_estado,
      ‘EX’,
      lpad(‘0’, 14, ‘0’),
      lpad(DECODE(LENGTH(d.cpf_cgc), 14, d.cpf_cgc, ‘0’),
      14,
      ‘0’)),
      — lpad(DECODE(LENGTH(d.cpf_cgc), 14, d.cpf_cgc, ‘0’), 14, ‘0’) ,
      decode(f.cod_estado,
      ‘EX’,
      lpad(11, ‘0’),
      lpad(DECODE(LENGTH(d.cpf_cgc), 11, d.cpf_cgc, ‘0’),
      11,
      ‘0’)),
      — lpad(DECODE(LENGTH(d.cpf_cgc), 11, d.cpf_cgc, ‘0’), 11, ‘0’) ,
      b.aliq_tributo_iss,
      b.ident_cfo,
      d.razao_social,
      d.endereco,
      NVL(REPLACE(ltrim(rtrim(d.num_endereco)), ‘.’, ”), ‘0’),
      d.compl_endereco,
      d.bairro,
      d.cidade,
      f.cod_estado,
      d.cep,
      ‘A’,
      decode(f.cod_estado, ‘EX’, ‘9999’, a.cod_municipio),
      c.cod_modelo,
      i.cod_docto,
      d.cod_fis_jur,
      g.ident_servico –21/12/2009

      union

      SELECT a.ident_docto_fiscal,
      ‘R’ AS CABECALHO,
      TRUNC(a.data_fiscal) AS DATA_PAGAMENTO,
      TRUNC(a.data_emissao) AS DATA_EMISSAO,
      a.serie_docfis, — ‘ ‘ AS SERIE, –**********************************
      c.cod_modelo AS MODELO_DOCTO,
      a.num_docfis AS NUM_DOCFIS,
      a.cod_class_doc_fis AS class_doc_fis,
      SUM(a.vlr_tot_nota) AS VLR_BRUTO,
      –DECODE(SUM(NVL(a.vlr_BASE_ISS_1, 0)),0, SUM(NVL(a.vlr_tot_nota, 0)),SUM(NVL(a.vlr_BASE_ISS_1, 0))) AS VLR_SERVICO,
      SUM(‘000000000000000’) AS VLR_SERVICO,
      a.aliq_tributo_iss AS ALIQUOTA_ISS,
      9999 AS IDENT_CFO,
      SUM(0.0) AS VLR_IMPOSTO,
      lpad(nvl(d.insc_municipal, ‘0’), 11, ‘0’) AS INCRICAO_TOMADOR,
      decode(f.cod_estado,
      ‘EX’,
      lpad(‘0’, 14, ‘0’),
      lpad(DECODE(LENGTH(d.cpf_cgc), 14, d.cpf_cgc, ‘0’),
      14,
      ‘0’)),
      — lpad(DECODE(LENGTH(d.cpf_cgc), 14, d.cpf_cgc, ‘0’), 14, ‘0’) ,
      decode(f.cod_estado,
      ‘EX’,
      lpad(11, ‘0’),
      lpad(DECODE(LENGTH(d.cpf_cgc), 11, d.cpf_cgc, ‘0’),
      11,
      ‘0’)),
      — lpad(DECODE(LENGTH(d.cpf_cgc), 11, d.cpf_cgc, ‘0’), 11, ‘0’) ,
      substr(d.razao_social, 1, 40) AS NOME_PRESTADOR,
      d.endereco AS NOME_RUA,
      NVL(REPLACE(ltrim(rtrim(d.num_endereco)), ‘.’, ”), ‘0’) AS NUM_RUA,
      d.compl_endereco AS COMPLEMENTO,
      d.bairro AS BAIRRO,
      d.cidade AS CIDADE,
      f.cod_estado AS UF,
      d.cep AS CEP,
      ‘A’ AS NATUREZA_OP,
      decode(f.cod_estado, ‘EX’, ‘9999’, a.cod_municipio) as cod_municipio,
      i.cod_docto,
      d.cod_fis_jur,
      g.ident_servico

      from dwt_docto_fiscal a,
      x2024_modelo_docto c,
      x04_pessoa_fis_jur d,
      estado f,
      x2006_natureza_op h,
      x2005_tipo_docto i,
      x2018_servicos g

      where a.cod_empresa = pemp
      and a.cod_estab = pCodEstab
      and a.data_fiscal BETWEEN pDataIni AND pDataFIM
      and a.ident_natureza_op = h.ident_natureza_op(+)
      and a.ident_modelo = c.ident_modelo(+)
      and d.ident_estado = f.ident_estado(+)
      and a.ident_fis_jur = d.ident_fis_jur
      and a.ident_docto = i.ident_docto
      and a.cod_class_doc_fis in (‘2’, ‘3’)
      and a.movto_e_s <> ‘9’

      and not exists
      (select 1
      from dwt_itens_serv z
      where z.ident_docto_fiscal = a.ident_docto_fiscal)

      GROUP BY a.ident_docto_fiscal,
      TRUNC(a.data_fiscal),
      TRUNC(a.data_emissao),
      a.num_docfis,
      a.serie_docfis, –***********************
      a.cod_class_doc_fis,
      lpad(nvl(d.insc_municipal, ‘0’), 11, ‘0’),
      decode(f.cod_estado,
      ‘EX’,
      lpad(‘0’, 14, ‘0’),
      lpad(DECODE(LENGTH(d.cpf_cgc), 14, d.cpf_cgc, ‘0’),
      14,
      ‘0’)),
      — lpad(DECODE(LENGTH(d.cpf_cgc), 14, d.cpf_cgc, ‘0’), 14, ‘0’) ,
      decode(f.cod_estado,
      ‘EX’,
      lpad(11, ‘0’),
      lpad(DECODE(LENGTH(d.cpf_cgc), 11, d.cpf_cgc, ‘0’),
      11,
      ‘0’)),
      — lpad(DECODE(LENGTH(d.cpf_cgc), 11, d.cpf_cgc, ‘0’), 11, ‘0’) ,
      a.aliq_tributo_iss,
      9999,
      d.razao_social,
      d.endereco,
      NVL(REPLACE(ltrim(rtrim(d.num_endereco)), ‘.’, ”), ‘0’),
      d.compl_endereco,
      d.bairro,
      d.cidade,
      f.cod_estado,
      d.cep,
      decode(f.cod_estado, ‘EX’, ‘9999’, a.cod_municipio),
      c.cod_modelo,
      i.cod_docto,
      d.cod_fis_jur,
      g.ident_servico;

      O pior de tudo é que qdo executo o select em outra janela, ele me lista os dados desejados.

      #91849
      fsitja
      Participante

        Se o cursor está listando os dados e a sua procedure que gera o arquivo não faz updates/inserts/deletes, então o problema provavelmente está no algoritmo que chama o UTL_FILE.

        #91850
        Doug
        Participante

          Boa tarde.

          Entao, conseguiresolver.Era um select que estava descartando a linha caso o valor do tributo fosse 0.

          Obrigado…

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.