|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 3256 (0xcb8)
Types: TextFile
Names: »B«
└─⟦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⟧
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;