FUNCTION GetNextNumber LPARAMETERS lcInput LOCAL lcSelected, lnOutput, lcOnError lcSelected = SELECT(0) lcOnError = ON('error') IF USED('nummer') USE IN nummer ENDIF ON ERROR DO ExclusiveRetryElseError WITH ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), LINENO( ) IF !FILE('nummer.dbf') IF MESSAGEBOX(lu("Warning Call technical support NOW!") + CHR(13)+CHR(10) + lu("And give the following message: GetNextNumber-Create"), 4+32+0, "TB 2004") = 6 CREATE TABLE 'nummer' (EXISTS L) USE IN nummer ENDIF ENDIF USE nummer IN 0 EXCLUSIVE IF TYPE('nummer.'+ALLTRIM(lcInput)) != 'N' IF MESSAGEBOX(lu("Warning Call technical support NOW!") + CHR(13)+CHR(10) + lu("And give the following message: GetNextNumber-Add") + " " + lcInput, 4+32+0, "TB 2004") = 6 ALTER TABLE 'nummer' ADD COLUMN (lcInput) N(14) ENDIF ENDIF IF RECCOUNT('nummer') = 0 APPEND BLANK IN nummer ENDIF lnOutput = (nummer.&lcInput) + 1 REPLACE (lcInput) WITH lnOutput IN nummer USE IN nummer ON ERROR &lcOnError FLUSH SELECT (lcSelected) RETURN lnOutput PROCEDURE ExclusiveRetryElseError LPARAMETERS mError, MESS, mess1, mprog, mlineno IF INLIST(mError, 108, 109, 1705) && Error in exclusive open WAIT WINDOW "Waiting for another user" TIMEOUT 0.2 ON ERROR DO ExclusiveRetryElseError WITH ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), LINENO( ) RETRY ELSE DO m2kerror WITH mError, MESS, mess1, mprog, mlineno && My generic error handler ENDIF ENDPROC>Mohammed,