separate (Tracker.Milestone_Pkg)
procedure Ms_Save is
    -----------------------------------------------------------------------------
    --|
    --|  NAME:  MS_SAVE
    --|
    --|  OVERVIEW:
    --|    This procedure saves a record to file by calling the MS_WRITE
    --|    procedure.  The generic procedures START_WALK and WALK are called
    --|    to walk the linked list allowing one record at a time to be written.
    --|
    --|  EXCEPTIONS HANDLED:
    --|    none
    --|
    --|  HISTORY:
    --|    written by   May Lee   March 1985
    --|
    -----------------------------------------------------------------------------
    End_List : Boolean := False;
    Ms_Record : Milestone_Pointer;

    procedure Ms_Write is separate;

begin
    Start_Walk (Ms_List);
    --  walk the list one milestone at a time and write it to the file

    loop
        Walk (Ms_List, Ms_Record, End_List);
        exit when End_List;
        Ms_Write;
    end loop;
end Ms_Save;