C ===================================================================== C pgm: SHMAXE .. Get max num of errors/message set (read "parm" file) C C use: CALL SHMAXE(CMD,KHAR,KHPOS,NOFER) C C in: CMD ....... command or message to control operations - CHAR*12 C in: 'INITIALIZE' ..... force read shefparm file C in: 'GET_VALUE' ...... get shefparm value(s) C i/o: KHAR ...... last buffer char obtained - CHAR*1 C i/o: KHPOS ..... last char loc: 2=eol,1=err-eol,0=eof,neg=err - INT C out: NOFER ..... Max number of errors before stopping shef decode C in: (file) .... sequential access file called "shefparm" - INT C in: (subrtn) .. enter logical unit number outside this rtn with: C in: CALL SHSAVU('P_SHEFPARM',) C C rqd: SHPABG,SHSAVU,SHERR C ===================================================================== SUBROUTINE SHMAXE(CMD,KHAR,KHPOS,NOFER) EXTERNAL SHPABG,SHSAVU,SHERR CHARACTER*12 CMD CHARACTER*2 KHFIND CHARACTER*1 KHAR INTEGER KHPOS,NOFER,NUMBR,LUNP,IERR,INITZ SAVE INITZ,NUMBR C C ================================= RCS keyword statements ========== CHARACTER*68 RCSKW1,RCSKW2 DATA RCSKW1,RCSKW2 / ' .$Source: /fs/hseb/ob5/rfc/ofs/src/shefpars_driv/RCS/shmaxe.f,v $ . $', ' .$Id: shmaxe.f,v 1.4 1998/07/22 12:34:12 page Exp $ . $' / C =================================================================== C DATA INITZ,KHFIND,NUMBR / 0, '**', 500 / C If first pass, get NOFER from "shefparm" file IF (CMD.EQ.'INITIALIZE ' .OR. INITZ.EQ.0) THEN INITZ = 0 CALL SHSAVU('G_SHEFPARM ',LUNP) CALL SHPABG(LUNP,KHFIND,IERR) IF (IERR .EQ. 0) THEN INITZ = 1 READ(LUNP,'(I4)',IOSTAT=IERR) NUMBR ENDIF IF (IERR .GT. 0) THEN CALL SHERR('E',77,KHPOS,KHAR) KHPOS = -1 ENDIF ENDIF IF (CMD .EQ. 'GET_VALUE ') THEN NOFER = NUMBR ENDIF RETURN END