C*******************************************************
C          EXAM - TO EXAMINE A RECORD
C*******************************************************
C
C
C
      SUBROUTINE EXAM
      COMMON INBUF(2048),IOUTBUF(8192),IWRK1(20),IWRK2(20),IFNAME1(3)
      COMMON ICMND,IFLAG1,IORG,INUM,IFORMT(20),IFLAG2
      IF(IORG.EQ.999) CALL ERROR(6); RETURN
      GO TO (10,100,200,300),IORG
C
10    OUTPUT '*CONSECUTIVE EXAMINE*'
      CALL ERRSET2(IERR,50S,50S,IDCB)
15    OUTPUT 'RECORD NO.:  '
      INPUT INUM
      IF(INUM.EQ.0) REWIND 1; RETURN
      INUM=IABS(INUM)
      REWIND 1
      CALL SKIPR(1,INUM-1)
18    CALL GETR(1,INBUF,2048)
      CALL GETSIZ2(1,ISIZ)
20    CALL FORMGET(IFM)
40    IF(IFM.EQ.1.OR.IFM.EQ.2) CALL DUMPER(IFM,ISIZ,0,0,1)
      IF(IFM.EQ.3) CALL FDUMP(ISIZ)
      CALL QUESTAR(' GET NEXT RECORD    ',20,47S,45S)
45    OUTPUT ' '
      GO TO 15
47    OUTPUT ' '
      GO TO 18
50    CALL ERROR(8)
      GO TO 15
C
100   OUTPUT '*KEYED EXAMINE*'
      GO TO 140
120   OUTPUT ' '
140   CALL GETAKEY(IERR,IKLN,ISIZ)
      IF(IERR.EQ.1) GO TO 140
      IF(IKLN.EQ.0) RETURN
160   CALL FORMGET(IFM)
      IF(IFM.EQ.1.OR.IFM.EQ.2) CALL DUMPER(IFM,ISIZ,IWRK2,IKLN,1)
      IF(IFM.EQ.3) CALL FDUMP(ISIZ)
      GO TO 140
C
200   OUTPUT '*RANDOM EXAMINE*'
      CALL ERRSET2(IERR,299S,299S,IDCB)
      GO TO 215
220   OUTPUT ' '
215   OUTPUT '(ADDRESS), (NO. WORDS):  '
      INPUT IBEG,INWRDS
      CALL FORMGET(IFM)
      IF(INWRDS.EQ.0) INWRDS=1
      READ DISK 1,IBEG,(INBUF(J),J=1,512)
      GO TO (230,240,250),IFM
      GO TO 215
240   CALL DUMPER(4,INWRDS*4,0,0,1)
      GO TO 215
250   CALL FDUMP(INWRDS*4)
      GO TO 215
299   CALL ERROR(10)
      GO TO 215
C
300   OUTPUT '*INDEXED RANDOM EXAMINE*'
315   OUTPUT '(ADDRESS), (NO. WORDS):  '
      INPUT IBEG,INWRDS
      CALL FORMGET(IFM)
      IF(INWRDS.EQ.0) INWRDS=1
      GO TO (330,340,350),IFM
330   CALL DUMPER(3,INWRDS*4,0,0,1)
      GO TO 315
340   CALL DUMPER(4,INWRDS*4,0,0,1)
      GO TO 315
350   CALL FDUMP(INWRDS*4)
      GO TO 315
399   CALL ERROR(10)
      GO TO 315
400   RETURN
      END
