separate (Tracker.Personnel_Pkg)
procedure Pr_Save is
    ------------------------------------------------------------------------------
    --|
    --|  NAME:  PR_SAVE
    --|
    --|  OVERVIEW:
    --|    This procedure saves a record to file by calling the PR_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;
    Pr_Record : Personnel_Pointer;

    procedure Pr_Write is separate;

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

    loop
        Walk (Pr_List, Pr_Record, End_List);
        exit when End_List;
        Pr_Write;
    end loop;
end Pr_Save;