HPSORTINIT [ MPE/iX Intrinsics Reference Manual ] MPE/iX 5.0 Documentation
MPE/iX Intrinsics Reference Manual
HPSORTINIT
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).
MPE/iX 5.0 Documentation