The SOR$RELEASE_REC routine is used with the record interface to pass one input record to SORT or MERGE. Format SOR$RELEASE_REC desc [,context]
1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value Longword condition value. Most utility routines return a condition value in R0. Condition values that this routine can return are listed under Condition Values Returned.
2 – Arguments
desc OpenVMS usage:char_string type: character-coded text string access: read only mechanism: by descriptor Input record buffer. The desc argument is the address of a descriptor pointing to the buffer containing the record to be sorted. If you use the record interface, this argument is required. context OpenVMS usage:context type: longword access: modify mechanism: by reference Value that distinguishes between multiple, concurrent SORT/MERGE operations. The context argument is the address of a longword containing the context value. When your program makes its first call to a SORT/MERGE routine for a particular sort or merge operation, the context longword must equal zero. SORT/MERGE then stores a value in the longword to identify the operation just initiated. When you make subsequent routine calls for the same operation, you must pass the context value supplied by SORT/MERGE.
3 – Description
Call SOR$RELEASE_REC to pass records to SORT or MERGE with the record interface. SOR$RELEASE_REC must be called once for each record to be sorted. Some of the following condition values are used with different severities, depending on whether SORT/MERGE can recover. Thus, if you want to check for a specific status, you should use LIB$MATCH_COND.
4 – Condition Values Returned
SS$_NORMAL Normal successful completion. SOR$_BADLOGIC Internal logic error detected. SOR$_BAD_LRL Record length n greater than longest specified record length. SOR$_BAD_SRL Record length n too short to contain keys. SOR$_ENDDIAGS Completed with diagnostics. SOR$_EXTEND Unable to extend work file for needed space. SOR$_MISS_PARAM The desc argument is missing. SOR$_NO_WRK Work files required; cannot do sort in memory as requested. SOR$_OPENOUT Error opening file as output. SOR$_OPERFAIL Error requesting operator service. SOR$_READERR Error reading file. SOR$_REQ_ALT Specify alternate name file (or nothing to try again). SOR$_RTNERROR Unexpected error status from user-written routine. SOR$_SORT_ON Sort or merge routines called in incorrect order. SOR$_SYSERROR System service error. SOR$_USE_ALT Using alternate file name. SOR$_WORK_DEV Work file name must be on random access local device.