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

⟦e6995396a⟧ TextFile

    Length: 3256 (0xcb8)
    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.Subsystem_Pkg)



procedure Ss_Modify is
    ------------------------------------------------------------------------------
    --|
    --|  NAME:  SS_MODIFY
    --|
    --|  OVERVIEW:
    --|    This procedure allows the user to modify an existing record.
    --|    The user is prompted for an existing subsystem 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 subsystem name is modified in the subsystem record, the
    --|    subsystem name must also be changed in every element to
    --|    which it belonged by calling the procedure CHANGE_SS_IN_EL.
    --|
    --|  EXCEPTIONS HANDLED:
    --|    none
    --|
    --|  HISTORY:
    --|    Written by   May Lee   March 1985
    --|
    ------------------------------------------------------------------------------
    Abort_Proc : Boolean;           -- abort getting existing ss
    Exit_Field_Menu : Boolean := False;  -- exit subsystem field menu
    Field_Selection : Integer;           -- selection from subsystem field menu
    Key : Ss_Name_Type;      -- name of subsystem looking for
    New_Name : Ss_Name_Type;      -- new subsystem name
    Ss_Record : Subsystem_Pointer; -- pointer to subsystem record
    Length : Natural;           -- length of subsystem name
    Found : Boolean := False;  -- if the record was found in the list

begin
    New_Line;
    Put_Line ("Which subsystem would you like to modify?");
    Prompt_Pkg.Existing_Subsys_Name (Abort_Proc, Key);

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

    if not Abort_Proc then
        while not Exit_Field_Menu loop
            Field_Selection := Vt100.Print_Ss_Menu (Ss_Record);

            case Field_Selection is
                when 1 =>
                    -- get subsystem name .. change the key
                    Put_Line (" The current subsystem name is ");
                    Put (Ss_Record.Name);
                    New_Line;
                    Put_Line (" What would you like to change it to? ");
                    New_Name := Prompt_Pkg.New_Subsys_Name;

                    -- change the key in the element data, subsystem list, and data
                    Change_Ss_In_El (Ss_Record, New_Name);
                    Change_List_Key (Ss_List, Ss_Record.Name, New_Name);
                    Ss_Record.Name := New_Name;

                when 2 =>
                    -- get new task numbers
                    Ss_Record.Task_Numbers :=
                       Prompt_Pkg.Task_Numbers (Ss_Record);

                when 3 =>
                    Put_Line (" The current percent complete at start is: ");
                    Put (Ss_Record.Percent_At_Start, 3, 2, 0);
                    Put ('%');
                    Ss_Record.Percent_At_Start := Prompt_Pkg.Percent;
                when 4 =>
                    Exit_Field_Menu := True;
                when others =>
                    Put_Line ("Please enter a number beween 1 and 4.");
            end case;
        end loop;
    end if;
end Ss_Modify;