Previous | Contents | Index |
ASK #chnl_num: [NAME str_var][, ZONEWIDTH num_var] [, MARGIN num_var] [, CURRENT str_var] |
10 OPEN #3: NAME 'storage.dat', ACCESS OUTPUT 20 ASK #3: ZONEWIDTH x PRINT 'The current print zone width is'; x 30 CLOSE #3 40 END RNH The current print zone width is 20 |
Use ASK #chnl_num to find what various characteristics a device is set to.
ASK returns the characteristic of the device specified and stores the value in a num_var or str_var. chnl_num is an optional channel number. If no channel number is specified, INTOUCH checks the default device. If a channel number is specified, INTOUCH checks the device associated with that channel number.
15.6.1 ASK Options
An option must be included in the ASK #chnl_num
statement. The ask options currently available are described below.
ASK #chnl_num: ZONEWIDTH finds the print zone width of the device specified and assigns the value to the numeric variable num_var.
10 OPEN #3: NAME 'storage.dat', ACCESS OUTPUT 20 ASK #3: ZONEWIDTH x PRINT 'The current print zone width is'; x 30 CLOSE #3 40 END RNH The current print zone width is 20 |
ASK MARGIN finds the right margin of the device specified and assigns its value to the numeric variable num_var.
10 OPEN #3: NAME 'test_file.tmp', ACCESS OUTPUT 20 ASK #3: MARGIN marg PRINT 'The current margin is'; marg 30 CLOSE #3 40 END RNH The current margin is 132 |
ASK #chnl_num: CURRENT is used to store a current record value into the str_var.
10 OPEN #1: NAME 'temp.tmp', ACCESS OUTPUT FOR z = 1 TO 20 PRINT #1: 'This is line number '; z NEXT z CLOSE #1 20 OPEN #1: NAME 'temp.tmp' FOR i = 1 TO 5 LINE INPUT #1: a$ NEXT i ASK #1: CURRENT c$ PRINT '5th item was: '; a$ 30 FOR i = 1 TO 5 LINE INPUT #1: a$ NEXT i PRINT '10th item was: '; a$ 40 SET #1: CURRENT c$ LINE INPUT #1: a$ PRINT 'Back to 5th item again: '; a$ 50 CLOSE #1 60 END RNH 5th item was: This is line number 5 10th item was: This is line number 10 Back to 5th item again: This is line number 5 |
ASK #chnl_num: NAME asks the INTOUCH operating system for the file specification of the file open on channel #chnl_num and stores the value into str_var.
10 out_ch = 12 20 OPEN #out_ch: NAME 'sys$scratch:minutes.lis', & ACCESS OUTPUT 30 ASK #out_ch: NAME x$ 40 PRINT x$ 50 CLOSE #out_ch 60 END RNH USER:[TESTER]MINUTES.LIS |
SET # chnl_num: [ ZONEWIDTH num_expr ] [, MARGIN int_expr] [, CURRENT str_expr] |
10 OPEN #3: NAME 'storage.dat', ACCESS OUTPUT 20 ASK #3: ZONEWIDTH x PRINT 'The current print zone width is'; x SET #3: ZONEWIDTH 35 ASK #3: ZONEWIDTH x PRINT 'The new print zone width is'; x 30 CLOSE #3 40 END RNH The current print zone width is 20 The new print zone width is 35 |
SET #chnl_num sets various device characteristics. chnl_number is a channel number. If no channel number is specified, INTOUCH sets the default device (the terminal). If a channel number is specified, INTOUCH sets the device associated with that channel number.
When a device characteristic is SET, it remains set until the device is closed. Therefore, if the terminal is SET, it will remain SET until you exit from the INTOUCH environment or the SET statement is used again.
15.7.1 SET #chnl_num: Options
An option must be included with the SET #chnl_num
statement. The set options currently available are described below:
SET #chnl_num: ZONEWIDTH sets the print zone width of the device specified to the number designated. num_expr indicates the width to set the device's print zones. See above example.
SET #chnl_num: MARGIN sets the right margin on the device specified to the number indicated. int_expr specifies the column to set the margin to. The margin must be greater than the zonewidth.
10 OPEN #3: NAME 'storage.dat', ACCESS OUTPUT 20 SET #3: MARGIN 45 PRINT #3: REPEAT$('1234567',10) CLOSE #3 30 OPEN #3: NAME 'storage.dat', ACCESS INPUT DO LINE INPUT #3, EOF endfile?: item$ IF endfile? THEN EXIT DO PRINT item$ LOOP 40 CLOSE #3 50 END RNH 123456712345671234567123456712345671234567123 4567123456712345671234567 |
SET #chnl_num: CURRENT sets the current record to that specified by str_expr. The str_expr contains the information for the record you want to make current.
10 OPEN #1: NAME 'temp.tmp', ACCESS OUTPUT FOR z = 1 TO 20 PRINT #1: 'This is line number '; z NEXT z CLOSE #1 20 OPEN #1: NAME 'temp.tmp' FOR i = 1 TO 5 LINE INPUT #1: a$ NEXT i ASK #1: CURRENT c$ PRINT '5th item was: '; a$ 30 FOR i = 1 TO 5 LINE INPUT #1: a$ NEXT i PRINT '10th item was: '; a$ 40 SET #1: CURRENT c$ LINE INPUT #1: a$ PRINT 'Back to 5th item again: '; a$ 50 CLOSE #1 60 END RNH 5th item was: This is line number 5 10th item was: This is line number 10 Back to 5th item again: This is line number 5 |
KILL str_expr |
5 ! DANGER -- Executing this program will DELETE a file 10 INPUT 'What file do you want to delete': file$ 20 KILL file$ 30 END RNH What file do you want to delete? |
Use KILL to delete a file from within your program.
KILL searches for and deletes the file specified in str_expr, the string expression. You must include the full file name with extension. If you do not include a version number, KILL will delete the most recent version only.
INTOUCH works with data in any record management system. SETUP tells INTOUCH where data files are located and what record management systems are used. Once you have defined your structures with SETUP, you can use INTOUCH's structure statements to manipulate the data.
SETUP now supports the following database engines:
The following procedures are available in SETUP:
Each of the SETUP procedures is described in detail on the following pages.
16.1.1 Entering SETUP
To enter SETUP, type CALL SETUP at the INTOUCH prompt.
Example 16-1 To Use SETUP |
---|
INTOUCH CALL SETUP |
SETUP will ask you a number of questions including:
Example 16-2 SETUP Prompts |
---|
SETUP Vn.n Set Up INTOUCH 4GL Data Structures Structure name : Database engine: Dataset : Data dictionary: Structure name? _______________________________________________________________ EXIT = Exit \ = Back HELP = Help |
You can create a new structure by entering new file names or you can modify existing structures by selecting them at the prompts.
Once you have specified the structure you want to work with, you can
define fields in the structure or display field definitions.
16.2 SETUP Prompts
This section describes the SETUP prompts and your options for answering them.
When you are using SETUP and are at any of the prompts, you can enter HELP or press the [Help] key to get information about the prompt.
Default answers are provided for many of the prompts. If you want to accept the answer provided, press the [Return] key at the prompt. If you do not want to use the default, type your answer over the default.
If you want to go back to a previous prompt, use the "\" (backslash key) to back up.
16.2.1 Structure Name
Enter a structure name. This can be a new name or the name of an
existing structure. If you are creating a new structure, this will be
the name of the structure file. The default extension for the file is
.STR. The structure file contains:
Your structure name can be any OpenVMS file specification. (See Chapter 17, INTOUCH Running Under OpenVMS, for information on OpenVMS file specifications.)
16.2.2 Database engine
Use the arrow keys to select the database engine (record management
system) used by this structure. INTOUCH supports these systems:
(You can refer to the INTOUCH Interfaces to Database Engines manual for more information.)
If you are creating a new structure, the default will be RMS. If you are modifying an existing data structure, the default will be the database engine (record management system) specified in the structure file. FASTFILE is an INTOUCH record management system designed for speed.
16.2.3 Dataset
Enter the name of the data file (dataset) you will be using with this
structure. If this is a new structure, the default data file name will
be the same as the structure name. The default extension is .DAT.
You can use the same data file for a number of structures. For instance, you might use the CUSTOMER data file for both the CUSTOMER and the SALES structures:
structure files data file CUSTOMER.STR | \ | \ v \ CUSTOMER.DAT / / / SALES.STR |
Your dataset name can be any OpenVMS file specification. (See Chapter 17, INTOUCH Running Under OpenVMS, for information on OpenVMS file specifications.)
If the database engine is Rdb, the input format will be different. An Rdb database consists of tables. Each structure corresponds to one table. For Rdb, the dataset is the name of a table in the Rdb database.
FORMAT: table_name IN rdb_database EXAMPLE: employee in rdb_data:personnel |
For a DBMS dataset, you need to specify the DBMS record name and the name of the DBMS root file. Optionally, you can add the name of the subschema.
If the subschema is not given, the DEFAULT_SUBSCHEMA is assumed.
FORMAT: record_name IN [subschema_name FOR ] root_file EXAMPLES: part in datadisk:[parts]dbmparts part in ss0001 for datadisk:[parts]dbmparts |
For an INGRES dataset, you need to specify the INGRES table name. The INGRES database to use is specified by the symbol INT_INGRES_DBNAME.
FORMAT: table_name EXAMPLE: employee |
For an ADABAS dataset, you need to specify the file number and the database number.
FORMAT: file_number IN database_number EXAMPLE: 6 IN 1 |
For an ORACLE dataset, you need to specify the ORACLE table name.
FORMAT: table_name EXAMPLE: emp |
16.2.4 Data dictionary
Enter the name of the definition file you will be using with this
structure. If you are creating a new structure, the default definition
file name will be the same as the structure name. The default extension
is .DEF.
As with the data file, you can use the same definition file for a number of structures. In fact, you can create any combination of definition, data and structure files:
structure files data file definition files CUSTOMER.STR CUSTOMER.DEF \ / \ / \ / \ / \CUSTOMER.DAT/ / \ / \ / \ / \ SALES.STR SALES.DEF |
Your definition file name can be any OpenVMS file specifications. (See Chapter 17, INTOUCH Running Under OpenVMS, for information on OpenVMS file specifications.)
There are three special definition file names allowed. If the database engine for this structure can supply the field information and you want to use these native definitions, enter NONE as the definition file name and INTOUCH will use the definitions embedded in the database engine with the fields.
These database engines can supply the field definitions:
If you are using a database engine that supports native field definitions (Rdb, for example) and you would like to augment the native definitions with additional definitions, you can enter a definition file name prefixed with AUG>. This will create an augmented definition file. The native field names will be available along with any fields defined in the augmented definition file. Typically, augmented definitions are used to supply report headings, prompt text and print masks.
For example, if you have an Rdb table which contains of the following native fields:
Name Start Length ----- ----- ------ fielda 1 10 fieldb 11 5 fieldc 16 10 |
and you want to define a field (an index) consisting of "fielda" and "fieldb", you can create an augmented data dictionary and define the index you want.
If you are using CDD, you can enter CDD> and a name of a CDD/Plus Directory and recordname:
CDD>DEVDISK:[DEVINT.CDDTEST]CUSTOMER ^ ^^ ^ | || | +----------------------++------+ Directory name record name |
CDD/Plus access is read only at this time.
After the structure information has been entered, the SETUP Procedure Menu will be displayed and you can select the SETUP procedure you want to perform.
Example 16-3 SETUP Procedures |
---|
SETUP Vn.n Set Up INTOUCH 4GL Data Structures Structure name : CUSTOMER.STR Database engine: RMS Dataset : CUSTOMER.DAT Data dictionary: CUSTOMER.DEF +---Setup Procedure---+ | Define fields | | Show [>| | Modify structure [>| |---------------------| | Create data file | | EXIT | +---------------------+ EXIT = Exit \ = Back HELP = Help |
The following procedures are available in SETUP:
Depending on the database engine chosen and the definition file selected, you might not have all of these options. |
To select the SETUP procedure you want to perform, use the arrow keys to highlight your selection and then press [Return]. You can also enter in the first few characters and press [Return].
Previous | Next | Contents | Index |