FTN4
      SUBROUTINE CKLVL(LU1,LVLWD,IERR)
     +,92069-16190 REV.2013 790928
C 
C 
C*****************************************************************
C (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS RESERVED.
C NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR
C TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR
C WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. 
C****************************************************************** 
C 
C 
C     SOURCE:    92069-18190
C     RELOC:     92069-16190
C 
C 
C****************************************************************:
C 
C 
C************************************************************** 
C CKLVL CHECKS THAT THE LEVEL WORD PASSED IN IS REALLY AN 
C ASCII STRING, AND NOT AN INTEGER VALUE. IF NO PARAMETER WAS 
C PASSED IN, CKLVL QUERIES THE USER AT CONSOLE LU, READS IN THE LEVEL 
C WORD, AND THEN CHECKS THAT ITS AN ASCII STRING. 
C***************************************************************
      INTEGER LU1,LVLWD(6),IERR 
      INTEGER IA(2) 
      EQUIVALENCE(REG,IA),(IA(2),IB)
C***************************************************************
C IF THE TYPE IS ASCII, NORMAL RETURN. ELSE RETURN ERROR. 
C 
5     CONTINUE
      LVL = LVLWD(4)
      IERR = 0
      IF (LVL .EQ. 0) GO TO 10
      IF (LVL .EQ. 1) GO TO 20
      IF (LVL .EQ. 3) GO TO 30
C************************************************************ 
C PROCESS INTERNAL ERROR. 
C 
      CALL DBER2(LU1,7777,6HXXXXXX,6HCKLVL ,2HAB) 
C*************************************************************
C PROCESS NO PARAMETER BY PROMPTING THE USER AT THE CONSOLE LU. 
C READ THE PARAMETER, CALL PRAM TO FILL THE LVLWD ARRAY, THEN 
C LOOP BACK TO THE BRANCH POINT TO PROCESS THE NEW ENTRY. 
C 
C IF THE USER ENTERS AN IMMEDIATE CARRIAGE RETURN, LEAVE BLANKS 
C FOR THE LEVEL WORD. 
C 
10    CONTINUE
      LVLWD=2H
      LVLWD(2)=2H 
      LVLWD(3)=2H 
      LVLWD(4)=3
      CALL REIO(2,LU1,28H HIGHEST LEVEL CODE WORD ? _,-28)
      REG = REIO(1,LU1+400B,STRING,40)
      LNGTH2=2*IB 
C 
C CKECK IF ALL BLANKS WERE ENTERED
C 
      IF (LNGTH2 .EQ. 0) RETURN 
      IF (JSCOM(STRING,1,LNGTH2,6H      ,1,IERR) .EQ.0) RETURN
      ISTRC=1 
      CALL PRAM(LU1,STRING,LNGTH2,ISTRC,LVLWD)
      GO TO 5 
C*************************************************************
C PROCESS AN INTEGER PARAMETER AS AN ERROR. 
C 
20    CONTINUE
      CALL REIO(2,LU1,29H THE LEVEL WORD IS NOT ASCII.,-29) 
      IERR=-211 
      CALL DBER2(LU1,IERR,6HXXXXXX,6HCKLVL ,2HXX) 
      RETURN
C*************************************************************
C PROCESS A NAMR PARAMETER AS OK. 
C 
30    RETURN
      END 
                                                                                                          