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

⟦bb148e873⟧ TextFile

    Length: 4114 (0x1012)
    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.Milestone_Pkg)

procedure Ms_Modify is
    -----------------------------------------------------------------------------
    --|
    --|  NAME:  MS_MODIFY
    --|
    --|  OVERVIEW:
    --|    This procedure allows the user to modify an existing milestone record.
    --|    The user is prompted for an existing milestone record by calling
    --|    the appropriate Prompt_Pkg function.  The generic FIND is used to
    --|    get the record.  The user is then allowed to change the fields by
    --|    choosing a menu selection.  The record fields are modified directly.
    --|    When a milestone number is modified in the milestone record, the
    --|    milestone number must also be changed in every element to
    --|    which it belonged by calling the procedure MODIFY_MILESTONE_KEY.
    --|
    --|  EXCEPTIONS HANDLED:
    --|    none
    --|
    --|  HISTORY:
    --|    written by   May Lee   March 1985
    --|
    -----------------------------------------------------------------------------

    use Calendar;

    Abort_Proc : Boolean;           -- abort getting existing ms
    Exit_Field_Menu : Boolean := False;  -- exit milestone field menu
    Field_Selection : Integer;           -- selection from milestone field menu
    Ms_Record : Milestone_Pointer; -- pointer to milestone data record
    Key : Ms_Num_Type;       -- num of milestone looking for
    Found : Boolean := False;  -- if the record was found in the list

    procedure Modify_Milestone_Key is separate;

begin
    New_Line;
    Put_Line ("What is the number of the milestone you would like to modify?");
    Prompt_Pkg.Existing_Milstone_Number (Abort_Proc, Key);

    -- set pointer to that milstone, returned in ms_record
    Find (Ms_List, Key, Ms_Record, Found);

    if not Abort_Proc then
        while not Exit_Field_Menu loop
            Field_Selection := Vt100.Print_Ms_Menu (Ms_Record);

            case Field_Selection is
                when 1 =>
                    -- get milestone number..change the key
                    Put (" The current milestone number is ");
                    Put (Ms_Record.Number, 2);
                    New_Line;
                    Put_Line (" What would you like to change it to? ");
                    Modify_Milestone_Key;

                when 2 =>
                    -- get milestone completion number
                    Put
                       (" The current milestone completion sequence number is ");
                    Put (Ms_Record.Completion_Number, 2);
                    New_Line;
                    Put_Line (" What would you like to change it to? ");
                    Ms_Record.Completion_Number :=
                       Prompt_Pkg.Milestone_Completion_Number
                          (Default => Ms_Record.Number);

                when 3 =>
                    -- get the due date
                    Put (" The current due date is ");

                    if Ms_Record.Due_Date = Null_Date then
                        Put ("a null date. ");
                    else
                        Put (Ms_Record.Due_Date.Month, 2);
                        Put ('/');
                        Put (Ms_Record.Due_Date.Day, 2);
                        Put ('/');
                        Put (Ms_Record.Due_Date.Year, 4);
                    end if;

                    New_Line;
                    Put_Line (" What would you like to change it to? ");
                    Ms_Record.Due_Date := Prompt_Pkg.Date;
                when 4 =>
                    -- Getting new description
                    Put_Line (" The current description is : ");
                    Put_Line (Ms_Record.Description (1 .. 50));
                    New_Line;
                    Put_Line (" What would you like to change it to? ");
                    Ms_Record.Description := Prompt_Pkg.Ms_Description;
                when 5 =>
                    Exit_Field_Menu := True;
                when others =>
                    Put_Line (" Please enter a number beween 1 and 5.");
            end case;
        end loop;

    end if;
end Ms_Modify;