Perguntas DbStruct

Mais
7 anos 5 meses 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?
// 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.

Mais
7 anos 5 meses atrás #31367 por lalberto
Respondido por lalberto no tópico DbStruct
// 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]})

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.

Mais
7 anos 5 meses 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.100 segundos
Joomla templates by a4joomla