Cria uma ordem em determinado arquivo de índice.

Sintaxe

ORDCREATE([ cIndice ],[ cOrdem ], cExpChave, [ bExpChave ], [ lUnico ]) –> Nil

ArgumentoObrigat.TipoDescrição
cIndiceNão *CNome do arquivo de índice a ser criada a ordem.
cOrdemNão *CNome da ordem a ser criada.

cExpChave

Sim

C

Expressão das chaves da ordem a ser criada na forma de string.

bExpChaveNão

Bloco de Código

Expressão das chaves da ordem a ser criada na forma executável.

lUnico

Não

L

Cria índice como único (o padrão é .F.).

*Obs: Os dois primeiros parâmetros são opcionais, mas pelo menos um deles tem que estar especificado.

RetornoDescrição

NIL

Sem retorno

Descrição

Esta função é utilizada para criar uma nova ordem em determinado arquivo de índice com o nome especificado através do primeiro parâmetro, sendo que, se o mesmo existir, é apenas acrescentada a ordem, mas, caso contrário, é criado o arquivo.

Para tanto, são executados os passos a seguir:

1- Salva fisicamente as alterações ocorridas na tabela corrente;

2- Fecha todos os arquivos de índice abertos;

3- Cria o novo arquivo de índice se não existir;

4- Cria a nova ordem;

5- Seta a nova ordem como a ordem corrente;

6- Posiciona a tabela corrente no primeiro registro do índice.

Com exceção do RDD Ctree, a tabela corrente não precisa estar aberta em modo exclusivo para a criação da ordem, pois na criação de índices no Ctree é alterada a estrutura da tabela, sendo necessário que a tabela esteja aberta em modo exclusivo.

Exemplo

Este exemplo mostra como se pode criar novo arquivo de índice criando a ordem sobre os campos Nome e End e não aceitará duplicação:

USE Cliente VIA “DBFCDX” NEW

ORDCREATE (“testeind2.cdx”,,”Nome+End”,{ || Nome+End },.T.)

 

Este exemplo mostra como se pode criar nova ordem (Tag2) sobre o campo End que aceitará duplicação e no arquivo de índice já existente:

USE Cliente VIA “DBFCDX” NEW

ORDCREATE (“testeind2.cdx”,”Tag2″,”End”,{ || End })

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Necessita de ajuda?