Show/Hide Toolbars


NoteThis command is defined in a header file and will be preprocessed by the X# preprocessor to a function call. If you disable the standard header (-nostddefs) files then this command will not be available. If you tell the compiler to use a different standard header file (-stddef ) then this command may also be not available


Restore records marked for deletion in the current work area.


RECALL [<Scope>] [WHILE <lCondition>] [FOR <lCondition>]  [[IN|ALIAS] <workarea>


<Scope>The portion of the current database file to process.  The default is all visible records. Scope is one or more clauses of:
[NEXT <NEXT>]        Optionally specifies the number of records to process starting
               with the first record of the source file.
[RECORD <rec>]        An optional record ID If specified, the processing begins
               with this data record in the source file.
[<rest:REST>]        The option REST specifies whether records are sequentially
               searched only from the current up to the last record.
               If a condition is specified, the option ALL is the default value.
[ALL]                The option ALL specifies that all records from the source file are imported.
               This is the default setting.


WHILE <lCondition>A condition that each visible record within the scope must meet, starting with the current record.  As soon as the while condition fails, the process terminates.  If no <Scope> is specified, having a while condition changes the default scope to the rest of the visible records in the file.


FOR <lCondition>A condition that each visible 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 visible record is processed.  If no <Scope> or WHILE clause is specified, having a for condition changes the default scope to all visible records.


IN|ALIAS <workarea>Specifies the work area for which the operation must be performed


RECALL is the inverse of the DELETE command.  If SetDeleted() is TRUE, RECALL can restore the current record or a specific record if you specify a RECORD scope.


Important! Once you PACK a database file, all marked records are physically removed from the file and cannot be recalled.


Shared mode: For a shared database, this command requires all records that it operates on to be locked.  You can accomplish this using one or more record locks or a file lock, depending on the scope of the command.  


This example shows the results of RECALL:


USE sales NEW
? Deleted()                // Result:  TRUE
? Deleted()                // Result:  FALSE



See Also

DELETE, DbRecall(), Deleted(),, FLock(), PACK, RLock(), SetDeleted() , ZAP