Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia Amigos,
Estou com uma falha em meu extrator, abaixo o script que estou utilizando para extrair a tabela SA2 (Fornecedores) do Protheus.
SA2010:
SQL SELECT
*
FROM DB2."SA2010"
WHERE D_E_L_E_T_ <> '*'
STORE SA2010 INTO SA2010.qvd
O problema está na coluna A2_COD, abaixo a comparação entre o Banco de dados e o QVD.
BD | QVD
003433 | 3433
3433 | 3433
004158 | 004158
009900 | 009900
Em alguns momentos ele tira os 0 da esquerda, e em outros momentos não tira.
Alguém saberia informar porque isso acontece?
Obrigado.
Olá, você pode tentar assim:
Crie uma tabela temporária com o nome dos campos e a correta formatação:
Exemplo:
TMP_Formatacao:
LOAD Text(A2_COD) As A2_COD INLINE [
A2_COD
003433
];
Dados:
LOAD * INLINE [
A2_COD, A2_VALOR
003433, 10
3433, 20
004158, 30
009900, 40
];
DROP Table TMP_Formatacao;
Não esqueça de eliminar a tabela temporária ao final do script.
Don´t worry,
Be Qlik.
Tonial.
Porque o qlikview tenta interpretar o valor. No protheus essa coluna é texto, porém o Qlikview identifica que é numérica e remove o zero a esquerda.
Você deve forçar a leitura com a função Text() ou então concatenar um valor qualquer, por exemplo espaço ou algum caractere.
O que me chama a atenção é o fato de ele efetuar este processo somente para alguns registros e não em todos.
Como estou utilizando * e não o nome das colunas, esta solução impactaria nos meus scripts.
exite uma outra forma para o qlik não tentar converter?
Desconheço
Olá, você pode tentar assim:
Crie uma tabela temporária com o nome dos campos e a correta formatação:
Exemplo:
TMP_Formatacao:
LOAD Text(A2_COD) As A2_COD INLINE [
A2_COD
003433
];
Dados:
LOAD * INLINE [
A2_COD, A2_VALOR
003433, 10
3433, 20
004158, 30
009900, 40
];
DROP Table TMP_Formatacao;
Não esqueça de eliminar a tabela temporária ao final do script.
Don´t worry,
Be Qlik.
Tonial.
Bom dia fernando.tonial
Esta solução funcionou perfeitamente. Me ajudou muito.
yuri.nicolett foi bem parecido com sua solução mas essa jogadinha me possibilitou não editar meus scripts.
Obrigado galera.
Interessante, essa eu não sabia!
Ficou melhor mesmo, depois vou fazer alguns testes