|
|
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: 4185 (0x1059)
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 Completion_Date_For_Ms is
----------------------------------------------------------------------
--|
--| NAME: COMPLETION_DATE_FOR_MS
--|
--| OVERVIEW:
--| This report is a matrix showing the finsh date of each person in
--| relation to each defined milestone. The personnel are represented
--| on the x-axis and the milestones on the y-axis. There are four
--| possible values for a date : "...." means the person is not assigned
--| to any elements with that milestone, "99/99/99" means the person did
--| not have enough time to finish his work, "DONE" means the person has
--| completed all work assigned to him on this milestone, otherwise, a
--| calculated completion date will appear. The data in the report
--| includes the date each person will complete a milestone, the latest
--| date each person will finish all work, the latest date each of the
--| milestones will be finished, and the date that the milestone is due.
--| If more than 10 people are assigned to the project, the Completion
--| Date for Milestone report is repeated until all people have been
--| included on a report.
--|
--| EXCEPTIONS HANDLED:
--| others error message printed and execution continues
--|
--| HISTORY:
--| written by Bonnie Burkhardt March 1985
--|
----------------------------------------------------------------------
use Calendar;
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_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 := "COMPLETION DATE FOR MILESTONES";
Date_Done : array (1 .. Num_Of_People) of Date_Type :=
(others => Null_Date);
Tot_Date_Done : array (1 .. Num_Of_People) of Date_Type :=
(others => Null_Date);
Work_Is_Left : array (1 .. Num_Of_People) of Boolean := (others => False);
Work_Is_Left_Tot : array (1 .. Num_Of_People) of Boolean :=
(others => False);
Ms_Work_Left : Boolean := False;
Tot_Work_Left : Boolean := False;
Prev_Date_Done : Date_Type := Null_Date;
Ms_Date_Done : Date_Type := Null_Date;
Ms_Tot_Date_Done : Date_Type := Null_Date;
procedure Calc_Date_Totals is separate;
procedure Init_Date_Headers is separate;
procedure Print_A_Date (A_Date : in Date_Type;
Any_Work_Left : in Boolean := True) is separate;
procedure Print_Ms_Dates is separate;
procedure Print_Tot_Ms_Dates 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 the report, only 10 personnel will fit on a page
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_Date_Headers;
Start_Page (Title, "", Header1, Header2, Header_Lines);
-- print out each milestone's completion dates
Start_Walk (Ms_List);
loop
Walk (Ms_List, Ms_Ptr, End_List);
exit when End_List;
Calc_Date_Totals;
Print_Ms_Dates;
end loop;
Print_Tot_Ms_Dates;
Start_Pr := Start_Pr + Max_Pr_On_Page;
exit when Start_Pr > Num_Of_People;
end loop;
exception
when others =>
Put_Line ("exception raised in LIST BY MILESTONE REPORT");
end Completion_Date_For_Ms;