|
|
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: 3623 (0xe27)
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 Milestone_Summary is
----------------------------------------------------------------------
--| NAME: MILESTONE_SUMMARY
--|
--| OVERVIEW:
--| This report is a two dimensional matrix that presents a summary
--| of the remaining man-hours of work for each person on the project
--| in relation to each milestone. The personnel are on the x-axis
--| and the milestones are on the y-axis. Calculations for man-hours
--| are based upon current work units. The data printed includes
--| remaining man-hours of work for each person by milestone, total
--| remaining work in man-hours for each person, total remaining
--| work in man-hours for each milestone, total remaining work for
--| the entire project (sum of milestone totals), the percent complete
--| for each milestone, and the percent complete for the entire project.
--| If more than 10 people are assigned to the project, the Milestone
--| Summary Report is repeated listin 10 people at a time until all
--| people have been included on the report.
--|
--| 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 Ms_List_Pkg;
use Pr_List_Pkg;
Header1 : String (1 .. 132) := (others => ' ');
Header2 : String (1 .. 132) := (others => ' ');
Header_Lines : String (1 .. 132) := (others => ' ');
End_List : Boolean := False;
Max_Pr_On_Page : constant Integer := 10;
Ms_Index : Integer := 0;
Ms_Ptr : Milestone_Pointer;
Pr_Initials : array (1 .. Num_Of_People) of Pr_Init_Type :=
(others => " ");
Pr_Index : Integer := 0;
Pr_Ptr : Personnel_Pointer;
Start_Pr : Integer := 1;
Stop_Pr : Integer := Num_Of_People;
Title : constant String := "MILESTONE SUMMARY REPORT";
Time_Done : array (1 .. Num_Of_People) of Float := (others => 0.0);
Tot_Time_Done : array (1 .. Num_Of_People) of Float := (others => 0.0);
Ms_Time : Float := 0.0;
Tot_Ms_Time : Float := 0.0;
procedure Calc_Summs_Totals is separate;
procedure Init_Summs_Headers is separate;
procedure Print_Summs is separate;
procedure Print_Summs_Totals is separate;
begin
-- initialize the initials array
Start_Walk (Pr_List);
Pr_Index := 0;
loop
Walk (Pr_List, Pr_Ptr, End_List);
exit when End_List;
Pr_Index := Pr_Index + 1;
Pr_Initials (Pr_Index) := Pr_Ptr.Initials;
end loop;
-- print out each page of the report, only 10 personnel will fit on a page
while Start_Pr <= Num_Of_People loop
if Stop_Pr - Start_Pr >= Max_Pr_On_Page then
Stop_Pr := Start_Pr + Max_Pr_On_Page - 1;
else
Stop_Pr := Num_Of_People;
end if;
Init_Summs_Headers;
Start_Page (Title, "", Header1, Header2, Header_Lines);
-- print out each milestone's summary
Start_Walk (Ms_List);
loop
Walk (Ms_List, Ms_Ptr, End_List);
exit when End_List;
Ms_Index := Ms_Index + 1;
Calc_Summs_Totals;
Print_Summs;
end loop;
Print_Summs_Totals;
Start_Pr := Start_Pr + Max_Pr_On_Page;
end loop;
exception
when others =>
Put_Line ("exception raised in MILESTONE SUMMARY REPORT");
end Milestone_Summary;