INIT: /* Open the data set for updating. */ dsid=open('company.customer','u'); call set(dsid); call notify('newname','_gray_'); return; NAME: /* Search for the observation with the */ /* name entered by the user. */ sysrc=where(dsid,'NAME='|| quote(name)); /* Read the observation into the */ /* SCL data vector. */ sysrc=fetch(dsid); /* If an observation matches the WHERE clause, */ /* then allow the user to rename the customer. */ if (sysrc ne %sysrc(_sweof)) and (sysrc <= 0) then call notify('newname','_ungray_'); /* Otherwise, do not allow the user to rename */ /* the customer, and display a message. */ else do; custnum = ' '; state = ' '; zipcode = ' '; city = ' '; phone = ' '; ord1dte = .; call notify('newname','_gray_'); _msg_='No customer found with that name.'; end; return; NEWNAME: /* Keep the old name in case the update fails. */ oldname = name; /* Attempt to update the record for this customer. */ name=newname; sysrc = update(dsid); /* If the update was not successful, then print an */ /* error message and reset the value of name. */ if sysrc then do; _msg_='The customer could not be updated at this time.'; name = oldname; end; /* After the attempt to rename the customer, clear */ /* the current new name value. */ newname = ' '; return; TERM: /* Close the data set. */ sysrc=close(dsid); return;