FTN4
      PROGRAM QY09(5,90),92069-16060 REV.1912 790209
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-18072
C     RELOC:     92069-16060
C 
C 
C************************************************************ 
C 
C 
C  CREATE PROCEDURE SERVICE ROUTINE 
      INTEGER END(2)
      DIMENSION NAME(2) 
      INTEGER ERR3(7) 
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   $$$$$$$$$$$$$$$$$$$$$
      EQUIVALENCE (REG,ISTAT) 
      DATA NAME/2HNA,2HME/
      DATA END/2HEN,2HD;/ 
      DATA ERR3/2H S,2HYN,2HTA, 
     1 2HX ,2HER,2HRO,2HR / 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C 
C BEGIN 
C 
C 
C 
C  CREATE NAME = <PROCEDURE NAME> ; <PROCEDURE SPEC>
C 
C 
C  RETURN TO NEXT?
C 
C  SCAN FOR NAME
C 
      CALL LSCAN(IB,I,J,K)
      IF (JSCOM(NAME,1,4,IB,I,ISTAT).EQ.0) GO TO 35 
C 
C SYNTAX ERROR
C 
30    CONTINUE
      IP = 1
34    IF(IEND .LE. 72) GOTO 37
      CALL QRIO(2,ITTY,IB(IP),-72)
      IEND = IEND - 72
      IP = IP + 36
      GOTO 34 
C 
C WRITE LAST LINE OUT 
C 
37    CALL QRIO(2,ITTY,IB(IP),-IEND)
      IF (I .GT. 72) I = I- I/72*72 
      CALL SFILL(IMA,1,72,40B)
      CALL SPUT(IMA,I,136B) 
      CALL QRIO(2,ITTY,IMA,-I)
      CALL ERIO(2,ITTY,ERR3,7)
      GO TO 10
C 
C  SCAN ACROSS =
C 
35    CONTINUE
      CALL LSCAN(IB,I,J,K)
      IF (K.NE.6) GO TO 30
C 
C  GET PROCEDURE NAME 
C 
      CALL LSCAN(IB,I,J,K)
      IF (K.NE.2) GO TO 30
      IPTR = I
      CALL GTPRM(IMA,IB,J,IPTR,IDCB,IDCB(2),.TRUE.,ISTAT) 
      IF(ISTAT .EQ. -200) GOTO 30 
      IF (ISTAT.LT.0) GOTO 85 
      IF(IDCB .GE. 0) GOTO 30 
C 
C  GET NEXT WORD OR INPUT 
C 
50    CONTINUE
      CALL INPUT
C 
C  WRITE INPUT TO FILE
C 
      REG = QRIO(2,IDCB,IB,-IEND) 
      IF(ISTAT .LT. 0) GOTO 85
      IF (JSCOM(IB,IEND-3,IEND,END,1,ISTAT).EQ.0) GO TO 90
      GO TO 50
C 
C  FMGR ERROR 
C 
85    CONTINUE
      CALL FMERR(ISTAT,ITTY)
C 
C CLOSE THE PROCEDURE FILE
C 
90    CONTINUE
      CALL ECLOS(IDCB(2)) 
C 
C  EXIT 
C 
10    CONTINUE
      SNAM(2) = 2H
      CALL LOAD(SNAM) 
      END 
$ 
  