Usage Note 19207: MODIFY with REPLACE does not rewrite value of hash variable
MODIFY with REPLACE does rewrite the observation, but not with the value
of the changed hash variable. With put _all_ you can see that the
variable has been changed and the SAS log indicates "There were 1
observations rewritten", but the data set does not contain the changed
value.
The MODIFY statement only updates variables that will be modified in a
DATA step.  The MODIFY statement wasn't changed to recognize that
component methods such as the hash object could change variables.
A workaround is to place a dummy assignment somewhere in the DATA step:
  if 0 then CALL MISSING(data);
  -or-
  if 0 then data = data;
Note that you will need an explicit length declaration since it is a
character variable.
Operating System and Release Information
| SAS System | Base SAS | Microsoft Windows NT Workstation | 9.1 TS1M3 SP4 |  | 
| Microsoft Windows 2000 Professional | 9.1 TS1M3 SP4 |  | 
| z/OS | 9.1 TS1M3 SP4 |  | 
*
        For software releases that are not yet generally available, the Fixed
        Release is the software release in which the problem is planned to be
        fixed.
       
| Type: | Usage Note | 
| Priority: |  | 
| Topic: | SAS Reference  ==>  DATA Step
  | 
| Date Modified: | 2006-12-19 16:38:52 | 
| Date Created: | 2006-12-19 16:38:52 |