home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / 3x400 / dspjbl.lzh / DSPJBLCL.CL next >
Text File  |  1986-09-15  |  4KB  |  100 lines

  1. /*    DESCRIPTION  DSPJOBLST COMMAND PROCESSING PROGRAM              */
  2. /*    PROGRAMMER   DAVID EDLEN                                       */
  3. /*                                                                   */
  4.              PGM        PARM(&JOB20)
  5.              DCL        &JOB20      *CHAR  20
  6.              DCL        &JOB        *CHAR  10
  7.              DCL        &USR        *CHAR  10
  8.              DCL        &NBR        *CHAR   6
  9.              DCL        &SENDER     *CHAR  80
  10.              DCL        &PGMQ       *CHAR  10
  11.              DCL        &MULTIPLE   *LGL
  12.              DCL        &MSGID      *CHAR   7
  13.              DCL        &MSGDTA     *CHAR 132
  14.              DCL        &QLEN       *DEC    5  VALUE(26)
  15.              DCL        &DATA26     *CHAR  26
  16.              DCL        &COUNT      *DEC    3
  17.              DCL        &OPTION     *CHAR   1
  18.  
  19.              MONMSG     CPF0000 EXEC(GOTO ERROR)
  20.  
  21.              SNDPGMMSG  MSG($) TOPGMQ(*SAME)
  22.              RCVMSG     SENDER(&SENDER)
  23.              CHGVAR     &PGMQ VALUE(%SST(&SENDER  27 10))
  24.  
  25.  DSPJOB:     CHGVAR     &MULTIPLE '0'
  26.              CHGVAR     &JOB VALUE(%SST(&JOB20 1 10))
  27.              CHGVAR     &USR VALUE(%SST(&JOB20 11 10))
  28.  
  29.              IF         (&USR *NE ' ') DO
  30.              DSPJOB     JOB(&JOB.&USR)
  31.              MONMSG     CPF1069 EXEC(CHGVAR &MULTIPLE '1')
  32.              ENDDO
  33.              ELSE       DO
  34.              DSPJOB     JOB(&JOB)
  35.              MONMSG     CPF1069 EXEC(CHGVAR &MULTIPLE '1')
  36.              ENDDO
  37.  
  38.              IF         &MULTIPLE DO
  39.              CHKOBJ     OBJ(@JOBLIST.QTEMP) OBJTYPE(*DTAQ)
  40.              MONMSG     CPF9801 EXEC(DO)
  41.              CRTDTAQ    DTAQ(@JOBLIST.QTEMP) MAXLEN(26) TEXT('Job +
  42.                           list for DSPJOBLST command.')
  43.              ENDDO
  44.  
  45.              CHGVAR     &COUNT VALUE(0)
  46.  
  47.  MSGDTA:     RCVMSG     MSGID(&MSGID) MSGDTA(&MSGDTA)
  48.              IF         (&MSGID = CPF0906) DO
  49.              CHGVAR     &DATA26 VALUE(%SST(&MSGDTA 1 26))
  50.              CALL       QSNDDTAQ PARM(@JOBLIST QTEMP &QLEN &DATA26)
  51.              CHGVAR     &COUNT VALUE(&COUNT + 1)
  52.              ENDDO
  53.  
  54.              IF         (&MSGID *NE ' ' *AND &COUNT *LT 50) GOTO MSGDTA
  55.              RMVMSG     CLEAR(*ALL)
  56.              CHGVAR     &OPTION VALUE('0')
  57.  
  58.  
  59.  DSPJOBLST:  CALL       DSPJBLR PARM(&JOB &USR &NBR &OPTION &PGMQ)
  60.              RMVMSG     CLEAR(*ALL)
  61.  
  62.              IF         (&OPTION *EQ '1') DO
  63.              DSPJOB     JOB(&JOB.&USR.&NBR)
  64.              MONMSG     CPF0000 EXEC(GOTO DSPJOBLST)
  65.              ENDDO
  66.  
  67.              IF         (&OPTION *EQ '2') DO
  68.              DSPJOBLOG  JOB(&JOB.&USR.&NBR)
  69.              MONMSG     CPF0000 EXEC(DO)
  70.              RMVMSG     CLEAR(*ALL)
  71.              DSPSPLF    FILE(QPJOBLOG) JOB(&JOB.&USR.&NBR)
  72.              MONMSG     CPF0000 EXEC(GOTO DSPJOBLST)
  73.              ENDDO
  74.              ENDDO
  75.  
  76.              IF         (&OPTION *EQ '5') GOTO DSPJOB
  77.              IF         (&OPTION *NE '9') GOTO DSPJOBLST
  78.              ENDDO
  79.  
  80.              GOTO       ENDPGM
  81.  
  82.  
  83.  ERROR:      CHGVAR     &COUNT VALUE(0)
  84.  RCVMSG:     RCVMSG     MSGID(&MSGID) MSGDTA(&MSGDTA)
  85.  
  86.              CHGVAR     &COUNT VALUE(&COUNT+1)
  87.              IF         (&COUNT *GT 100) GOTO ENDPGM
  88.  
  89.              IF         (%SST(&MSGID 1 2) *EQ CP) DO
  90.              SNDPGMMSG  MSGID(&MSGID) MSGF(QCPFMSG) MSGDTA(&MSGDTA) +
  91.                           MSGTYPE(*DIAG)
  92.              MONMSG     CPF0000
  93.              ENDDO
  94.  
  95.              IF         (&MSGID *NE ' ') GOTO RCVMSG
  96.              ELSE       SNDPGMMSG MSGID(CPF9899) MSGF(QCPFMSG) +
  97.                           MSGTYPE(*ESCAPE)
  98.  
  99.  ENDPGM:     ENDPGM
  100.