next up previous contents index
Next: Input an array Up: Description of user Previous: Output an array

Read a bank or data structure

CALL RZIN (IXDIV,*LSUP*,JBIAS,KEY,ICYCLE,CHOPT)

Input parameter description:

IXDIV
Index of the division to receive the data structure
IXDIV = 0 means division 2 of the primary store
*LSUP*
JBIAS
JBIAS < 1: LSUP is the supporting bank and JBIAS is the link bias specifying where the data structure has to be introduced into this bank, i.e. the data structure will be connected to LQ(LSUP+JBIAS).
JBIAS = 1: LSUP is the supporting link, i.e. the data structure is connected to LSUP (top level data structure)
JBIAS = 2: Stand alone data structure, no connection.
KEY
Keyword vector of the information to be read (default)
sequential number of the key vector in the directory if 'S' option
ICYCLE
Cycle number of the key to be read
ICYCLE > 0 highest cycle number means read the highest cycle
ICYCLE = 0 means read the lowest cycle
CHOPT
Character variable specifying the options selected.
data structure
' '
Default - Same as 'D' below
'C'
Provide information about the cycle numbers associated with KEY.
The total number of cycles and the cycle number identifiers of the 19 highest cycles are returned in IQUEST(50) and IQUEST(51..89) respectively.
The data struture associated with KEY will not be read in unless the option D is also specified.
'D'
Read the data structure with the (KEY,ICYCLE) pair specified.
'N'
Read the neighbouring gif keys (i.e. those preceding and following KEY).
The first 9 elements of the key-vectors of the previous and next key are available respectively as IQUEST(31..39) and IQUEST(41..49), see below.
'R'
Read data into existing bank at LSUP, JBIAS. Note that the bank must have the same size as the one stored in the file.
'S'
KEY(1) contains the sequential number of the key vector in the current directory (No search required).

Output parameter description:

*LSUP*
For JBIAS = 1 or 2, LSUP contains the entry address to the data structure
In any case IQUEST(11) returns the entry address

When one wants to read a bank, data structure or division from a direct access file into memory one calls RZIN or RZINPA. The information identified by a given KEY and cycle in the CWD are input. If the cycle specified is not present on the file, the information associated with the highest cycle of the given key will be used.

CALL RZINPA (CHPATH,IXDIV,*LSUP*,JBIAS,KEY,ICYCLE*,CHOPT)

CHPATH
Character variable specifying the name of the directory containing the objects to be retrieved.
others
Remaining arguments as for RZIN.

When one wants to read information from a key associated to a directory which is not the CWD, then a call to RZINPA should be made. This routine has a supplementary character type argument CHPATH, which specifies the pathname of the directory where the information has to read.

RZIN and RZINPA return codes

RZIN and RZINPA return the status, either normal or error completion, in the QUEST vector as follows:

Normal read status returns are:

IQUEST(1)
Operation status code
1
key/cycle pair not present in the CWD
0
normal completion
IQUEST(2)
number of physical records read
IQUEST(3)
Record number of the first record read
IQUEST(4)
Offset of the start of the information in the first record.
IQUEST(5)
Record number of the continuation record (0 if not 'A' option).
IQUEST(6)
ICYCLE: cycle number of information returned.
IQUEST(7)
Number of keys in the directory
IQUEST(8)
NWKEY, the number of words per key
IQUEST(11)
LSUP, the entry address into the data structure
zero means: empty data structure
IQUEST(12)
NWBK, the number of words occupied by the data structure in memory
zero means: empty data structure
IQUEST(14)
Time stamp of the information(compressed). In order to get the unpacked date and time (integers), one can use the RZ internal routine RZDATE as follows  
   CALL RZDATE(IQUEST(14),IDATE,ITIME,1)
IQUEST(20)
Key serial number in the directory
IQUEST(21..20+NWKEY)
KEY(1)...KEY(NWKEY) if 'S' option given
IQUEST(30)
NWKEY or zero if no previous key is present ('N' option)
IQUEST(31..39)
The first 9 elements of the key vector for the element preceding KEY (if IQUEST(30) > 0)
Only IQUEST(31..30+MIN(NWKEY,9)) are significant
IQUEST(40)
NWKEY or zero if no following key is present ('N' option)
IQUEST(41..49)
The first 9 elements of the key vector for the element following KEY (if IQUEST(40) > 0)
Only IQUEST(41..40+MIN(NWKEY,9)) are significant
IQUEST(50)
Number of cycles present for KEY ('C' option)
IQUEST(51..69)
The cycle number identifiers associated with KEY
If IQUEST(50) 19 then only IQUEST(51..50+IQUEST(50)) are meaningful
If IQUEST(50) > 19 then IQUEST(51..69) contain the 19 highest cycles for KEY
IQUEST(71..89)
The time stamp information corresponding to each of the initialized cycle numbers in IQUEST(51..69)

If the pair (KEY,ICYCLE) is not present in the CWD (IQUEST(1)=1) and the 'N' option is given, then IQUEST(30...) and IQUEST(40...) will contain, respectively, the ``lowest'' and ``highest'' key vectors present.



next up previous contents index
Next: Input an array Up: Description of user Previous: Output an array


Janne Saarela
Mon May 15 08:34:47 METDST 1995