|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 4120 (0x1018)
Types: TextFile
Names: »B«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
separate (Tracker.Element_Pkg.El_Save)
procedure El_Write is
----------------------------------------------------------------------
--|
--| NAME: EL_WRITE
--|
--| OVERVIEW:
--| This procedure is passed in a record pointer. The record is written
--| to one line of the output file in the following format:
--||
--|| +--------------+------+----------+--+--+--+-------+-------+
--|| | description | key | ss_name |pr|ms|pi| bs_ln | sz_st | . . .
--|| +--------------+------+----------+--+--+--+-------+-------+
--||
--|| prev_date date_verif
--|| +-------+---+----------+--+--+----+--+--+----+------+
--|| . . . | cur_sz|com| ac_cmpltn|mo|dy|year|mo|dy|year|mul_pr| . . .
--|| +-------+---+----------+--+--+----+--+--+----+------+
--|| ^
--|| this field varies from 1..num_of_activities
--||
--|| Since the element record is variant, the remaining data depends on
--|| the value of more_than_one_person.
--|| If true : +--+--+--+
--|| |pr|pr|pr|...num_of_activities -- array of initials
--|| +--+--+--+
--||
--|| If false: +--+
--|| |pr| -- only one initial
--|| +--+
--||
--| The element records are the last type of data to be written to the
--| output file. There are no extra spaces between the record fields.
--|
--| EXCEPTIONS HANDLED:
--| none
--|
--| HISTORY:
--| written by May Lee March 1985
--|
--| NOTES:
--| The boolean value more_than_one_person, is read and written to the
--| file as an integer (1=true, 0=false). This is due to the problems
--| with the way Ada reads an enumeration type from a file. The default
--| width cannot be used if additional data follows the boolean value.
--| If the width is used to allow for a trailing blank, then the boolean
--| value can be read, but the following value is incorrect (unless you
--| account for the blank).
--|
----------------------------------------------------------------------
Is_True : constant Character := 'T';
Is_False : constant Character := 'F';
begin
Put (Output_File, El_Record.Description); -- string
Put (Output_File, El_Record.Desc_Key);
Put (Output_File, El_Record.Subsystem_Name);
Put (Output_File, El_Record.Milestone_Num, 2); -- integer
Put (Output_File, El_Record.Priority, 2); -- integer
Put (Output_File, El_Record.Original_Size, 7);
Put (Output_File, El_Record.Size_Done_At_Start, 7);
Put (Output_File, El_Record.Current_Size, 7);
Put (Output_File, El_Record.Complexity, 1, 1, 0);
for I in 1 .. Num_Of_Activities loop
-- convert enumeration type act_phase_char_set to char for write
Char_Ac_Completeness (I) := Convert
(El_Record.Activity_Completeness (I));
Put (Output_File, Char_Ac_Completeness (I));
end loop;
if Update then
-- update prev_date_done to date_done
Put (Output_File, El_Record.Date_Done.Month, 2);
Put (Output_File, El_Record.Date_Done.Day, 2);
Put (Output_File, El_Record.Date_Done.Year, 4);
else
Put (Output_File, El_Record.Prev_Date_Done.Month, 2);
Put (Output_File, El_Record.Prev_Date_Done.Day, 2);
Put (Output_File, El_Record.Prev_Date_Done.Year, 4);
end if;
Put (Output_File, El_Record.Date_Size_Verified.Month, 2);
Put (Output_File, El_Record.Date_Size_Verified.Day, 2);
Put (Output_File, El_Record.Date_Size_Verified.Year, 4);
if El_Record.More_Than_One_Person then
Put (Output_File, Is_True);
for I in 1 .. Num_Of_Activities loop
Put (Output_File, El_Record.People_Initials (I));
end loop;
else
Put (Output_File, Is_False);
Put (Output_File, El_Record.Person_Initials);
end if;
New_Line (Output_File);
end El_Write;