|
|
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: 4633 (0x1219)
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.Report_Generator.All_Elmnt_Status_Rep)
procedure Print_El is
----------------------------------------------------------------------
--| NAME: PRINT_EL
--|
--| OVERVIEW:
--| This report prints out an element to the report file. If the
--| element has more than one person assigned to it, one additional
--| line is printed for each extra person. This line lists only the
--| initials of the person assigned and the percent complete by
--| activity. If the person is not assigned to a particular activity,
--| a '*' is printed in that column.
--|
--| EXCEPTIONS HANDLED:
--| none
--|
--| HISTORY:
--| written by Bonnie Burkhardt March 1985
----------------------------------------------------------------------
All_Pr_Printed : constant array (1 .. Num_Of_Activities) of Boolean :=
(others => True);
Pr_Printing_Done : array (1 .. Num_Of_Activities) of Boolean :=
(others => False);
Next_Person : Integer range 1 .. Num_Of_Activities := 1;
Done : Boolean := True;
begin
Set_Col (Report_File, 2);
Put (Report_File, Ele_Ptr.Milestone_Num, 2);
Set_Col (Report_File, 5);
Put (Report_File, Ele_Ptr.Priority, 2);
Set_Col (Report_File, 8);
Put (Report_File, Ele_Ptr.Subsystem_Name);
Set_Col (Report_File, 20);
Put (Report_File, Ele_Ptr.Description);
Set_Col (Report_File, 56);
Put (Report_File, Ele_Ptr.Desc_Key);
if not Ele_Ptr.More_Than_One_Person then
Set_Col (Report_File, 63);
Put (Report_File, Ele_Ptr.Person_Initials);
Set_Col (Report_File, 67);
for Ac_Index in 1 .. Num_Of_Activities loop
Put (Report_File, Convert
(Ele_Ptr.Activity_Completeness (Ac_Index)));
Put (Report_File, ' ');
end loop;
else
-- print out the first person assigned
Set_Col (Report_File, 63);
Put (Report_File, Ele_Ptr.People_Initials (1));
Set_Col (Report_File, 67);
for Ac_Index in 1 .. Num_Of_Activities loop
if Ele_Ptr.People_Initials (Ac_Index) =
Ele_Ptr.People_Initials (1) then
Put (Report_File,
Convert (Ele_Ptr.Activity_Completeness (Ac_Index)));
Put (Report_File, ' ');
Pr_Printing_Done (Ac_Index) := True;
else
Put (Report_File, "* ");
end if;
end loop;
end if;
Set_Col (Report_File, 91);
Put (Report_File, Ele_Ptr.Original_Size, 6);
Set_Col (Report_File, 100);
Put (Report_File, Ele_Ptr.Current_Size, 6);
Set_Col (Report_File, 109);
Put (Report_File, Ele_Ptr.Current_Size - Ele_Ptr.Size_Done_At_Start, 6);
Set_Col (Report_File, 117);
Put (Report_File, Ele_Ptr.Date_Size_Verified.Month, 2);
Put (Report_File, '/');
Put (Report_File, Ele_Ptr.Date_Size_Verified.Day, 2);
Put (Report_File, '/');
Put (Report_File, Ele_Ptr.Date_Size_Verified.Year mod 100, 2);
Set_Col (Report_File, 127);
Put (Report_File, Ele_Ptr.Complexity, 2, 3, 0);
New_Line (Report_File);
-- print out additional lines if the element is assigned to more than
-- one person
if Ele_Ptr.More_Than_One_Person then
loop
Done := True;
for Ac_Index in 1 .. Num_Of_Activities loop
Done := Done and Pr_Printing_Done (Ac_Index);
end loop;
exit when Done;
-- find the next person to be printed
Next_Person := 1;
while Pr_Printing_Done (Next_Person) loop
Next_Person := Next_Person + 1;
end loop;
Set_Col (Report_File, 63);
Put (Report_File, Ele_Ptr.People_Initials (Next_Person));
-- print out the activity percent complete for this person
Set_Col (Report_File, 67);
for Ac_Index in 1 .. Num_Of_Activities loop
if Ele_Ptr.People_Initials (Ac_Index) =
Ele_Ptr.People_Initials (Next_Person) then
Put (Report_File,
Convert (Ele_Ptr.Activity_Completeness (Ac_Index)));
Put (Report_File, ' ');
Pr_Printing_Done (Ac_Index) := True;
else
Put (Report_File, "* ");
end if;
end loop;
Line_Count := Line_Count + 1;
New_Line (Report_File);
end loop;
end if;
Pr_Printing_Done := (others => False);
end Print_El;