separate (Tracker.Personnel_Pkg.Pr_Save)


procedure Pr_Write is
    --|
    --|  NAME:  PR_WRITE
    --|
    --|  OVERVIEW:
    --|    This procedure references the current record pointer.  The record
    --|    is written to one line of the output file in the following format:
    --||
    --||   +--------------------+--+-----+--+-----+----+-----+----+-----+----+
    --||   |      name          |in| rate|hr|start|stop|start|stop|start|stop|
    --||   +--------------------+--+-----+--+-----+----+-----+----+-----+----+
    --||
    --|    See DATA_PKG for the full names of the fields and their types.
    --|    The personnel records are the fourth type of data to be written to
    --|    the output file.
    --|
    --|  EXCEPTIONS HANDLED:
    --|    none
    --|
    --|  HISTORY:
    --|    Written by   May Lee   March 1985
    --|
begin
    Put (Output_File, Pr_Record.Name);    -- string
    Put (Output_File, Pr_Record.Initials);
    Put (Output_File, Pr_Record.Production_Rate, 3, 3, 0);    -- real
    Put (Output_File, Pr_Record.Hours_Per_Week, Width => 2); -- integer

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

    New_Line (Output_File);
end Pr_Write;