 |
» |
|
|
|
NM callable only. Initializes the SORT/XL subsystem. Syntax |  |
I32 I32A I32A I32
HPSORTINIT(status,inputfiles,outputfiles,outputoption,
I32V I32V I32V I32A
reclength,numrecs,numkeys,keys
CA PROC PROC I32A
altseq,keycompare,errorproc,statistics,
I32V I32A
memsize,charseq);
|
Parameters |  |
- status
32-bit signed integer by reference (optional) Returns the status of the HPSORTINIT call. If no errors
or warnings are encountered, status returns 32 bits of zero.
If errors or warnings are encountered, status is interpreted
as two 16-bit fields. Bits (0:16) comprise status.info. A negative value indicates
an error condition, and a positive value indicates a warning
condition. Refer to the MPE/iX Error Message Manual Volumes 1, 2 and 3 (32650-90066, 32650-90152, and 32650-90368) for a description of its value. Bits (16:16) comprise status.subsys. The value represented
by these bits defines the subsystem that set the status information.
The subsystem identifier for HPSORTINIT is 195.
- inputfiles
32-bit signed integer array (optional) Passes the file identification numbers of the input files to be
sorted. The last element of this array should be set to zero.
If the files are opened with either the NOBUF or MR
(multirecord) access option (aoption), the Hewlett-Packard SORT program
performs
the buffering and blocking\deblocking. $NULL is not a valid
input file. If this parameter is not used, there must be a call to HPSORTINPUT
to supply records to the Hewlett-Packard SORT program. - outputfiles
32-bit signed integer array (optional) Passes the file identification number of the output file. The second
array element must be a zero, indicating the end of the array.
If the files are opened with either the NOBUF or MR
(multirecord) access option (aoption), the SORT/XL program performs
the buffering and blocking\deblocking. If you do not supply this parameter, you must call HPSORTOUTPUT
to retrieve the sorted records. - outputoption
32-bit signed integer by value (optional) Passes a value determining the format of the output records:
Value | Meaning |
---|
0 | Output record the same as input record (default) | 1 | Output record, a 32-bit integer output in binary format,
value is the logical (relative) record number of the record | 2 | Output record contains only the key fields, concatenated together
with the major keys on the left, followed by the remaining keys | 3 | Output record is the logical record number (in binary format)
followed by the key fields |
- reclength
32-bit signed integer by value (optional) Maximum length of a record in bytes. If you do
not specify reclength, the record length is taken from the
first file specified in the inputfiles parameter. If you
do not specify inputfiles, you must specify this parameter.
- numrecs
32-bit signed integer by value (optional) Upper bound to the number of records to be sorted. Use numrecs
only if all input records do not reside on disk. numrecs may be used
to determine the size of the temporary scratch files that SORT builds.
The size of the scratch file(s) that SORT uses is calculated in the
following way: If all records are on disk, the size of the scratch file number is
derived from the current EOF value of the input file and any value supplied
for this parameter is ignored. (If there are multiple input files, then
the sum of their EOFs is used). If all files to be sorted do not reside on disk, or if you do not specify
any input files at all, and you supply this parameter, numrecs will
determine the size of the scratch file(s). Otherwise if you do not
supply this parameter, a default value of 10,000 records per tape file
is used.
- numkeys
32-bit signed integer by value (optional) Number of keys used during the comparison of records.
This parameter can be either equal to or greater than one.
If you specify the numkeys parameter, you must also
specify the keys parameter.
Together, numkeys and keys describe the way records are sorted.
- keys
32-bit integer array (optional) Passes information about the keys used during the comparison of
records. If you specify the keys parameter, you must specify
the numkeys parameter.
Together, keys and numkeys describe the way records
are sorted. For each key, there are four entries in the array.
The first element gives the position of the first byte of the
key within the input record. The second element gives the number of
bytes in the key.
The third element indicates the type of data:
Value | Meaning |
---|
0 | Byte type (ASCII or EBCDIC) | 1 | Twos complement (including 16-bit and 32-bit signed integer) | 2 | Hewlett-Packard 3000 floating-point format (including real and long) | 3 | IEEE standard floating-point format; (32-bit, 64-bit, and 128-bit values) | 4 | Packed decimal with odd number of digits | 5 | Packed decimal with even number of digits | 6 | Display trailing sign | 7 | Display leading sign | 8 | Display trailing sign separate | 9 | Display leading sign separate | 10 | Character | 11 | Reserved for the operating system | 12 | Short floating-point decimal | 13 | Floating-point decimal |
The fourth element gives the ordering sequence of the records:
Value | Meaning |
---|
0 | Ascending | 1 | Descending |
 |  |  |  |  | NOTE:
The integrity of the keys array must be maintained
throughout the SORT/XL operation. Do not change it until after
you have called the HPSORTEND intrinsic. |  |  |  |  |
- altseq
character array (optional) Passes an alternate collating sequence. The first
element is specified according to the following table,
where the sequence comprises the columns and the data
comprises the rows:
| ASCII | EBCDIC | ALTSEQ | ASCII | chr(255) | chr(2) | chr(0) | EBCDIC | chr(1) | chr(255) | undefined |
The second element specifies one fewer than the total
number of characters in the collating sequence. If the first element is CHR(0),
the remaining array elements comprise the actual collating sequence
responsible for the particular Hewlett-Packard SORT operation. Default: element 1 = CHR(255),
element 2 = CHR(255)
- keycompare
procedure (reserved) Do not specify this parameter, but maintain parameter position.
- errorproc
procedure (reserved) Do not specify this parameter, but maintain parameter position. - statistics
32-bit signed integer array (optional) Returns information on the SORT/XL operation:
Value | Meaning |
---|
1 | Number of records sorted | 2 | Number of intermediate passes | 3 | Number of bytes in the SORT/XL program work area | 4 | Number of compares | 5 | CPU time used in milliseconds | 6 | Elapsed time in milliseconds |
- memsize
32-bit signed integer by value (reserved) Do not specify, but maintain parameter position.
- charseq
32-bit signed integer array (optional) Passes language information.
Set the first element to 1 and the second element
to the language ID of the native language collating
sequence to be used for keys of type character
(keys parameter equal to 10).
Related Information |  |
- Intrinsics
HPSORT, HPMERGE - Commands
None - Manuals
SORT-MERGE/XL Programmer's Guide (32650-90080).
|