procedure
Change_Address
(SSN
: in SSN_Type;
Home : in Address_Type) is
procedure Set_Home (E : in out
Employee_Type) is
begin
E.Home := Home; --benign change
end;
Position : constant Cursor :=
SSN_Keys.Find (Employees, Key => SSN);
--OK
begin
if Has_Element (Position) then
SSN_Keys.Update_Element_Preserving_Key
(Container => Employees,
Position => Position,
Process => Set_Home’Access);
end if;
end Op;