FTN4
      PROGRAM QY03(5,90),92069-16060 REV.1912 790205
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-18066
C     RELOC:     92069-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 IFTTY 
      INTEGER ITEMS(128)
      INTEGER INFO(13)
      INTEGER DZERO(2)
      INTEGER ISTAT(10) 
      INTEGER ERR1(13)
      INTEGER ERR2(12)
      INTEGER ERR3(9) 
      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 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 RCOUNT 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 
C RECORD NOT YET BEEN FOUND 
      DATA ERR1/2H R,2HEC,2HOR,2HD ,2HNO,2HT ,2HYE,2HT ,2HBE,2HEN,
     &  2H F,2HOU,2HND/ 
C ULLEGAL LOCK REQUEST
      DATA ERR2/2H I,2HLL,2HEG,2HAL,2H L,2HU ,2HLO,2HCK,2H R,2HEQ,
     &  2HUE,2HST/
C SELECT-FILE ERROR 
      DATA ERR3/2H S,2HEL,2HEC,2HT-,2HFI,2HLE,2H E,2HRR,2HOR/ 
C BAD SEGMENT 
C 
      DATA DZERO/0,0/ 
      DATA BLANK/2H  /
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C BEGIN 
C 
      LLIST = 0 
      CALL LSCAN(IB,I,J,K)
      IF(K .NE. 5) LLIST = 1
C 
C INTIALIZE SECTOR NUMBER, AND OFFSET INTO SECTOR FOR SELECT FILE 
C 
      RSEC = DBLEI(1) 
C 
C READ THE FIRST RECORD OF THE SELECT FILE
C 
      CALL EREAD(JDCB,ISTAT,SELT,128,IL,RSEC) 
      IF(ISTAT .LT. 0) GOTO 135 
      RCOUNT = SELT(6)
      RRCNT = SELT(6) 
      CALL SMOVE(SELT,19,20,DSNUM,1)
      IPTR = 9
      RSEC = DIN(RSEC)
C 
C VERIFY THAT RECORDS ARE SELECTED
C 
      IF(DCO(RRCNT,DZERO) )5,5,10 
5     CALL ERIO(2,ITTY,ERR1,13) 
      GOTO 130
C 
C GET ALL ITEMS IN THIS DATA SET
C 
10    CONTINUE
      CALL DBINF(DBNAM,DSNUM,104,ISTAT,ITEMS) 
      IF(ISTAT .NE. 0) GOTO 140 
      IF(ITEMS .LE. 0) GOTO 130 
C 
C PUT THE INFORMATION NECESSARY FOR PRINTING OUT THE ITEM VALUES
C IN THE ARRAY "SCOOP". SCOOP IS 128 BY 6. THERE IS A ROW FOR 
C EACH POSSIBLE ITEM IN A DATA ENTRY. 
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 ITEM ELEMENT COUNT
C 
      SCOOP(1,1) = ITEMS
      DO 20 ITM = 2,ITEMS+1 
C 
C GET THE ITEM NUMBER IGNORING THE TYPE OF ACCESS 
C MODIFY THE "ITEMS" TO CONTAIN ONLY POSITIVE ENTRIES SO IT 
C CAN BE USED BY DBGET
C 
      DINUM = IABS(ITEMS(ITM))
      ITEMS(ITM) = DINUM
C 
C GET THE ITEM CHARACTERISTICS
C 
      CALL DBINF(DBNAM,DINUM,102,ISTAT,INFO)
      IF(ISTAT .NE. 0) GOTO 140 
      SCOOP(ITM,1) = INFO(1)
      SCOOP(ITM,2) = INFO(2)
      SCOOP(ITM,3) = INFO(3)
      CALL SGET(INFO,17,SCOOP(ITM,4)) 
      SCOOP(ITM,5) = INFO(10) 
      SCOOP(ITM,6) = INFO(11) 
20    CONTINUE
C 
C LOCK THE PRINT DEVICE 
C 
      CALL LUREQ(RMOTE,1,ILP,IERR)
      IF(IERR .NE. 0) GOTO 150
      CALL TOPAG(RMOTE,ILP,IERR)
C 
C LOAD AND EXECUTE SEGEMENT TO GET DATA ITEM
C 
30    CONTINUE
      SNAM(2) = 2H17
      CALL LOAD(SNAM) 
C 
C LOAD THE COMMAND INTERPETER SEGMENT 
C 
130   CONTINUE
      SNAM(2) = 2H
      CALL LOAD(SNAM) 
C 
C SELECT-FILE ERROR 
C 
135   CONTINUE
      CALL QRIO(2,ITTY,ERR3,9)
C 
C 
C DBMS ERROR AND FMP ERRORS 
C 
140   CONTINUE
      QSERR = ISTAT 
      SNAM(2) = 2H23
      CALL LOAD(SNAM) 
C 
C ILLEGAL LU LOCK REQUEST 
C 
150   CONTINUE
      CALL ERIO(2,ITTY,ERR2,12) 
      GOTO 130
      END 
$ 
                            