File: SAMPLES\SOLUTION\DB\NEWID.SCX
This sample uses a stored procedure in a database to provide a default primary key value.
To create a default unique ID
The name of this table in the sample is IDS.DBF. It contains two fields: Table C(10), NextID I
.
The name of this function in the sample is NewID
. It is listed below.
FUNCTION NewID(tcAlias) LOCAL lcAlias, lnID, lcOldReprocess, lnOldArea lnOldArea = SELECT() IF PARAMETERS() < 1 lcAlias = UPPER(ALIAS()) ELSE lcAlias = UPPER(tcAlias) ENDIF lcOldReprocess = SET('REPROCESS') * Lock until user presses Esc SET REPROCESS TO AUTOMATIC IF !USED("IDS") USE newid!ids IN 0 ENDIF SELECT ids IF SEEK(lcAlias, "Ids", "table") IF RLOCK() lnID = ids.nextid REPLACE ids.nextid WITH ids.nextid + 1 UNLOCK ENDIF ENDIF SELECT (lnOldArea) SET REPROCESS TO lcOldReprocess RETURN lnID ENDFUNC