HP 3000 Manuals

MERGEINIT [ MPE/iX Intrinsics Reference Manual ] MPE/iX 5.0 Documentation


MPE/iX Intrinsics Reference Manual

MERGEINIT 

NM and CM callable.

Initializes the MERGE/XL subsystem and the merging of two or more sorted
files.

Syntax 
________________________________________________________________
|                                                              |
|                 I16A     PROC       I16A                     |
|     MERGEINIT(inputfiles,preprocessor,outputfiles,           |
|                   PROC     I16V   I16V  I16A                 |
|               postprocessor,keysonly,numkeys,keys,           |
|               I16A   PROC      PROC    I16A    I16           |
|               altseq,keycompare,errorproc,statistics,failure,|
|                  I16        I16      I16A                    |
|               errorparm,spaceallocation,charseq);            |
________________________________________________________________

            

Parameters 

inputfiles            16-bit signed integer array (optional) 

                      Passes the file identification numbers of the input
                      files to be merged.  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 MERGE program performs the
                      buffering and blocking/deblocking.  $NULL is not a
                      valid input file.

preprocessor          procedure (optional) 

                      Do not specify, maintain parameter position.

outputfiles           16-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 (multi-record)
                      access option (aoption), the MERGE program performs
                      the buffering and blocking/deblocking.

postprocessor         procedure (optional) 

                      Do not specify, maintain parameter position.

length                16-bit signed integer 

                      Denotes the number of characters in the record.

keysonly              16-bit signed integer by value (optional) 

                      Passes a flag that determines if only keys are sent
                      as output.  If true, the key fields are
                      concatenated together with the major key on the
                      left and the remaining keys following.  If false,
                      the entire record is sent as output.

                      Default:  false.

numkeys               16-bit signed integer (optional) 

                      Passes the 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 merged.

keys                  16-bit signed integer array (optional) 

                      Passes information about the keys used during
                      comparison of records.  If you specify the keys 
                      parameter, you must specify the numkeys parameter.
                      Together, keys and numkeys describe the way records
                      are merged.

                      The first element gives the position of the first
                      character of the key within the record.  The second
                      element gives the number of characters in the key.
                      Bits (0:8) of the third element give the ordering
                      sequence of the records (0 for ascending, 1 for
                      descending).  Bits (8:8) of the third element
                      indicate the type of data according to the
                      following convention:

                         Value    Meaning 

                           0      8-Bit unsigned integer

                           1      Twos complement (including 16-bit and 32-bit signed
                                  integer)

                           2      Floating-point (including real and long)

                           3      Packed decimal

                           4      Display trailing sign

                           5      Packed decimal with even number of digits

                           6      Display leading sign

          Table 4-25.  (cont.) 

                         Value    Meaning 

                           7      Display leading sign separate

                           8      Display trailing sign separate

                           9      Character (using the collating sequence of charseq)

                          11      Short floating-point decimal

                          12      Floating-point decimal


NOTE The integrity of the keys array must be maintained throughout the MERGE operation. Do not change it until after you have called the MERGEEND intrinsic.
altseq 16-bit signed integer array (optional) Passes an alternate collating sequence. Bits (0:8) of the first element are 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 char(1) chr(255) undefined Bits (8:8) of the first element specify one fewer than the total number of characters in the collating sequence (in this instance, chr(255) or %377). The remaining array elements comprise the actual collating sequence responsible for the particular MERGE operation. 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 16-bit signed integer array (optional) Returns information on the MERGE operation, as follows: Value Meaning 1 Number of input files 2,3 Number of merged records (32-bit integer) 4 Space available for merging 5,6 Number of comparisons (32-bit integer) 7,8 CPU time in milliseconds (32-bit integer) 9,10 Elapsed time in milliseconds (32-bit integer) failure 16-bit signed integer (optional) Returns a true value (-1) if a fatal error occurs; otherwise failure returns a false value (0). Refer also to the discussion of condition codes. errorparm 16-bit signed integer (optional) Returns the error number if an error occurs. Use the MERGEERRORMESS intrinsic to obtain the error message text. spaceallocation 16-bit signed integer (reserved) Do not specify this parameter, but maintain parameter position. charseq 16-bit signed integer array (optional) Passes language information in a two-element array. Set the first element to 1. Set the second element to the language ID number of the native language whose collating sequence is to be used to sort keys of type 9 (character). Condition Codes CCE (2) Request granted. No error occurred during the MERGE program. The value of the failure parameter of the MERGEINIT intrinsic is set to false. CCG (0) Not returned. CCL (1) Request denied. An error occurred during the MERGE program. The value of the failure parameter of the MERGEINIT intrinsic is set to true. Related Information Intrinsics HPSORT, HPMERGE Commands None Manuals SORT-MERGE/XL Programmer's Guide (32650-90080)


MPE/iX 5.0 Documentation