Pular para o conteúdo
Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #107119
    Avatar de Marco BorgesMarco Borges
    Participant

      Prezados.

      Tenho uma rotina que faz um insert a partir de um select.Via linux na crown de agendamento.

      Lá pelas tantas o meu problema é este:

      Via PL SQL
      ,substr(substr(dv.div_bem,instr(dv.div_bem,’|Convênio: ‘,1,1)+11,99),1,
      instr(substr(dv.div_bem,instr(dv.div_bem,’|Convênio: ‘,1,1)+11,99),’|’,1,1)-1)
      as CONVENIO

      Linha: PRODUTO FB:FLEX BALAROTI MASTER DOMESTICO|TIPO:005547224804104003|CORE:VP|

      Resultado:
      FEDERAL
      MARINHA
      PREF ITAGUAI
      MARINHA

      Agora via Shell do Linux na mesma coluna:
      Resultado:
      nciado: 7477,99

      Alguém tem uma ideia do que pode estar acontecendo ?

      #107167
      Avatar de caadecarvalhocaadecarvalho
      Participant

        Marco Borges,

        Você poderia colar os dois códigos e o erro que está aparecendo, pois não entendi o problema.

        Abraços.

        #107206
        Avatar de Marco BorgesMarco Borges
        Participant

          Claro meu caro.

          abaixo eu tenho uma consulta/insert que via pl sql developer nao dá galho a inclusão dos dados:
          insert into BNS_BOLETOS
          select distinct
          bl.bol_datainclusao as DT_INC
          ,de.dev_cpf as CPF
          ,dv.div_nrocontrato as CONTRATO
          ,bl.bol_usu_codalteracao as USU_COD
          ,bl.bol_nossonumero as NOSSO_N
          ,trunc(bl.bol_datavcto) as VENCTO
          ,bl.bol_valor as VALOR
          ,bl.bol_uni_cod as FILIAL
          ,ROUND((trunc(sysdate)-1)-pa.par_datavcto) as ATRASO
          ,substr(substr(dv.div_bem,instr(dv.div_bem,’|Convênio: ‘,1,1)+11,99),1,
          instr(substr(dv.div_bem,instr(dv.div_bem,’|Convênio: ‘,1,1)+11,99),’|’,1,1)-1)
          as CONVENIO
          ,substr(bl.bol_parc_plano,1,instr(bl.bol_parc_plano,’/’,1,1)-1) as PARCELA
          ,substr(bl.bol_parc_plano,instr(bl.bol_parc_plano,’/’,1,1)+1,2) as PLANO
          ,hi.his_tht_cod as COD_OCO
          ,hi.his_pef_cod as PEF_COD
          ,sysdate as MOMENTO
          from boleto bl
          join historico hi on bl.bol_his_cod = hi.his_cod
          and hi.his_pro_cod = ‘BNS’
          and hi.his_datahora >= to_date(to_char(sysdate-1,’dd/mm/yyyy’)||’ 00:00:00′,’dd/mm/yyyy hh24:mi:ss’)
          and hi.his_datahora = to_date(to_char(sysdate-1,’dd/mm/yyyy’)||’ 00:00:00′,’dd/mm/yyyy hh24:mi:ss’)
          and bl.bol_datainclusao < to_date(to_char(sysdate ,'dd/mm/yyyy')||' 00:00:00','dd/mm/yyyy hh24:mi:ss')

          e a coluna convenio me apresenta os dados corretamente:
          FEDERAL
          etc
          etc
          etc

          Porem se eu faço a inclusão via shell do linux

          **script abaixo***
          export ORACLE_BASE=/oracle/app
          export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db
          export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
          export OH=$ORACLE_HOME
          export ORACLE_SID=***
          export PATH

          date

          sqlplus /nolog < SQL> Connected.
          SQL> SQL>
          12 rows created.

          Commit complete.

          Ele apresenta a coluna Convenio assim:
          nciado: 2116,42

          Entende meu caro 🙂

          #107207
          Avatar de caadecarvalhocaadecarvalho
          Participant

            @Marco Borges,

            Não tem lógica o script SQL funcionar via SQL Developer e não funcionar quando executado pelo SO. Analise se os códigos estão idênticos e depois parta para a análise dos dados para poder entender o porque do resultado.

            Abraços.

            #107231
            Avatar de Marco BorgesMarco Borges
            Participant

              Resolvido:

              O que acontece, no Shell do linux ele considera o Convênio (ê) como caracter especial e se perde.

              ou se criaria uma function para tratar ou menos trabalhoso pedi para o desenv fazer a contagem a partir do CONV como é a unica palavra que tem na string com esse inicio nao tem erro.

              Obrigado ao amigo pela ajuda.

              #107232
              Avatar de rmanrman
              Participant

                @Marco Borges

                Creio que se configurar a variável NLS_LANG de forma adequada o problema é resolvido.

              Viewing 6 posts - 1 through 6 (of 6 total)
              • You must be logged in to reply to this topic.
              plugins premium WordPress