Cria uma ordem em determinado arquivo de índice.
Sintaxe
ORDCREATE([ cIndice ],[ cOrdem ], cExpChave, [ bExpChave ], [ lUnico ]) –> Nil
Argumento | Obrigat. | Tipo | Descrição |
cIndice | Não * | C | Nome do arquivo de índice a ser criada a ordem. |
cOrdem | Não * | C | Nome da ordem a ser criada. |
cExpChave | Sim | C | Expressão das chaves da ordem a ser criada na forma de string. |
bExpChave | Nã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.
Retorno | Descriçã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 })