separate (Tracker.Report_Generator.List_By_Person) procedure Print_Pr_Element is ---------------------------------------------------------------------- --| --| NAME: PRINT_PR_ELEMENT --| --| OVERVIEW: --| This procedure prints out an element line. This line includes the --| element data plus the remaining man-hours of work to complete this --| element, the original size, the current size, the complexity, --| the remaining man-hours of work to complete this element, the due --| date and the projected completion date. --| --| EXCEPTIONS HANDLED: --| none --| --| HISTORY: --| written by Bonnie Burkhardt March 1985 --| ---------------------------------------------------------------------- use Ms_List_Pkg; Found : Boolean := False; Ms_Ptr : Milestone_Pointer; begin -- print out element 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, 19); Put (Report_File, Ele_Ptr.Description); Set_Col (Report_File, 55); Put (Report_File, Ele_Ptr.Desc_Key); Set_Col (Report_File, 63); if not Ele_Ptr.More_Than_One_Person then 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 for Ac_Index in 1 .. Num_Of_Activities loop if Ele_Ptr.People_Initials (Ac_Index) = Pr_Ptr.Initials then Put (Report_File, Convert (Ele_Ptr.Activity_Completeness (Ac_Index))); Put (Report_File, ' '); else Put (Report_File, "* "); end if; end loop; end if; Set_Col (Report_File, 83); Put (Report_File, Ele_Ptr.Original_Size, 6); Set_Col (Report_File, 90); Put (Report_File, Ele_Ptr.Current_Size, 6); Set_Col (Report_File, 97); Put (Report_File, Ele_Ptr.Current_Size - Ele_Ptr.Size_Done_At_Start, 6); Set_Col (Report_File, 104); Put (Report_File, Ele_Ptr.Complexity, 1, 1, 0); Set_Col (Report_File, 108); Put (Report_File, Ele_Ptr.Hours_To_Complete, 5, 1, 0); Set_Col (Report_File, 116); if Ele_Ptr.Date_Done = Underflow_Date then Put (Report_File, "99/99/99"); elsif (Ele_Ptr.Hours_To_Complete = 0.0) or (Ele_Ptr.Date_Done = Null_Date) then Put (Report_File, " DONE "); else Put (Report_File, Ele_Ptr.Date_Done.Month, 2); Put (Report_File, '/'); Put (Report_File, Ele_Ptr.Date_Done.Day, 2); Put (Report_File, '/'); Put (Report_File, Ele_Ptr.Date_Done.Year mod 100, 2); end if; Find (Ms_List, Ele_Ptr.Milestone_Num, Ms_Ptr, Found); Set_Col (Report_File, 125); if Ms_Ptr.Due_Date = Null_Date then Put (Report_File, " 0/ 0/ 0"); else Put (Report_File, Ms_Ptr.Due_Date.Month, 2); Put (Report_File, '/'); Put (Report_File, Ms_Ptr.Due_Date.Day, 2); Put (Report_File, '/'); Put (Report_File, Ms_Ptr.Due_Date.Year mod 100, 2); end if; New_Line (Report_File); end Print_Pr_Element;