Previous Page | Next Page

Hash and Hash Iterator Object Language Elements

REMOVEDUP Method



Removes the data that is associated with the specified key's current data item from the hash object.
Applies to: Hash object

Syntax
Arguments
Details
Comparisons
Examples
See Also

Syntax

rc=object.REMOVEDUP(<KEY: keyvalue-1,..., KEY: keyvalue-n>);


Arguments

rc

specifies whether the method succeeded or failed.

A return code of zero indicates success; a nonzero value indicates failure. If you do not supply a return code variable for the method call and the method fails, then an appropriate error message is written to the log.

object

specifies the name of the hash object.

KEY: keyvalue

specifies the key value whose type must match the corresponding key variable that is specified in a DEFINEKEY method call.

The number of "KEY: keyvalue" pairs depends on the number of key variables that you define by using the DEFINEKEY method.

Restriction: If an associated hash iterator is pointing to the keyvalue, then the REMOVEDUP method will not remove the key or data from the hash object. An error message is issued.

Details

The REMOVEDUP method deletes both the key and the data from the hash object.

You can use the REMOVEDUP method in one of two ways to remove the key and data in a hash object. You can specify the key, and then use the REMOVEDUP method. Alternatively, you can use a shortcut and specify the key directly in the REMOVEDUP method call.

Note:   The REMOVEDUP method does not modify the value of data variables. It only removes the value in the hash object.  [cautionend]

Note:   If only one data item is in the key's data item list, the key and data will be removed from the hash object.  [cautionend]


Comparisons

The REMOVEDUP method removes the data that is associated with the specified key's current data item from the hash object. The REMOVE method removes the data that is associated with the specified key from the hash object.


Examples

This example creates a hash object where several keys have multiple data items. The last data item in the key is removed.

data testdup;
   length key data 8;
   input key data;
   datalines;
   1 10
   2 11
   1 15
   3 20
   2 16
   2 9
   3 100
   5 5
   1 5
   4 6
   5 99
;

data _null_;
   length r 8;
   dcl hash h(dataset:'testdup', multidata: 'y', ordered: 'y');
   h.definekey('key');
   h.definedata('key', 'data');
   h.definedone();
   call missing (key, data);

   do key = 1 to 5; 
      rc = h.find();
      if (rc = 0) then do;
         h.has_next(result: r);
         if (r ne 0) then do; 
            h.find_next();
            h.removedup();
         end;
      end;
   end;

   dcl hiter i('h');
   rc = i.first();
   do while (rc = 0);
      put key= data=;
      rc = i.next();
   end;
run;

The following lines are written to the SAS log.

Last Data Item Removed from the Key

key=1 data=10
key=1 data=15
key=2 data=11
key=2 data=16
key=3 data=20
key=4 data=6
key=5 data=5

See Also

Methods:

REMOVE Method

Non-Unique Key and Data Pairs in SAS Language Reference: Concepts

Previous Page | Next Page | Top of Page