The status parameter of HPSORTINIT and
HPMERGEINIT is a 32-bit integer variable that returns the status of each
sort or merge intrinsic call. If no errors or warnings are encountered,
status returns 32 bits of zero. If errors are encountered,
status is interpreted as two 16-bit fields. Bits (0:16), the
leftmost halfword, is status.info. A negative value here
indicates an error condition. Bits (16:16) are status.subsys.
A number here is coded to indicate the subsystem where the error occurred. A
value of 195 indicates SORT/XL. A value of 196 identifies MERGE/XL. Although
status is an optional parameter, it is good programming
practice to specify it. If it is not specified and an error occurs,
the calling process will abort.
You use HPSORTERRORMESS and HPMERGEERRORMESS to display a
descriptive message to the user if errors occur during a sort or merge. The
HPSORTERRORMESS and HPMERGEERRORMESSstatus
parameter accepts the error number returned from the HPSORTINIT and
HPMERGEINITstatus parameter. Other error message
parameters return the text message associated with that error number, and the
length of the message.
The syntax of HPSORTERRORMESS and HPMERGEERRORMESS is:
The HPSORTERRORMESS and HPMERGEERRORMESS expect to interpret
errors, not successes. The merge and sort status parameters
return zero if no errors occurred. If you do not check this value before
calling HPSORTERRORMESS or HPMERGEERRORMESS as the example
below does, the result could be confusing. Passing zero to the error message
intrinsics status parameter, causes the message
parameter to return the message: "HPERRORMSG failed inside
HPSORTERRORMESS" or "HPERRORMSG failed inside HPMERGEERRORMESS".
If the HPSORTERRORMESS or HPMERGEERRORMESS intrinsic call
fails, status returns the error number associated with that
failure.
The error numbers and messages for sort and merge intrinsics are listed in
Appendixes A and B.
For more information about calculating status.info and
status.subsys, refer to the MPE XL Intrinsics Reference
Manual.
The following is part of the core sort example, and shows how
HPSORTERRORMESS is used.