Indexacao - funcao Descend()
Moderador: Moderadores
-
Jeff
- Usuário Nível 1

- Mensagens: 5
- Registrado em: 03 Mai 2007 10:40
- Localização: Parana - Pato Branco
Indexacao - funcao Descend()
Tenho um arquivo indexado da seguinte maneira;
INDEX ON CODCLI+DESCEND(DTOS(DTSAIDA)) TO INDCNF
tentei usar a lib DBFCDX por uma questao de compatibilidade com Visual fox pro, so que agora aparece a mensagem quando tento abrir o arquivo:
Error Base 1001 Undefined Function: DESCEND
Com os indices NTX nao tenho esse problema, ou a funcao DESCEND() nao pode ser utilizada com indices IDX.
alguem pode me ajudar ?
CLIPPER 5.2e / RTLINK / BLINKER 5.0
INDEX ON CODCLI+DESCEND(DTOS(DTSAIDA)) TO INDCNF
tentei usar a lib DBFCDX por uma questao de compatibilidade com Visual fox pro, so que agora aparece a mensagem quando tento abrir o arquivo:
Error Base 1001 Undefined Function: DESCEND
Com os indices NTX nao tenho esse problema, ou a funcao DESCEND() nao pode ser utilizada com indices IDX.
alguem pode me ajudar ?
CLIPPER 5.2e / RTLINK / BLINKER 5.0
-
Dércio_Luiz_Zanatta
- Usuário Nível 3

- Mensagens: 153
- Registrado em: 11 Jan 2006 15:37
- Localização: Ibirubá - RS
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Eu acho que se o aplicativo após compilado, deu erro Base 1001 Undefined Function: DESCEND é porque não conhece como função, não adiantaria colocá-la novamente dará um erro. E concordo contigo que o seu retorno é numérico na função em Clipper.
Eu não utilizo o CDX, mas pelo que andei vendo e considerando que o CODCLI é STRING, tenta isto:
INDEX ON CODCLI+STR(DTOS(DTSAIDA),8,0) TAG INDCNF DESCENDING
Vê se resolve e dá um alô...
Um clip-abraço :)Pos
Eu não utilizo o CDX, mas pelo que andei vendo e considerando que o CODCLI é STRING, tenta isto:
INDEX ON CODCLI+STR(DTOS(DTSAIDA),8,0) TAG INDCNF DESCENDING
Vê se resolve e dá um alô...
Um clip-abraço :)Pos
Amigo,
CODCLI é NUMERICO??? se for, vc tem que transformar antes para CARACTERE...
Utilizo INDEX ON STR(CODFRN)+DESCEND(DTOS(DATEMI)) TAG CHAVE e funciona aki sem erro.
Jânio
CODCLI é NUMERICO??? se for, vc tem que transformar antes para CARACTERE...
Utilizo INDEX ON STR(CODFRN)+DESCEND(DTOS(DATEMI)) TAG CHAVE e funciona aki sem erro.
Jânio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Descend() é uma função da biblioteca padrão do Clipper. Ela retorna o mesmo tipo que o argumento, com exceção dos tipos data, em que o tipo devolvido é numérico. Ou seja, com char retorna char, com num retorna num, com logic retorna logic e com date retorna num.Pablo César escreveu:Janio, então para criar CDX, pode ser utilizado o DESCEND() ?
[]'s
Maligno
http://www.buzinello.com/prg
Sim. Utilizo muuuuito a função DESCEND() em índices CDX e nunca deu problema, tanto em sistemas CLIPPER e XHABOUR.Pablo César escreveu:Janio, então para criar CDX, pode ser utilizado o DESCEND() ?
Jânio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Buenas......eu particularmente uso o DESCEND e nunca meu deu esses problema é soh seguir o que o Maligno falou.....e nuam tem mais nd de misterio....e ahhhhh eu nunca usei no incio do PRG o REQUEST DESCEND
Clipper 5.3 + DBFCDX
Abraços
Leonardo Machado
Clipper 5.3 + DBFCDX
Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Eu também nunca tve problemas com o DESCEND() e como menciono nas minhas mensagens, eu sei que é uma função do Clipper mas como não uso CDX, pensei que esta forma de indexação poderia influenciar no gerenciamento desse tipo de índices. Então quer dizer... que toda esta interação que sofreu este tópico, foi por causa de um erro de sintaxe
. E olha que eu comentei: considerando que o CODCLI é STRING hehe as vezes um mal entendido pode levarnos a um debate inócuo....
hehehe é assim que se aprende... :)Pos
hehehe é assim que se aprende... :)Pos
-
Jeff
- Usuário Nível 1

- Mensagens: 5
- Registrado em: 03 Mai 2007 10:40
- Localização: Parana - Pato Branco
desculpem a falha
meu comando para a indexacao do arquivo ficou assim:
INDEX ON CODCLI+DTOS(DTSAIDA) TO INDCNF DESCENDING
optei por essa solucao, pois no meu caso preciso que as informacoes fiquem agrupadas pelo codigo do cliente (independente do arquivo estar na ordem ascendente ou descendente) sendo que o mais importante e que esteja em ordem descendente pela data de saida da NF.
obs: supondo que DTSAIDA=04/05/2007, a funcao descend(dtsaida) retorna o valor 2777583.
:)Pos :)Pos :)Pos
INDEX ON CODCLI+DTOS(DTSAIDA) TO INDCNF DESCENDING
optei por essa solucao, pois no meu caso preciso que as informacoes fiquem agrupadas pelo codigo do cliente (independente do arquivo estar na ordem ascendente ou descendente) sendo que o mais importante e que esteja em ordem descendente pela data de saida da NF.
obs: supondo que DTSAIDA=04/05/2007, a funcao descend(dtsaida) retorna o valor 2777583.
:)Pos :)Pos :)Pos
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Re: desculpem a falha
Pensei que o resultado seria: 20070504, eu estou errado ?Jeff escreveu:supondo que DTSAIDA=04/05/2007, a funcao descend(dtsaida) retorna o valor 2777583
Mas enfim, era a sintaxe então o seu problemas, que bom que você resolveu Jeff.
Um clip-abraço :)Pos
Jeff.
Eu já passei por isso e o motivo (no meu caso) foi o seguinte.
Na rotina de indexação, eu criava a indexação em strings, por ex
indice1="descend(dtos(datavenda))"
indice2="cliente+strzero(recno(),15,0)"
e depois executava o conteúdo das strings (com "&indice1").
Só que, na hora da compilação e linkedição, o "descend" não era considerado como função nem pelo Clipper nem pelo Blinker (porque estava dentro da string) e, na hora de rodar, dava pau.
A saída? No início do programa principal soquei um "a=descend(xptodasilva)" (sem as aspas), aí o Clipper e o Blinker compilavam e likavam o descend() e, na hora de converter o string, sabiam o que fazer.
Eolo
Eu já passei por isso e o motivo (no meu caso) foi o seguinte.
Na rotina de indexação, eu criava a indexação em strings, por ex
indice1="descend(dtos(datavenda))"
indice2="cliente+strzero(recno(),15,0)"
e depois executava o conteúdo das strings (com "&indice1").
Só que, na hora da compilação e linkedição, o "descend" não era considerado como função nem pelo Clipper nem pelo Blinker (porque estava dentro da string) e, na hora de rodar, dava pau.
A saída? No início do programa principal soquei um "a=descend(xptodasilva)" (sem as aspas), aí o Clipper e o Blinker compilavam e likavam o descend() e, na hora de converter o string, sabiam o que fazer.
Eolo

