ORDCREATE()
 Crea un orden en un contenedor de órdenes
------------------------------------------------------------------------------
 Sintaxis

     ORDCREATE(<cNombreContenedorOrd>,[<cNombreOrden>],
        <cExpClave>, <bExpClave>, [<lUnico>]) --> NIL

 Argumentos

     <cNombreContenedorOrd> es el nombre de un fichero en disco que
     contiene uno o más órdenes. La vía de acceso o la extensión del nombre
     del fichero es opcional. Si no se incluye la extensión, CA-Clipper
     utiliza la extensión por defecto del RDD actual.

     <cNombreOrden> es el nombre del orden que se va a crear.

     Nota: Aunque <cNombreContenedorOrd> y <cNombreOrden> son
     opcionales, se debe especificar al menos uno de ellos.

     <cExpClave> es una expresión que devuelve el valor clave para
     ordenar  cada registro del área de trabajo actual. <cExpClave> puede
     representar un tipo de datos carácter, fecha, lógico o numérico. El
     controlador de base de datos determina el tamaño máximo de la expresión
     de la clave del índice.

     <bExpClave> es un bloque de código que evalúa el valor de la clave
     que se almacena en el orden para cada registro del área de trabajo
     actual. Si no se especifica, se utiliza el valor de <cExpClave>
     convertido a una macro compilada.

     <lUnico> es un valor opcional de tipo lógico que especifica si se
     va a crear un índice único. Si se omite, se utiliza el valor del
     parámetro global _SET_UNIQUE.

 Devuelve

     ORDCREATE() devuelve siempre NIL.

 Descripción

     ORDCREATE() es una función de gestión de órdenes que crea un orden en
     el área de trabajo actual. Es parecida a DBCREATEINDEX(), pero a
     diferencia de ésta también permite crear órdenes en RDDs que admitan
     contenedores de varios órdenes. Debido a esta característica, es
     preferible utilizar ORDCREATE() en vez de DBCREATEINDEX().

     El RDD activo determina la capacidad de un contenedor de órdenes. Los
     controladores por defecto DBFNTX y DBFNDX sólo admiten contenedores con
     un único orden. Existen otros RDD que admiten contenedores con varios
     órdenes (p. ej., DBFCDX y DBFMDX).

     En RDDs que admitan índices de producción o estructurales (p. ej.,
     DBFCDX, DBPX), al especificar un tag pero no un contenedor de órdenes,
     se crea el tag y se añade al índice. Si no existe ningún índice de
     producción o estructural, se creará uno para añadirle el tag. Al
     utilizar RDDs que admitan contenedores con varios órdenes, se debe
     establecer explícitamente el orden de control deseado utilizando SET
     ORDER (o ORDSETFOCUS()). Si no se especifica un orden de control, los
     datos se procesarán en el orden natural.

     Si <cNombreContenedorOrd> no existe, se crea de acuerdo con los
     criterios del RDD del área de trabajo actual o del área de trabajo
     especificada.

     Si <cNombreContenedorOrd> existe y el RDD determina que los
     contenedores de órdenes sólo admiten un orden, se vacía
     <cNombreContenedorOrd> y se añade el nuevo orden tanto al contenedor de
     órdenes como a la lista de órdenes del área de trabajo actual o del
     área de trabajo especificada.

     Si <cNombreContenedorOrd> existe y el RDD determina que los
     contenedores de órdenes admiten varios órdenes, se crea <cNombreOrden>,
     si todavía no existe; de lo contrario, la nueva versión de
     <cNombreOrden> sustituye a la antigua y se añade a la lista de órdenes
     del área de trabajo actual o del área de trabajo especificada.

 Ejemplos

      El ejemplo siguiente muestra cómo utilizar ORDCREATE() con el
        controlador DBFNDX:

        USE Cliente VIA "DBFNDX" NEW
        ORDCREATE( "ClCuenta",, "Cliente->Cuenta" )


      El ejemplo siguiente muestra cómo utilizar ORDCREATE() con el
        controlador por defecto DBFNTX:

        USE Cliente VIA "DBFNTX" NEW
        ORDCREATE( "ClCuenta", "ClCuenta", "Cliente->Cuenta", ;
              {|| Cliente->Cuenta } )

      El ejemplo siguiente muestra cómo utilizar ORDCREATE() con el
        controlador de FoxPro, DBFCDX:

        USE Cliente VIA "DBFCDX" NEW
        ORDCREATE( "Cliente", "ClCuenta", "Cliente->Cuenta" );
              {|| Cliente->Cuenta })

      En este ejemplo se crea el índice "ClCuenta" y se añade al
        índice de producción (contenedor de órdenes) "Cliente." En el caso
        de que no exista ninguno, se creará un índice de producción :

        USE Cliente VIA "DBFMDX" NEW
        ORDCREATE( , "ClCuenta", "Cliente->Cuenta" )

 To download this example - click here.

See Also: INDEX SET UNIQUE*