Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá pessoal!
Tenho um campo no banco Oracle que é do tipo LONG e salva o texto no formato RTF. Sendo assim, se busco no Qlikview, é complicado para o usuário conseguir ler, pois a formatação está codificada no texto.
Ex.:
{\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue128;}
\viewkind4\uc1\pard\cf1\lang1046\f0\fs20 Liberado valor para pagamento do dia 15/03.
\par }
Nesse exemplo seria visualizado assim:
Liberado valor para pagamento do dia 15/03.
Como tratar esse campo na tabela?
Wesley,
segue um exemplo.....talvez dar uma melhorada ainda.....
![2017-03-13 22_57_55-QlikView x64 - [C__tmp_RTF to TXT.qvw].png](/legacyfs/online/156167_2017-03-13 22_57_55-QlikView x64 - [C__tmp_RTF to TXT.qvw].png)
Wesley,
nativo não tem conversor de RTF para TXT pelo Qlik. Daria para usar alguma ferramenta "command line" para chamar em tempo de carga e converte e ler novamente ou verificar se tem algum padrão no RTF que daria para usar o replace ou algum outro comando....
Teria como colocar uns 5 a 10 registros para ver o formato deles (para ver padrão)?
Bom dia Alessandro!
Pelo que observei, não há padrão...
Segue alguns registros:
| {\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}} {\colortbl ;\red0\green0\blue128;} \viewkind4\uc1\pard\cf1\lang1046\f0\fs20 Liberado valor para pagamento do dia 15/03. \par Valor produ\'e7\'e3o enviada 0 mil. \par Valor previsto para recebimento R$ 0. \par OBS: O valor da primeira quinzena \'e9 pago deduzindo 20% da produ\'e7\'e3o para posterior pagamento na segunda quinzena. \par } |
| {\rtf1\fbidis\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}{\f1\fswiss\fprq2\fcharset0 Arial;}} {\colortbl ;\red0\green0\blue128;} \viewkind4\uc1\pard\ltrpar\cf1\lang1046\f0\fs20 NOTA FISCAL emitida e enviada. \par \cf0\f1 \par \cf1\f0 \par } |
| {\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}} {\colortbl ;\red0\green0\blue128;} \viewkind4\uc1\pard\cf1\lang1046\f0\fs20 A fatura encontra-se em an\'e1lise no site do conv\'eanio co previs\'e3o para libera\'e7\'e3o em 20/01. \par NAO CONSTA PREVISAO PAGTO. \par } |
| {\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}} {\colortbl ;\red0\green0\blue128;} \viewkind4\uc1\pard\cf1\lang1046\f0\fs20 Informando o valor para emiss\'e3o da NF. \par Nao consta previs\'e3o de pagamento ate o momento. \par } |
| {\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}} {\colortbl ;\red0\green0\blue128;} \viewkind4\uc1\pard\cf1\lang1046\f0\fs20 A fatura encontra-se em an\'e1lise no site do conv\'eanio. \par NAO CONSTA PREVISAO PAGTO. \par } |
| {\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}} {\colortbl ;\red0\green0\blue128;} \viewkind4\uc1\pard\cf1\lang1046\f0\fs20 NOTA FISCAL EMITIDA. \par Valor l\'edquido para pagamento, ainda sem data definida \'e9 de R$ 0. \par } |
Wesley,
segue um exemplo.....talvez dar uma melhorada ainda.....
![2017-03-13 22_57_55-QlikView x64 - [C__tmp_RTF to TXT.qvw].png](/legacyfs/online/156167_2017-03-13 22_57_55-QlikView x64 - [C__tmp_RTF to TXT.qvw].png)
Boa tarde Alessandro,
Me desculpe se vou perguntar algo simples... ainda não consegui entender...
Tenho um qvw para gerar os qvd, e um qvw para a aplicação.
- Em qual arquivo faria as alterações?
- Teria que tratar o arquivo ou somente o campo que possui o texto RTF?
Podes tratar tanto na criação como na leitura dele......
Não sei como foi feito a sua extração. Mas vamos imaginar que tenha uma leitura "bruta" da tabela do banco e salve um qvd depois uma leia e faca conversão/adequação/limpeza/regras de negócios e salve outro qvd ja pronto.....eu faria neste ultimo...
Bom dia Alessandro!
Como não há padrão no texto, usei o MID para limpar do início até onde era comum. Como o usuário poderia usar parágrafo e caracteres especiais e caso isso ocorresse, o texto ficaria ilegível, orientei ao usuário para não usar parágrafo e nem caracteres especiais.
Obrigado pela ajuda!