|
|
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: 5069 (0x13cd)
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 Percent_Completion (Orig_Or_Cur : in Orig_Or_Cur_Type;
Pct_Done : in Pct_Done_Type) is
----------------------------------------------------------------------
--|
--| NAME: PERCENT_COMPLETION
--|
--| OVERVIEW:
--| This report actually consists of two separate matrix reports. It
--| shows the percentage complete of each activity in relation to each
--| of the subsystems. One report is based on the original size and
--| the other on the current size. The activities are represented on
--| the x-axis and the subsystems on the y-axis. The data printed
--| includes the percent completion of work for each activity by
--| subsystem, the total percent completion on the contract for each
--| activity and for each subsystem, the percent available at start for
--| each subsystem and for each activity, and the percent completion of
--| work for the entire project for each subsystem and activity.
--|
--| EXCEPTIONS HANDLED:
--| others an error message is printed and execution continues
--|
--| HISTORY:
--| written by Bonnie Burkhardt March 1985
--|
----------------------------------------------------------------------
use Ss_List_Pkg;
use Ac_List_Pkg;
Header1 : String (1 .. 132) := (others => ' ');
Header2 : String (1 .. 132) := (others => ' ');
Header_Lines : String (1 .. 132) := (others => ' ');
End_List : Boolean := False;
Ac_Ptr : Activity_Pointer;
Ss_Index : Integer := 0;
Ss_Ptr : Subsystem_Pointer;
Title : String (1 .. 54);
Title_Orig : constant String :=
"ORIGINAL ESTIMATE OF PERCENT COMPLETE WITHIN SUBSYSTEM";
Title_Cur : constant String :=
"CURRENT ESTIMATE OF PERCENT COMPLETE WITHIN SUBSYSTEM ";
procedure Init_Pct_Headers is separate;
begin
Init_Pct_Headers;
if Orig_Or_Cur = Current then
Title := Title_Cur;
else
Title := Title_Orig;
end if;
Start_Page (Title, "", Header1, Header2, Header_Lines);
-- print out each line of the report
Start_Walk (Ss_List);
loop
Walk (Ss_List, Ss_Ptr, End_List);
exit when End_List;
Ss_Index := Ss_Index + 1;
-- print out subsystem
Set_Col (Report_File, 2);
Put (Report_File, Ss_Ptr.Name);
Set_Col (Report_File, 14);
for Ac_Index in 1 .. Num_Of_Activities loop
Put (Report_File,
Pct_Done.By_Ss_And_Ac (Ss_Index, Ac_Index), 3, 2, 0);
Put (Report_File, "% ");
end loop;
-- print out totals for this subsystem
Set_Col (Report_File, 108);
Put (Report_File, Pct_Done.By_Ss (Ss_Index), 3, 2, 0);
Put (Report_File, '%');
Set_Col (Report_File, 117);
Put (Report_File, Pct_Done.Start_By_Ss (Ss_Index), 3, 2, 0);
Put (Report_File, '%');
Set_Col (Report_File, 126);
Put (Report_File, Pct_Done.Entire_By_Ss (Ss_Index), 3, 2, 0);
Put (Report_File, '%');
New_Line (Report_File);
end loop;
-- print out totals on contract by activity
Put (Report_File, Header_Lines);
New_Line (Report_File);
Set_Col (Report_File, 2);
Put (Report_File, "TOTALS ON");
New_Line (Report_File);
Set_Col (Report_File, 2);
Put (Report_File, "CONTRACT:");
Set_Col (Report_File, 14);
for Ac_Index in 1 .. Num_Of_Activities loop
Put (Report_File, Pct_Done.By_Ac (Ac_Index), 3, 2, 0);
Put (Report_File, "% ");
end loop;
-- print out grand totals for this subsystem
Set_Col (Report_File, 108);
Put (Report_File, Pct_Done.Contract, 3, 2, 0);
Put (Report_File, '%');
Set_Col (Report_File, 117);
Put (Report_File, Pct_Done.Start, 3, 2, 0);
Put (Report_File, '%');
Set_Col (Report_File, 126);
Put (Report_File, Pct_Done.Entire, 3, 2, 0);
Put (Report_File, '%');
New_Line (Report_File, 2);
-- print out totals at start by activity
Set_Col (Report_File, 2);
Put (Report_File, "% AVAIL");
New_Line (Report_File);
Set_Col (Report_File, 2);
Put (Report_File, "START:");
Set_Col (Report_File, 14);
Start_Walk (Ac_List);
loop
Walk (Ac_List, Ac_Ptr, End_List);
exit when End_List;
Put (Report_File, Ac_Ptr.Percent_At_Start, 3, 2, 0);
Put (Report_File, "% ");
end loop;
New_Line (Report_File, 2);
-- print out totals on entire project by activity
Set_Col (Report_File, 2);
Put (Report_File, "% ENTIRE");
New_Line (Report_File);
Set_Col (Report_File, 2);
Put (Report_File, "PROJECT:");
Set_Col (Report_File, 14);
for Ac_Index in 1 .. Num_Of_Activities loop
Put (Report_File, Pct_Done.Entire_By_Ac (Ac_Index), 3, 2, 0);
Put (Report_File, "% ");
end loop;
exception
when others =>
Put_Line ("exception raised in PERCENT COMPLETION REPORT");
end Percent_Completion;