|
|
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: 3323 (0xcfb)
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)
procedure List_By_Subsystem is
----------------------------------------------------------------------
--| NAME: LIST_BY_SUBSYSTEM
--|
--| OVERVIEW:
--| A separate report is printed for each subsystem. All of the element
--| data for each subsystem is displayed including the remaining man-hours
--| of work to complete each element, the total original size, the total
--| current size, the average complexity, and the total remaining man-hours
--| of work to complete each subsystem.
--|
--| EXCEPTIONS HANDLED:
--| others an error message is printed and execution continues
--|
--| HISTORY:
--| written by Bonnie Burkhardt March 1985
----------------------------------------------------------------------
use Ac_List_Pkg;
use El_List_Pkg;
use Ss_List_Pkg;
Header1 : String (1 .. 132) := (others => ' ');
Header2 : String (1 .. 132) := (others => ' ');
Header_Lines : String (1 .. 132) := (others => ' ');
Ac_Index : Integer := 0;
Ac_Ptr : Activity_Pointer;
End_List : Boolean := False;
Ele_Count : Integer := 0;
Ele_In_Ss : Integer := 0;
Ele_Ptr : Element_Pointer;
Line_Count : Integer := 0;
Ss_Index : Integer := 0;
Ss_Ptr : Subsystem_Pointer;
Title : constant String := "LIST BY SUBSYSTEM REPORT";
Tot_Currnt : Integer range 0 .. 9_999_999 := 0;
Tot_Eq_New : Integer range 0 .. 9_999_999 := 0;
Tot_Orig : Integer range 0 .. 9_999_999 := 0;
Tot_Cpxy : Float := 0.0;
Tot_Hours : Float := 0.0;
procedure Init_Ss_Headers is separate;
procedure Print_Ss_Element is separate;
procedure Print_Ss_Total is separate;
begin
Init_Ss_Headers;
Start_Walk (Ss_List);
loop
Walk (Ss_List, Ss_Ptr, End_List);
exit when End_List;
Line_Count := 0;
-- create the subtitle string
Start_Page (Title, Ss_Ptr.Name, Header1, Header2, Header_Lines);
-- print out each subsystem's list of elements
Start_Walk (Ss_Ptr.Element_List);
Ele_In_Ss := 0;
loop
Walk (Ss_Ptr.Element_List, Ele_Ptr, End_List);
-- if end of list, print out totals
if End_List then
if (Ele_In_Ss > 0) then
Print_Ss_Total;
end if;
exit;
end if;
-- update running totals
Ele_Count := Ele_Count + 1;
Tot_Currnt := Tot_Currnt + Ele_Ptr.Current_Size;
Tot_Eq_New := Tot_Eq_New - Ele_Ptr.Size_Done_At_Start +
Ele_Ptr.Current_Size;
Tot_Orig := Tot_Orig + Ele_Ptr.Original_Size;
Tot_Cpxy := Tot_Cpxy + Ele_Ptr.Complexity;
Tot_Hours := Tot_Hours + Ele_Ptr.Hours_To_Complete;
Print_Ss_Element;
Ele_In_Ss := Ele_In_Ss + 1;
Line_Count := Line_Count + 1;
if Line_Count >= Max_Data_Lines - 2 then
Start_Page (Title, Ss_Ptr.Name, Header1, Header2, Header_Lines);
Line_Count := 0;
end if;
end loop;
end loop;
exception
when others =>
Put_Line ("exception raised in LIST BY SUBSYSTEM REPORT");
end List_By_Subsystem;