FTN4
      PROGRAM QY18(5,90),92069-16060 REV.1912 781114
C 
C 
C*************************************************************
C (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  ALL RIGHTS    *
C RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- *
C PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH-  *
C OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.  *
C*************************************************************
C 
C 
C     SOURCE:    92069-18081
C     RELOC:     92060-16060
C 
C 
C************************************************************ 
C 
C 
C  THIS MODULE WILL REPORT "ALL" DATA RECORDS 
C  WITHOUT REPORT FORMATING OR EDITING
C 
C  THE "REPORT ALL" PROCESSOR IS BROKEN INTO THREE MODULES: 
C 
C      QS03 - BUILDS THE SCOOP TABLE WHICH CONTAINS INFORMATION 
C             ABOUT EACHITEM IN THE DATA SET. 
C      QS17 - READS THE DATA RECORD FROM THE DATA SET 
C      QS18 - FORMATS AND PRINTS EACH DATA ITEM'S VALUE 
C 
C 
C          NULL ASCII DATA-ITEMS WILL BE FILLED 
C  WITH " "S; INTEGER AND REAL DATA-ITEMS WILL
C  PRINT AS ZEROS(0). 
C 
C  RRCNT IS A COUNT OF RETRIEVED RECORDS
C  WITHIN SELECT-FILE.
C 
      LOGICAL IFBRK 
      LOGICAL DDS 
      INTEGER ITEMS(128)
      INTEGER ELCNT 
      INTEGER INTGR,R,X 
      INTEGER BLANK 
      INTEGER SCOOP(128,6)
C$$$$$$$$$$$$$$$$$$$ NOVEMBER 3,1978   $$$$$$$$$$$$$$$$$$$$$
      INTEGER INLU,ITTY,ILP,IDCB,JDCB,XEQ 
      INTEGER DBNAM,DBLEV,DSNAM,DINAM,SELECT,SNAM 
      INTEGER DSNUM,DINUM,PARM,LPARM,ECHO,QSERR 
      INTEGER IMA,IB,IBSZ,SECNO,IEND,ISCAN
      LOGICAL BREAK 
      INTEGER IPFLAG,IOFLAG,RMOTE 
      LOGICAL BATCH,XQBCH 
      INTEGER PAGCNT,LNCNT
      INTEGER PAGLEN,COLLIM 
      REAL    RRCNT 
      REAL    SELT,RSEC 
      INTEGER IPTR
      REAL    RCOUNT
      INTEGER S,R3,TRKNM,IDILU
      INTEGER R6
      REAL    ATOTAL
      INTEGER LIST,L,T,U
      INTEGER LEVSTR,LEVLEN 
      INTEGER IBUFF 
      INTEGER SS(7,100) 
C 
      COMMON INLU(145),ITTY(145),ILP(145),IDCB(145),JDCB(144),XEQ(145)
      COMMON DBNAM(10),DBLEV(3),DSNAM(3),DINAM(3),SELECT(6),SNAM(3) 
      COMMON DSNUM,DINUM,PARM(40),LPARM,ECHO,QSERR
      COMMON IMA(37),IB(896),IBSZ,SECNO,IEND,ISCAN
      COMMON BREAK
      COMMON IPFLAG,IOFLAG,RMOTE
      COMMON BATCH,XQBCH
      COMMON PAGCNT,LNCNT 
      COMMON PAGLEN,COLLIM
      COMMON RRCNT
      COMMON SELT(64),RSEC
      COMMON IPTR 
      COMMON RCOUNT 
      COMMON S(15,50),R3,TRKNM,IDILU
      COMMON R6 
      COMMON ATOTAL(6,5)
      COMMON LIST(101,6),L(7),T(5),U(7,5) 
      COMMON LEVSTR(66,5),LEVLEN(5) 
      COMMON IBUFF(2048)
C 
      EQUIVALENCE (S,SS)
C$$$$$$$$$$$$$$$$$$$ NOVEMBER 3,1978   $$$$$$$$$$$$$$$$$$$$$
C     EQUIVALENCE COMMENT 
C 
C SCOOP IS A 128 BY 6 ARRAY, WHICH CONTAINS AN ENTRY FOR
C       EACH ITEM IN THE DATA SET.  THE FIRST ENTRY CONTAINS
C       THE NUMBER OF CURRENT ENTRIES.  THE OTHERS CONTAIN THE
C       FOLLOWING INFORMATION:
C 
C       WORD 1-3  CONTAINS THE ITEM NAME
C       WORD 4    CONTAINS THE ITEM TYPE
C       WORD 5    CONTAINS THE ITEM LENGTH
C       WORD 6    CONTAINS THE ELEMENT COUNT
C 
C ITEMS IS A 128 WORD ARRAY WHICH CONTAINS THE INFORMATION RETURNED 
C       FROM A DBINF MODE 104.
C 
C SELT CONATINS A RECORD FROM THE SELECT FILE.
C 
C RCOUNT IS THE NUMBER OF DBMS RECORDS SELECTED IN THE SELECT FILE. 
C 
C RSEC IS THE CURRENT RECORD NUMBER OF THE SELECT FILE
C 
C IPTR IS THE OFFSET INTO THE SELECT FILE RECORD IN SELT
C 
C LIST IS A FLAG
C       0 INDICATES PRINT ITEM NAME 
C       1 SUPPRESSES THE PRINTING OF THE ITEM NAME
C 
C 
C 
      EQUIVALENCE(SCOOP,IB) 
      EQUIVALENCE(ITEMS,IB(769))
      EQUIVALENCE(LLIST,S(1,1) )
C BAD SEGMENT 
C 
      DATA BLANK/2H  /
      DATA INTGR/111B/
      DATA R/122B/
      DATA X/130B/
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C BEGIN 
C 
C 
C INITIALIZE OFFSET INTO DATA RECORD
C 
      IOFF = 1
C 
C PRINT THE VALUE FOR EACH ITEM IN THE SET
C 
      CALL SFILL(IMA,1,72,40B)
      DO 110 ITM = 2,SCOOP(1,1) + 1 
C 
C PRINT THE ITEM NAME IF THE PRINT OPTION IS ON 
C   0 IMPLIES DISPLAY 
C   1 IMPLIES SUPRESS DISPLAY 
C 
      IF(LLIST .EQ. 1) GOTO 60
      IMA(2) = SCOOP(ITM,1) 
      IMA(3) = SCOOP(ITM,2) 
      IMA(4) = SCOOP(ITM,3) 
      CALL SPUT(IMA,9,75B)
C 
C CONVERT THE ITEM VALUE FOR EACH ITEM IN THE ARRAY 
C 
60    CONTINUE
      ITYPE = SCOOP(ITM,4)
      LEN = SCOOP(ITM,5)
      ELCNT = SCOOP(ITM,6)
C 
C NUMERIC OFFSETS ARE IN WORDS
C ASCII OFFSETS ARE IN BYTES
C 
      IOFF2 = IOFF
      IF(ITYPE .EQ. X) IOFF2 = IOFF2*2-1
      DO 100 I = 1,ELCNT
C 
C INTEGER PROCESSOR 
C 
      IF(ITYPE .NE. INTGR) GOTO 70
      CALL CITA(IBUFF(IOFF2),IMA(6) ) 
      IOFF2 = IOFF2 + 1 
      IL = 6
      GOTO 90 
C 
C REAL PROCESSOR
C 
70    CONTINUE
      IF(ITYPE .NE. R) GOTO 80
      CALL CRTA(IBUFF(IOFF2),IMA(6) ) 
      IOFF2 = IOFF2 + 2 
      IL = 13 
      GOTO 90 
C 
C ASCII PROCESSOR 
C 
80    CONTINUE
      IL = LEN
C 
C ACCOUNT FOR LONG ASCII ITEMS
C 
83    CONTINUE
      IF(IL .LE. 60) GOTO 85
      CALL SMOVE(IBUFF,IOFF2,IOFF2+59,IMA,11) 
      IOFF2 = IOFF2 + 60
      CALL QRIO(2,ILP,IMA,36) 
      IF(IFBRK(IDUM)) GOTO 130
      IL = IL-60
      CALL SFILL(IMA,1,72,40B)
      GOTO 83 
C 
C ADJUST THE OFFSET 
C 
85    CONTINUE
      CALL SMOVE(IBUFF,IOFF2,IOFF2+IL-1,IMA,11) 
      IOFF2 = IOFF2 + IL
C 
C PRINT THE ITEM VALUE
C 
90    CONTINUE
      CALL QRIO(2,ILP,IMA,-(IL + 12) )
      IF(IFBRK(IDUM)) GOTO 130
      CALL SFILL(IMA,1,72,40B)
100   CONTINUE
      LEN = LEN * ELCNT 
      IF(ITYPE .EQ. X) LEN = LEN/2
      IOFF = IOFF + LEN 
      CALL QRIO(2,ILP,BLANK,1)
110   CONTINUE
      CALL QRIO(2,ILP,BLANK,1)
      IF(DDS(RCOUNT) ) GOTO 130 
C 
C 
C LOAD AND EXECUTE SEGEMENT THAT GETS DATA RECORDS
C 
      SNAM(2) = 2H17
      CALL LOAD(SNAM) 
C LOAD THE COMMAND INTERPETER SEGMENT 
C 
130   CONTINUE
      SNAM(2) = 2H
      CALL LOAD(SNAM) 
C 
      END 
$ 
    