Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde!
Supondo que tenho 2 arquivos QVDs, onde o nome da Tabela para os dois arquivos seja COMPRAS, porem num destes arquivo tenho um campos chamado "snAprovado" que o valor 1(seja aprovado), porem no segundo arquivo sequer eu tenha este campo "snAprovado".
Tem como no momento do LOAD identificar se o campo em questão existe ou não ? sendo que estou lendo os dois arquivos no mesmo LOAD ?
OBS.: Não gostaria de ler os arquivo em momentos diferente e concatenar as informações.
Hi Osni,
Try this
SET v1 = '';
FOR I = 1 to QvdNoOfRecords('TableQVD.QVD')
LET v1 =v1&QVDFieldName('TableQVD.QVD',I);
NEXT;
If WildMatch(v1,'*snAprovado*') Then
LOAD;
ELSE
EXIT Script;
ENDIF
Amigo,
Logo após ao LOAD do QVD que deseja verificar, poderá testar se o campo existe e gravar o resultado numa variável por exemplo;
LET vEXISTE_snAprovado = IF(FieldValueCount('snAprovado'),-1,0)
Talvez ajude: Carga condicional de campos de um QVD – Clever Anjos
Amigo, conseguiu?
Abraço.
Amigo;
Se possível e for o caso, marque as respostas apropriadas como Útil e/ou Correta para que outros membros possam saber que a sua pergunta foi respondida.
Abraço.
Para este casa já precisaria ter uma carga... e não é o caso.. preciso saber se o campo existe no momento da primeira carga, pois se ele não existir vai dar erro no LOAD, é isso que preciso evitar.
Amigo.
Agora só complementar a solução.
Tab_Temp_Check:
First 1 Load * From <destino>;
LET vEXISTE_snAprovado = IF(FieldValueCount('snAprovado'),-1,0);
Exit Script when vEXISTE_snAprovado = 0;
Drop Table Tab_Temp_Check;
Hi Osni,
Try this
SET v1 = '';
FOR I = 1 to QvdNoOfRecords('TableQVD.QVD')
LET v1 =v1&QVDFieldName('TableQVD.QVD',I);
NEXT;
If WildMatch(v1,'*snAprovado*') Then
LOAD;
ELSE
EXIT Script;
ENDIF