Perguntas DbStruct
- alexcarvalhodasilva
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 22
- Obrigados Recebidos: 0
8 anos 3 semanas atrás #31366
por alexcarvalhodasilva
DbStruct foi criado por alexcarvalhodasilva
Caros,
Eu tenho uma tela com Msselect que está funcionando perfeitamente.
Na hora de definir a estrutura dos campo da tabela SCR (item 2 do código) eu não tenho problemas, pois o código está varrendo a tabela inteira, porem na hora de definir a estrutura da tabela SE2(item 3 do código), eu tive que definir o tipo e tamanho do campo manualmente, pois a minha query não possui todos os campos da tabela SE2 e se fizer igual eu fiz para a tabela SCR, fica dando um monte de warning no console falando que não encontrou vários campos.
O problema de fazer dessa forma(item 3) é que quando eu mudei o tamanho de um campo no configurador, tive que alterar o meu código também.
Alguém tem alguma solução para isso? Como definir a estrutura dos meus campos olhando na SX3 sem ter que fazer isso com todos os campos da tabela?
Obrigado,
Alex Carvalho
Eu tenho uma tela com Msselect que está funcionando perfeitamente.
Na hora de definir a estrutura dos campo da tabela SCR (item 2 do código) eu não tenho problemas, pois o código está varrendo a tabela inteira, porem na hora de definir a estrutura da tabela SE2(item 3 do código), eu tive que definir o tipo e tamanho do campo manualmente, pois a minha query não possui todos os campos da tabela SE2 e se fizer igual eu fiz para a tabela SCR, fica dando um monte de warning no console falando que não encontrou vários campos.
O problema de fazer dessa forma(item 3) é que quando eu mudei o tamanho de um campo no configurador, tive que alterar o meu código também.
Alguém tem alguma solução para isso? Como definir a estrutura dos meus campos olhando na SX3 sem ter que fazer isso com todos os campos da tabela?
// 1 - Declara as variáveis
Local aStru := {}
Local aStruSCR := SCR->(DbStruct())
// 2 - Define a estrutura de todos os campos da SCR, que existem na SX3
For nA := 1 to Len(aStruSCR)
aAdd(aStru, aClone(aStruSCR[nA]))
Next
// 3 - Define a estrura de alguns campos da SE2
aAdd(aStru, {"E2_OK", "C", 2, 0})
aAdd(aStru, {"E2_MOEDA", "N", 2, 0})
aAdd(aStru, {"E2_FILIAL", "C", 4, 0})
aAdd(aStru, {"E2_FORNECE", "C", 6, 0})
aAdd(aStru, {"E2_LOJA", "C", 2, 0})
aAdd(aStru, {"E2_PREFIXO", "C", 3, 0})
// 4 - avaliar o bloco de código que lista os nomes dos campos do arquivo
aEval(aStruSCR,{|aCampo|, cQueryCamp += aCampo[1] +','}) //Adiciona os campos que foram definidas as estruturas da SCR.
Obrigado,
Alex Carvalho
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
8 anos 3 semanas atrás #31367
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
// 3 - Define a estrura de alguns campos da SE2
aAdd(aStru, {"E2_OK", "C", 2, 0})
aAdd(aStru, {"E2_MOEDA", "N", 2, 0})
aAdd(aStru, {"E2_FILIAL", "C", 4, 0})
aAdd(aStru, {"E2_FORNECE", "C", TamSX3("E2_FORNECE")[1], TamSX3("E2_FORNECE")[2]})
aAdd(aStru, {"E2_LOJA", "C", TamSX3("E2_LOJA")[1], TamSX3("E2_LOJA")[2]})
aAdd(aStru, {"E2_PREFIXO", "C", TamSX3("E2_PREFIXO")[1], TamSX3("E2_PREFIXO")[2]})
aAdd(aStru, {"E2_OK", "C", 2, 0})
aAdd(aStru, {"E2_MOEDA", "N", 2, 0})
aAdd(aStru, {"E2_FILIAL", "C", 4, 0})
aAdd(aStru, {"E2_FORNECE", "C", TamSX3("E2_FORNECE")[1], TamSX3("E2_FORNECE")[2]})
aAdd(aStru, {"E2_LOJA", "C", TamSX3("E2_LOJA")[1], TamSX3("E2_LOJA")[2]})
aAdd(aStru, {"E2_PREFIXO", "C", TamSX3("E2_PREFIXO")[1], TamSX3("E2_PREFIXO")[2]})
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- alexcarvalhodasilva
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 22
- Obrigados Recebidos: 0
8 anos 2 semanas atrás #31372
por alexcarvalhodasilva
Respondido por alexcarvalhodasilva no tópico DbStruct
Valeu Luiz, muito obrigado.
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.142 segundos