DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: B T

⟦e671e7899⟧ TextFile

    Length: 2159 (0x86f)
    Types: TextFile
    Names: »B«

Derivation

└─⟦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⟧ 

TextFile

separate (Tracker.Report_Generator.Milestone_Summary)



procedure Calc_Summs_Totals is
    ----------------------------------------------------------------------
    --|  NAME:  CALC_SUMMS_TOTALS
    --|
    --|  OVERVIEW:
    --|    This procedure calculates the total amount of time left by
    --|    MILESTONE and by person.
    --|
    --|  EXCEPTIONS HANDLED:
    --|    none
    --|
    --|  HISTORY:
    --|    written by   Bonnie Burkhardt   March 1985
    ----------------------------------------------------------------------

    End_List : Boolean := False;
    Ele_Ptr : Element_Pointer;
    Pr_Index : Integer := 0;
    Pr_Ptr : Personnel_Pointer;

begin
    Time_Done := (others => 0.0);
    Ms_Time := 0.0;

    -- find the totals for this milestone
    Pr_Index := 0;
    Start_Walk (Pr_List);

    loop
        Walk (Pr_List, Pr_Ptr, End_List);
        exit when End_List;
        Pr_Index := Pr_Index + 1;

        -- sum the time left to complete for each element that has
        -- this milestone and this person
        Start_Walk (Pr_Ptr.Element_List);

        loop
            Walk (Pr_Ptr.Element_List, Ele_Ptr, End_List);
            exit when End_List;

            if Ele_Ptr.Milestone_Num = Ms_Ptr.Number then
                if Ele_Ptr.More_Than_One_Person then
                    for Ac_Index in 1 .. Num_Of_Activities loop
                        if Ele_Ptr.People_Initials (Ac_Index) =
                           Pr_Ptr.Initials then
                            Time_Done (Pr_Index) :=
                               Time_Done (Pr_Index) +
                                  Ele_Ptr.Hours_Left (Ac_Index);
                        end if;
                    end loop;
                else
                    Time_Done (Pr_Index) := Time_Done (Pr_Index) +
                                               Ele_Ptr.Hours_To_Complete;
                end if;
            end if;

        end loop;

        Tot_Time_Done (Pr_Index) :=
           Tot_Time_Done (Pr_Index) + Time_Done (Pr_Index);
        Ms_Time := Ms_Time + Time_Done (Pr_Index);
    end loop;

    Tot_Ms_Time := Tot_Ms_Time + Ms_Time;
end Calc_Summs_Totals;