As featured in: Data Management Solutions Using SAS Hash Table Operations: A Business Intelligence Case Study , and built from this github repository.
Chapter 4 Iterator Locking Snippet.sas
1 /* "Chapter 4 Iterator Locking Snippet.sas" from the SAS Press book
2  Data Management Solutions Using SAS Hash Table Operations:
3  A Business Intelligence Case Study
4 */
5 
6 data _null_ ;
7  dcl hash H (multidata:"Y", ordered:"N") ;
8  H.definekey ("K") ;
9  H.definedata ("D", "K") ;
10  H.definedone () ;
11  do K = 1, 2, 2, 3, 3, 3 ;
12  q + 1 ;
13  D = char ("ABCDEF", q) ;
14  H.add() ;
15  end ;
16  DECLARE HITER IH ;
17  IH = _NEW_ hiter ("H") ;
18  call missing (K, D) ;
19 
20  _K = 2 ; * <--Key-value to delete ;
21  RC = IH.FIRST() ;
22 * RC = IH.NEXT() ;
23 * RC = IH.NEXT() ;
24  put "Item:" +3 K= D= RC= ;
25  RC = H.REMOVE(KEY:_K) ;
26  put "Remove:" +1 RC= ;
27  RC = H.CHECK(KEY:_K) ;
28  put "Check:" +2 RC= ;
29 
30  stop ;
31 run ;