ordKey()

ORDKEY()

Return the key expression of an Order

Syntax

      ORDKEY(<cOrderName> | <nOrder> [, <cOrderBagName>]) --> cExpKey

Arguments

<xOrder> It the name of the target order, or the numeric position of the order.

<cOrderBagName> Name of the order bag.

Returns

<cExpKey> Returns a character string, cExpKey.

Examples

      USE tests NEW VIA "DBFCDX"
      INDEX ON tests->fName ;
         TO tests           ;
         FOR tests->fName > "CK"
      INDEX ON tests->Id TO TestId

      ORDKEY( "tests" )      // Returns: tests->fName
      SET ORDER TO 2
      ORDKEY()               // Returns: tests->Id

Compliance

This function is CA-Cl*pper compliant with one exception: If the <xOrder> paramter is not specified or <xOrder> is 0, the current active order is used.

Platforms

All

Files

Library is rdd

Seealso

ORDFOR(), ORDNAME(), ORDNUMBER(), ORDKEY()

ordFor()

ORDFOR()

Return the FOR expression of an Order

Syntax

      ORDFOR(<xOrder>[, <cOrderBagName>]) --> cForExp

Arguments

<xOrder> It the name of the target order, or the numeric position of the order.

<cOrderBagName> Name of the order bag.

Returns

ORDFOR() returns a expression containing the FOR condition for an order.

Description

This function returns a character string that is the expression for the FOR condition for the specified order. The order may be specified if <xOrder> is the name of the order.However, <xOrder> may be an numeric which represent the position in the order list of the desired Order.

Examples

      USE tests NEW VIA "DBFCDX"
      INDEX ON tests->ID ;
         TO tests          ;
         FOR tests->ID > 100

      ORDFOR( "tests" )      // Returns: tests->ID > 100

Tests

      See examples

Compliance

This function is CA-Cl*pper compliant with one exception: If the <xOrder> parameter is not specified or <xOrder> is 0, the current active order is used.

Platforms

All

Files

Library is rdd

Seealso

ORDKEY(), ORDCREATE(), ORDNAME(), ORDNUMBER()

ordDestroy()

ORDDESTROY()

Remove an Order from an Order Bag

Syntax

      ORDDESTROY(<cOrderName> [, <cOrderBagName> ])

Arguments

<cOrderName> Name of the order to remove

<cOrderBagName> Name of the order bag from which order id to be removed

Description

This function attempts to remove the order named <cOrderName> from the file containing the order bag name <cOrderBagName>. If <cOrderBagName> is not specified, then the name of the file will be based on the value of the ORDNAME() function. If the extension is not included with the name of the order file, then the extension will be obtained from the default extension of the current and active RDD.

The DBFNTX driver do not support multiple order bags; therefore, there cannot be an order to “destroy” from a bag. This function only works for those drivers with support multiple orders bags (e.q. DBFCDX and RDDADS drivers).

Examples

      USE tests VIA "DBFCDX" NEW
      OrdDestroy( "lName", "tests" )

Tests

      See examples

Compliance

Clipper

Platforms

All

Files

Library is rdd

Seealso

ORDCREATE()

ordCreate()

ORDCREATE()

Create an Order in an Order Bag

Syntax

      ORDCREATE(<cOrderBagName>,[<cOrderName>], <cExpKey>,
      [<bExpKey>], [<lUnique>])

Arguments

<cOrderBagName> Name of the file that contains one or more Orders.

<cOrderName> Name of the order to be created.

<cExpKey> Key value for order for each record in the current work area

<bExpKey> Code block that evaluates to a key for the order for each record in the work area.

<lUnique> Toggle the unique status of the index.

Description

This function creates an order for the current work area. It is similar to the DBCREATEINDEX() except that this function allows different orders based on the RDD in effect. The name of the file <cOrderBagName> or the name of the order <cOrderName> are technically both considered to be “optional” except that at least one of two must exist in order to create the order.

The parameter <cExpKey> is the index key expression; typically in a .dbf driver, the maximum length of the key is 255 characters.

If <bExpKey> is not specified, then the code block is create by macro expanding the value of <cExpKey>.

If <lUnique> is not specified, then the current internal setting of SET UNIQUE ON or OFF will be observed.

The active RDD driver determines the capacity in the order for a specific order bag.

If the name <cOrderBagName> is found in the order bag can contain a single order, the the name <cOrderBagName> is erased and a new order is added to the order list in the current or specified work area.On the other hand, if it can contain multiples tags and if <cOrderBagName> does not already exist in the order list, then it is added. It is does exist, then the <cOrderBagName> replaces the former name in the order list in the current or specified work area.

Examples

      USE tests VIA "DBFNDX" NEW
      ORDCREATE( "FNAME",, "Tests->fName" )

      USE tests VIA "DBFCDX" NEW
      ORDCREATE( , "lName", "tests->lName" )

Tests

      See examples

Compliance

Clipper

Platforms

All

Files

Library is rdd

Seealso

DBCREATEINDEX(), ORDNAME(), ORDSETFOCUS()

ordCondSet()

ORDCONDSET()

Set the Condition and scope for an order

Syntax

      ORDCONSET([<cForCondition>],
        [<bForCondition>],
        [<lAll>],
        [<bWhileCondition>],
        [<bEval>],
        [<nInterval>],
        [<nStart>],
        [<nNext>],
        [<nRecord>],
        [<lRest>],
        [<lDescend>],
        [<lAdditive>],
        [<lCurrent>],
        [<lCustom>],
        [<lNoOptimize>])

Arguments

<cForCondition> is a string that specifies the FOR condition for the order.

<bForCondition> is a code block that defines a FOR condition that each record within the scope must meet in order to be processed. If a record does not meet the specified condition, it is ignored and the next record is processed.Duplicate keys values are not added to the index file when a FOR condition is Used.

Compliance

Clipper

Files

Library is rdd

ordBagName()

ORDBAGNAME()

Returns the Order Bag Name.

Syntax

      ORDBAGNAME(<nOrder> | <cOrderName>) --> cOrderBagName

Arguments

<nOrder> A numeric value representing the Order bag number.

<cOrderName> The character name of the Order Bag.

Returns

ORDBAGNAME() returns the Order bag name

Description

This function returns the name of the order bag for the specified work area. If <nOrder> is specidied, it will represent the position in the order list of the target order. If <cOrderName> is specified, it will represent the name of the target order. In essence, it will tell the name of the database (if That Rdd is in use) for a given index name or index order number. If <cOrderName> is not specified or <nOrder> is 0, the Current active order will be used.

Examples

      USE tests VIA "DBFCDX" NEW
      SET INDEX TO tests
      ORDBAGNAME( "TeName" )        // Returns: Customer
      ORDBAGNAME( "TeLast" )        // Returns: Customer
      ORDBAGNAME( "teZip" )         // Returns: Customer
      SET ORDER TO TAG TeName
      ? OrderBagName()              // Returns: Custumer

 

Compliance

Clipper

Platforms

All

Files

Library is rdd

Seealso

INDEXORD(), ORDBAGEXT(), ALIAS()

ordBagExt()

ORDBAGEXT()

Returns the Order Bag extension

Syntax

      ORDBAGEXT() --> cBagExt

Arguments

None

Returns

<cBagExt> The RDD extension name.

Description

This function return th character name of the RDD extension for the order bag. This is determined by the active RDD for the selected work area.

This function replaces the Indexord() function.

Examples

      USE tests NEW VIA "DBFNTX"
      ? ORDBAGEXT()      //  Returns .ntx
      DBCLOSEAREA()
      USE tests NEW VIA "DBFCDX"
      ? ORDBAGEXT()      //  Returns .cdx
      DBCLOSEAREA()

Compliance

Clipper

Platforms

All

Files

Library is rdd

Seealso

INDEXEXT(), ORDBAGNAME()

IndexOrd()

INDEXORD()

Returns the numeric position of the controlling index.

Syntax

      INDEXORD() --> <nPosition>

Arguments

None.

Returns

<nPosition> Ordinal position of a controling index

Description

The INDEXORD() function returns the numeric position of the current controlling index in the selected or designated work area. A returned value of 0 indicated that no active index is controlling the database, which therefore is in the natural order.

Examples

      USE tests NEW INDEX test1
      IF INDEXORD() > 0
         ? "Current order is", INDEXORD()
      ENDIF

Compliance

Clipper

Platforms

All

Files

Library is rdd

Seealso

INDEXKEY()

IndexKey()

INDEXKEY()

Yields the key expression of a specified index file.

Syntax

      INDEXKEY(<nOrder>) --> <cIndexKey>

Arguments

<nOrder> Index order number

Returns

<cIndexKey> The index key

Description

This function returns a character string stored in the header of the index file

The index key is displayed for an index file that is designated by <nOrder>, its position in the USE…INDEX or SET INDEX TO command in the currently selected or designated work area. If there is no corresnponding index key at the specified order position, a NULL byte will be returned.

Examples

      USE tests NEW INDEX test1
      ? INDEXKEY( 1 )

Compliance

Clipper

Platforms

All

Files

Library is rdd

Seealso

INDEXORD()

IndexExt()

INDEXEXT()

Returns the file extension of the index module used in an application

Syntax

      INDEXEXT() --> <cExtension>

Arguments

None.

Returns

<cExtension> Current driver file extension

Description

This function returns a string that tells what indexes are to be used or will be created in the compiled application. The default value is “.ntx”. This is controled by the particular database driver that is linked with the application.

Examples

      IF INDEXEXT() == ".ntx"
         ? "Current driver being used is DBFNTX"
      ENDIF

Compliance

Clipper

Platforms

All

Files

Library is rdd

Seealso

INDEXKEY(), INDEXORD()