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

⟦144f62494⟧ TextFile

    Length: 3737 (0xe99)
    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.Activity_Pkg)
--Due to a system error, the comment that was here has been lost


procedure Ac_Add is
    ------------------------------------------------------------------------------
    --|
    --|  NAME:  AC_ADD
    --|
    --|  OVERVIEW:
    --|    This procedure sets up the record to be added to the list by
    --|    user prompt/response.  The prompts are called from the Prompt_pkg,
    --|    which returns a valid response.  The complete record is then added
    --|    to the linked list by calling the generic List_pkg procedure ADD.
    --|
    --|  EXCEPTIONS HANDLED:
    --|    none
    --|
    --|  HISTORY:
    --|    written by   May Lee   March 1985
    --|
    --|  NOTES:
    --|    A check is made to insure that the maximum number of activities
    --|    is not exceeded.
    --|
    --|    The number of activities is incremented in this procedure.
    ------------------------------------------------------------------------------
    A_Char : Character := ' ';
    Ac_Record : Activity_Pointer;
    El_Record : Element_Pointer;
    End_List : Boolean := False;
    Ss_Record : Subsystem_Pointer;

begin
    New_Line;
    -- check if num of activities is > max num of activities

    if Num_Of_Activities > Max_Num_Activities then
        Put_Line (" You are not allowed to add another activity because ");
        Put (" you already have ");
        Put (Max_Num_Activities, 1);
        Put (" activities, ");
        New_Line;
        Put_Line (" which is the most you are allowed to have. ");

    else
        -- create a pointer to an activity record
        Ac_Record := new Activity_Type;

        Put_Line (" If you would like more information on the type of data ");
        Put_Line (" to enter for any of the following questions, enter '?'. ");
        Put_Line (" Otherwise, enter the data requested.      ");
        New_Line (2);

        -- get the record fields
        Ac_Record.Name := Prompt_Pkg.New_Activ_Name;
        Put_Line (" What is this activity's percent of the project? ");
        Ac_Record.Percent_Tot_Proj := Prompt_Pkg.Percent;
        Ac_Record.Priority := Prompt_Pkg.Activ_Priority;
        Ac_Record.Consider_In_Calc := Prompt_Pkg.Consider_Ac_In_Calc;
        Put_Line (" What percentage is available at start? ");
        Ac_Record.Percent_At_Start := Prompt_Pkg.Percent;

        -- add the record to the linked list by calling the generic add
        Add (Ac_List, Ac_Record.Name (1 .. Act_Name_Max_Len), Ac_Record);

        -- increment number of activities
        Num_Of_Activities := Num_Of_Activities + 1;

        -- walk ss list and prompt for extra task number
        Start_Walk (Ss_List);

        loop
            Walk (Ss_List, Ss_Record, End_List);
            exit when End_List;
            Ss_Record.Task_Numbers (Num_Of_Activities) :=
               Prompt_Pkg.Task_Number_By_Ac (Ss_Record);
        end loop;

        New_Line (2);

        -- Walk the element list and check each element.
        -- If multiple people on an element, default the person's initials
        -- for the new activity to be the person working on the previous ac
        Start_Walk (El_List);

        loop
            Walk (El_List, El_Record, End_List);
            exit when End_List;
            -- check if multiple people

            if El_Record.More_Than_One_Person then
                El_Record.People_Initials (Num_Of_Activities) :=
                   El_Record.People_Initials (Num_Of_Activities - 1);
            end if;
        end loop;

        New_Line;
        Put (" The number of activities = ");
        Put (Num_Of_Activities, 1);
        New_Line (2);
        delay 1.0;

    end if;  -- allowed to add another activity
end Ac_Add;