separate (Tracker.Personnel_Pkg.Pr_Set_Up)
procedure Pr_Read is
    ----------------------------------------------------------------------------
    --|
    --|  NAME:  PR_READ
    --|
    --|  OVERVIEW:
    --|    This procedure reads a record from the file.  One line of data is
    --|    read at a time and broken down into the fields of the
    --|    personnel record, which is made visible to the calling routine
    --|    PR_SET_UP.  The data is read in the format specified by the PR_WRITE
    --|    procedure.
    --|
    --|  EXCEPTIONS HANDLED:
    --|    none
    --|
    --|  HISTORY:
    --|    written by   May Lee   March 1985
    --|
    --|  NOTES:
    --|    Any exceptions raised here are handled by PR_SET_UP.
    ----------------------------------------------------------------------------
begin
    Get (Tracker_File, Pr_Record.Name);    -- string
    Get (Tracker_File, Pr_Record.Initials);
    Get (Tracker_File, Pr_Record.Production_Rate, 7);    -- real
    Get (Tracker_File, Pr_Record.Hours_Per_Week, Width => 2); -- integer

    for I in Dates_List'First .. Dates_List'Last loop
        -- get the sets of start/stop dates
        Get (Tracker_File, Pr_Record.Start_Dates (I).Month, Width => 2);
        Get (Tracker_File, Pr_Record.Start_Dates (I).Day, Width => 2);
        Get (Tracker_File, Pr_Record.Start_Dates (I).Year, Width => 4);
        Get (Tracker_File, Pr_Record.Stop_Dates (I).Month, Width => 2);
        Get (Tracker_File, Pr_Record.Stop_Dates (I).Day, Width => 2);
        Get (Tracker_File, Pr_Record.Stop_Dates (I).Year, Width => 4);
    end loop;

    Skip_Line (Tracker_File);
end Pr_Read;

