× Linguagem de Programação ADVPL

Perguntas Dúvida no uso do DbSetOrder

Mais
11 anos 1 mês atrás #17942 por alexandres
Olá,

Sou novo em ADVPL, e estou com dificuldades.
Estou tentando fazer um ponto de entrada que lê o cadastro de clientes.

Neste ponto tem um While onde eu preciso ler os registros na sequencia do indice 2 (tabela SIX).
Só que mesmo eu usando o DbSetOrder(2), dentro do While a função "lê" os registros na ordem do Indice 1.

Alguém tem alguma idéia do erro que estou fazendo? Segue o código.


Indice 1 = A1_FILIAL+A1_COD+A1_LOJA
Indice 2 = A1_FILIAL+A1_NOME+A1_LOJA


User Function Nome_da_Function()

BbSelectArea("SA1")
DbSetOrder(2)
Do While ! Eof()
/*
Processamento
*/
dbSkip()
Enddo

Return

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17943 por lalberto
Respondido por lalberto no tópico Dúvida no uso do DbSetOrder
Alexandre tudo bem ? passa o nome do ponto de entrada, pois as vezes a tabela de clientes pode estar filtrada e realmente não vai atender, para isso preciso do nome do ponto de entrada, para identificar em que momento esse processo é executado ok.

Sò uma pergunta, não vai ficar meio lento essa rotina lendo o cadastro inteiro de clientes ?

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
11 anos 1 mês atrás #17944 por kanaamlrr
Respondido por kanaamlrr no tópico Dúvida no uso do DbSetOrder
Alexandre, na sua linha anterior do dbSetOrder, você está fazendo um BbSelectArea, e não DbSelectArea

Deve ser por isso o erro.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17967 por Gabi Morrison
Respondido por Gabi Morrison no tópico Dúvida no uso do DbSetOrder
Faltou o DbSeek depois do DbSetOrder.

Veja um exemplo:

dbselectarea("SC2")
dbSetOrder(1)
dbseek(xFilial()+ cOP )

while !eof() .and. cOP == SC2->C2_NUM
/* processamento....
*/
dbselectarea("SC2")
SC2->(dbskip())
enddo

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.111 segundos
Joomla templates by a4joomla