      SUBROUTINE QEPTLD
     I                  (MESSFL,NUMPTL,METFLG,SCNAME,
     M                   PTLNAM,DAT11,DAT11A)
C
C     + + + PURPOSE + + +
C     modify point-load data
C
C     + + + DUMMY ARGUMENTS + + +
      INTEGER     MESSFL,NUMPTL,METFLG
      REAL        DAT11(9,NUMPTL),DAT11A(10,NUMPTL)
      CHARACTER   SCNAME*(*)
      CHARACTER*1 PTLNAM(12,NUMPTL)
C
C     + + + ARGUMENT DEFINITIONS + + +
C     MESSFL - Fortran unit number for message file
C     NUMRCH - number of reaches
C     METFLG - flag indicating English or Metric units
C     SCNAME - screen name to appear in upper left corner
C     PTLNAM - array of point-load identifier names
C     DAT8   - array of data for point-load/withdrawal-1
C     DAT8A  - array of data for point-load/withdrawal-2
C
C     + + + LOCAL VARIABLES + + +
      INTEGER     I,I1,SCLU,SGRP,LEN,IPOS,IRET,RNUM,
     1            IVAL(1,200),CVAL(1,3,200)
C     1            IVAL(1,50),CVAL(1,3,50)
      CHARACTER*1 TBUFF(80,200),BLNK,DASH
C      CHARACTER*1 TBUFF(80,50),BLNK,DASH
C
C     + + + INTRINSICS + + +
      INTRINSIC   INDEX
C
C     + + + EXTERNALS + + +
      EXTERNAL    QRESCX, ZWNSET, ZGTRET, QRESCN, ZIPC, CHRCHR
C
C     + + + END SPECIFICATIONS + + +
C
      I1  = 1
      BLNK= ' '
      DASH= '-'
      SCLU= 10
C
 5    CONTINUE
C       may loop here if user selects 'prev' on 2nd screen
        CALL ZWNSET (SCNAME)
        I= 80* NUMPTL
        CALL ZIPC (I,BLNK,TBUFF)
        RNUM= 9
        SGRP= 5+ METFLG
        DO 10 I= 1,NUMPTL
          LEN  = 12
          CALL CHRCHR(LEN,PTLNAM(1,I),TBUFF(6,I))
 10     CONTINUE
        CALL QRESCX (MESSFL,SCLU,SGRP,I1,RNUM,I1,NUMPTL,I1,
     M               IVAL,DAT11,CVAL,TBUFF)
        LEN= 12
        DO 20 I= 1, NUMPTL
          CALL CHRCHR(LEN,TBUFF(6,I),PTLNAM(1,I))
 20     CONTINUE
C
C       get user exit command
        CALL ZGTRET (IRET)
        IF (IRET.EQ.1) THEN
C         user selected 'next', group data11a, form 20
          IPOS= INDEX(SCNAME,DASH)+ 1
          SCNAME(IPOS:IPOS)= '2'
          CALL ZWNSET (SCNAME)
          DO 30 I= 1,NUMPTL
            DAT11A(1,I)= DAT11(1,I)
30        CONTINUE
          RNUM= 10
          SGRP= 7
          CALL QRESCN (MESSFL,SCLU,SGRP,I1,RNUM,I1,NUMPTL,I1,
     M                 IVAL,DAT11A,CVAL,TBUFF)
C         get user exit command
          CALL ZGTRET (IRET)
          IF (IRET.EQ.2) SCNAME(IPOS:IPOS)= '1'
        ELSE
C         reset exit command value
          IRET= 1
        END IF
      IF (IRET.EQ.2) GO TO 5
C
      RETURN
      END
