separate (Tracker.Activity_Pkg.Ac_Delete)
procedure Delete_Multiple_People is
    -----------------------------------------------------------------------------
    --|
    --|  NAME: DELETE_MULTIPLE_PEOPLE
    --|
    --|  OVERVIEW:
    --|    This procedure is called when an activity is deleted from the
    --|    activity list.  The element list is walked. If it is a multiple person
    --|    element, the person's inititals associated with that activity is
    --|    deleted from that element record's people_initials variant field.
    --|    Since the person's initials are stored as an array, the array cell
    --|    corresponding to the number of the activity in the activity list
    --|    is deleted.  The remaining array cells are moved up one cell space.
    --|    The number of the cell to be deleted is ac_number.
    --|
    --|  EXCEPTIONS HANDLED:
    --|    none
    --|
    --|  HISTORY:
    --|    written by   May Lee   March 1985
    --|
    -----------------------------------------------------------------------------
    End_List : Boolean;
    El_Record : Element_Pointer;

begin
    Start_Walk (El_List);

    loop
        Walk (El_List, El_Record, End_List);
        exit when End_List;
        -- check if multiple element

        if El_Record.More_Than_One_Person then
            if Ac_Number = Max_Num_Activities then
                -- last activity
                El_Record.People_Initials (Ac_Number) := "  ";
            else
                -- delete person's initials from the array and move the rest up one
                El_Record.People_Initials
                   (Ac_Number .. Max_Num_Activities - 1) :=
                   El_Record.People_Initials
                      (Ac_Number + 1 .. Max_Num_Activities);
                -- blank out last person's initials
                El_Record.People_Initials (Max_Num_Activities) := "  ";
            end if;
        end if;
    end loop;
end Delete_Multiple_People;