RemoveRecordset (Recordset subroutine)

From m204wiki
Revision as of 23:50, 11 April 2011 by 198.242.244.47 (talk) (Created page with " <span class="pageSubtitle"><section begin=dpl_desc/><section end=dpl_desc/></span> RemoveRecordset subroutine <p> <var>RemoveRecordset</var> is a ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

<section begin=dpl_desc/><section end=dpl_desc/>

RemoveRecordset is a member of the Recordset class.

RemoveRecordset “NOTs” a Recordset object's records with the records in an existing Recordset object: that is, it removes records from the method Recordset object that are in the input Recordset object.

Syntax

%target:RemoveRecordset(recordsetObject)

Syntax Terms

%target A non-null Recordset object variable.
recordsetObject A non-null Recordset object, which must have the same file context as %target.

Usage Notes

  • If the Recordset object argument of RemoveRecordset is null, the request is cancelled.
  • Since RemoveRecordset never adds records to a Recordset, there are no lock strength requirements for the method object or the input object.

Examples

  • In the following example, the result of one Find is used to eliminate records from the result of another Find.

    %threaten is object recordSet in file orders %bigCust is object recordSet in file orders find records to %threaten status = 'ARREARS' end find find records to %bigCust company ='TOXICO' end find %threaten:removeRecordset(%bigCust)

  • RemoveRecordset can be thought of as a NOT operation, AddRecordset as an OR, and AndRecordset as an AND. The missing basic logical operation is an exclusive OR, which is not implemented as a basic method because it is expected to be rarely needed. However, you can achieve such an exclusive OR operation with the provided methods, as in the following example:

    %first is object recordSet in foo %second is object recordSet in foo %both is object recordSet in foo ... %both = %first:copy %both:andRecordset(%second) %first:addRecordset(%second) %first:removeRecordset(%both)

    And %first is now the exclusive OR of the original %first and %second.