The T.SELECT command displays and optionally changes the currently-selected "virtual media" location. You may type in T.SELECT by itself, or optionally followed by the location (path and file name) you wish to use for the virtual
media. If no location is specified, then the current location (if any) will be displayed, and you will be given the option to accept the current location. If you specify a new location, you will be prompted for the type of the media (either
"D3" or "R83" compatible - note that "other" is currently unsupported). If the specified file does not exist at the specified location, you will be asked to verify your entry.
T.SELECT will also reset the location pointer in the "virtual media" back to position 0 (the beginning of the media) for subsequent use.
The T.READ commands displays the information in the "virtual media" (as specified by T.SELECT).
You may optionally specify the "X" option ("T.READ (X") to display the information in both ASCII and HEX.
You may optionally specify the “F” option (“T.READ (F”) to search the virtual media data for a specified string. The T.READ process will prompt you for the string to search for, and will highlight (in reverse video) the specified text if it is found.
The tape movement commands move the location pointer in the "virtual media" back to position 0 (T.REW), back one or more file blocks (T.BACK), or ahead one or more file blocks (T.FWD). Note that you must have previously selected the "virtual media" location with T.SELECT.
The T.DUMP command has the following syntax:
T.DUMP {DICT} <filename> {<itemlist>} {(<options>}
This will write the selected items to the currently-selected 'virtual' tape media. You may specify an explicit list of item IDs to write, an "*" to indicate all items, or invoke this command with an active select list. You may optionally specify "I" to suppress the display of the item IDs that are being processed, or "B" to indicate that these are BASIC+ routines that should be read from the Repository (note that you still must specify a valid filename for Repository items, but the filename is ignored).
The T.LOAD command has the following syntax:
T.LOAD {DICT} <filename> {(<options>}
This will load in items from the currently-selected 'virtual' tape media file into the specified filename. You may optionally specify "O" to overwrite already-existing items in the file; "I" to suppress the display of item IDs that are being loaded; or "B" to specify that these are BASIC+ routines that should be loaded into the Repository
T.RDLBL
The T.RDLBL command reads and displays the tape label from the "virtual media" specified by T.SELECT.
The ACCOUNT.RESTORE command allows you to restore a single account from an ACCOUNT-SAVE or FILE-SAVE "virtual" tape. ADD.ACCOUNTS allows you to restore all accounts from a FILE-SAVE "virtual" tape. Note that you must already have the virtual tape selected through the T.SELECT command.
The syntax for the ACCOUNT.RESTORE command is:
ACCOUNT.RESTORE <accountname> {(E{12}{O}{L}{S}}
Where <accountname> is the name of the application you wish to create. You will be prompted for the name of the account on the virtual tape. If you specify the E, E1, or E2 options, the ACCOUNT.RESTORE process will load the data into an already-existing application; for correct operation, you must run ACCOUNT.RESTORE from within the desired application. Specifying the “E1” or “E2” option instructs the ACCOUNT.RESTORE process not to load data into any dictionaries (thus preserving any manual changes). Specifying the “E2” option also deletes any items in data files, allowing for a “clean data load” from the virtual tape. Alternatively, or in addition, specifying the “O” option will allow for overwriting of the data (E1 option) or both dictionary and data (E2 option) items. Specifying the “S” option will suppress any post-processing dictionary conversions. Specifying the “L” option will display all account and file names, even those that are not selected for processing.
The syntax for the ADD.ACCOUNTS command is:
ADD.ACCOUNTS
Since legacy multivalue accounts have different naming conventions than OpenInsight, and OpenInsight requires that you specify the physical location for your tables, you must somehow indicate what name and location the legacy account, and what names and locations the legacy files, should "map" to. Therefore, for both the ACCOUNT.RESTORE and ADD.ACCOUNTS, you will be prompted to enter the name of the "translation item" you wish to use.
All accounts that are created through the ACCOUNT.RESTORE and ADD.ACCOUNTS processes must conform to OpenInsight account naming convetions. If the original account name contained characters that are not acceptable in OpenInsight application names, an entry will be created in the item SYSTEM in the SYSENV file. This item contains an “X” in field 1, the original account names multivalued in field 2, and the OpenInsight application names in field 3 (associated with multivalues in field 2).
Translation items reside in the MD file, and are named <itemname>*TRANSLATE. A default translation item (named DEFAULT*TRANSLATE) is included with the CTO; however, you should create your own translation items that has been customized for your environment.
The format of the translation item is as follows:
ID: <itemname>*TRANSLATE
1. X2
2. <INCOMING account names>]
3. <Action to take - 0=skip, 1=load>]
4. <NEW account name to use>]
5. <DEFAULT physical location for files in this account – use “*” to represent app name>]
6. <Application to inherit from (null = SYSPROG)]>
10. <Action to take for accounts NOT in field 2 - 0=skip, 1=load>
11. <characters to prefix>]<characters to replace>]<new characters to use>]<characters to suffix>
12. <DEFAULT physical location for files in accounts NOT in field 2 – use “*” to represent app name>
13. <Application to inherit from (null = SYSPROG)>
20. <INCOMING filename - either ACCOUNT*FILE or just *FILE>]
21. <Action to take - 0=skip, 1=load, 2=load into repository>]
22. <NEW filename to use (or extra repository info)>]
23. <Physical location for this file – use “*” to represent app name, “&” to represent file name>]
24. <Item handling - null=none, 0=uppercase ID, 1=lowercase ID, (xxx)=call routine xxx>]
30. <Other file names - either ACCOUNT* or just *>]
31. <Action to take for files NOT in field 20 - 0=skip, 1=load, 2=load into repository>]
32. <characters to prefix>\<characters to replace>\<new characters to use>\<characters to suffix> (or extra repository info)]
33. <Physical location for files NOT in field 20 – use “*” to represent app name, “&” to represent file name>]
34. <Item handling - null=none, 0=uppercase ID, 1=lowercase ID, (xxx)=call routine xxx>]
40. <File name for log><space><item name for log>
Note: If you only specify the file name for logging in field 40 of the TRASLATE item (rather than both the file name and item id), then a logging item will be created with an item id of <internal date>*<internal time> in the specified logging file.
The SEL.RESTORE command allows you to selectively restore dictionary or data items from an account save or file save "virtual" tape. It has the following syntax:
SEL.RESTORE {DICT} <filename> <itemlist> {(OI}
You must be "logged in" to the account where you wish to restore this data, and you must specify a list of items to restore, or "*" to specify all items in the file. You will be prompted to enter the account and file names from which the data should be retrieved. You may optionally specify the "O" option to overwrite any existing items with the same item ID, and/or the "I" option to suppress the display of the item IDs that are being restored.
The REFORMAT and SREFORMAT commands copy and convert data, either from one file to another, or within a single file. REFORMAT and SREFORMAT work identically; however, SREFORMAT first sorts the data by any “sort criteria” you may specify.
The syntax for the REFORMAT command is:
REFORMAT {DICT}<file>{<selection criteria>}<fieldname>{<fieldname>…}{(I}
The syntax for the SREFORMAT command is:
SREFORMAT {DICT}<file>{<sort criteria>}{<selection criteria>}<fieldname>{<fieldname>…}{(I}
For both REFORMAT and SREFORMAT, <selection criteria> and <sort criteria> are in the same format as you would use in a “regular” Retrieve/English/Access statement; {DICT} is the optional modifier DICT; and <file> is the name of the file you wish to reformat. Each <fieldname> that you specify as “output criteria” becomes a filed in the converted output file. The value generated by the first <fieldname> becomes field #1 in the outputfile; the value generated by the second <fieldname> becomes field #2 in the output file, etc. Note: If you specify the “(I” option, then the item-id is suppressed, and the value generated by the first <fieldname> becomes the new item-id.
You will be prompted to enter the output file. If you press <RETURN> without specifying a file name, then the input file is also used as the output file (note: this is not recommended).
The BUILD_OUT2OI command allows you to generate a “customized” output routine, to assist you in moving applications or data from other multivalue environments into OpenInsight and CTO. It converts the text document OUT2OI.TXT, which contains BASIC+ code for various different multivalue platforms, into platform-specific source code.
Type in BUILD_OUT2OI by itself to display a list of platform choices. Type in BUILD_OUT2OI <platform> (for example, “BUILD_OUT2OI UNIVERSE”), and when prompted specify the output location (path and file name) for the destination file, to create a text document with source code for the specified platform. You may then take this source code to your legacy system and generate a CTO-compatible “virtual tape” of your account.
The IN2OI routine reads and restores the items created by the OUT2OI routine. Note that it operates only on the “flat file” output of OUT2OI; if “account save” format is selected in OUT2OI, then you should use ADD.ACCOUNTS or ACCOUNT.RESTORE to restore those items.
Unlike ADD.ACCOUNTS and ACCOUNT.RESTORE, you must first manually create the application in which you wish to restore these items. Then, while logged in to that application, you may run IN2OI. You will be prompted for the path to the OUT2OI files, and whether existing files should first be cleared before processing. If the existing files are not cleared before processing, you will be prompted whether existing items should be overwritten. Finally, you will be prompted to enter the path where new tables should be created. The IN2OI routine will examine the “control” record created by OUT2 OI, and use this information to process each file generated by OUT2OI.