SORT-MERGE/XL Programmer's Guide (32650-90884)

Appendix D 105
FORTRAN Program Examples
Example of Core Merging Routine
2 ,OUTFILENUM, STATUS
C
INPUTFILES(1) = TEMPFILENUM
INPUTFILES(2) = PERMFILENUM
INPUTFILES(3) = 0
OUTPUTFILE(1) = OUTFILENUM
OUTPUTFILE(2) = 0
KEYS_ONLY = 0
NUMKEYS = 1
KEYS(1) = 41
KEYS(2) = 20
KEYS(3) = 0
KEYS(4) = 0
ALTSEQ(1:1) = CHAR(255)
ALTSEQ(1:2) = CHAR(255)
call HPMERGEINIT (STATUS, INPUTFILES,, OUTPUTFILE,,
2 KEYS_ONLY, NUMKEYS, KEYS, ALTSEQ)
if (STATUS .ne. 0) then
MESSAGE = ' '
call HPMERGEERRORMESS (STATUS, MESSAGE, LENGTH)
print *,MESSAGE
endif
call HPMERGEEND (STATUS,STATISTICS)
if (STATUS .ne. 0) then
MESSAGE = ' '
call HPMERGEERRORMESS (STATUS, MESSAGE, LENGTH)
print *,MESSAGE
endif
return
end
C
subroutine CLOSE_FILES
C
system intrinsic FCLOSE
C
integer*2 DISPOSITION
2 ,SECURITYCODE
C
integer TEMPFILENUM
2 ,PERMFILENUM
3 ,OUTFILENUM
4 ,STATUS
C
common /PARMS/ TEMPFILENUM, PERMFILENUM
2 ,OUTFILENUM, STATUS
C
DISPOSITION = 0
SECURITYCODE = 0
C
call FCLOSE (TEMPFILENUM, DISPOSITION, SECURITYCODE)
call FCLOSE (PERMFILENUM, DISPOSITION, SECURITYCODE)
DISPOSITION = 1
call FCLOSE (OUTFILENUM, DISPOSITION, SECURITYCODE)