PROGRAM SNDMSG,1.0
!
!                          ==========================
!                         //  SEND MESSAGE UTILITY  \\
!                        //==========================\\
!                       <<  BY THE GREAT & MIGHTY OZ  >>
!       //===============\\==========================//=================\\
!       ||       * * * * *   E D I T   H I S T O R Y   * * * * *        ||
!       ||                                                              ||
!       ||  8/07/85 edit history started. /dmm                          ||
!       ||          set up to work with TVI925, TVI950 & WYSE50         ||
!       ||          if set up in imulation mode. /dmm                   ||
!       ||                                                              ||
!       \\==============<<============================>>================//
!                        \\==========================//
MAP1 JOBTBL
       MAP2 JOBNO,B,1
       MAP2 JOBNAM,S,6
       MAP2 JOBTRM,S,6
       MAP2 JOBPRG,S,6
       MAP2 JOBDEV,S,3
       MAP2 JOBDVR,B,2
       MAP2 JOBPPN
               MAP3 JOB'PROG,B,1
               MAP3 JOB'PROJ,B,1
               MAP3 JOBUSR,B,2,@JOBPPN
       MAP2 JOBCPU,B,4
       MAP2 JOBDSR,B,4
       MAP2 JOBDSW,B,4
       MAP2 JOBCON,S,10
       XCALL JOBGET,JOBTBL     !<------<<< ***(OPTIONAL)***
02000 !
02010 MAP1 USERS
02020   MAP2 JOBNAMS(30),S,6
02030   MAP2 TRMDEFS(30),S,6
02040 MAP1 FILENAME,S,10,"USERS.DAT"
02050 MAP1 RECSIZ99,F,6,LEN(USERS)
02060 MAP1 ENTRY,S,70
02070 MAP1 RTNCDE,F,6
02080 MAP1 INXCTL,F,6
02090 MAP1 NUMFIL,F,6,30
02100   FILEBASE 1
02110   XCALL NOECHO
02120   NFILE = INT((NUMFIL/2)+.5)
02130   ? TAB(-1,0);"MESSAGE SENDING UTILITY"
02140 OPEN:
02150   OPEN #99, FILENAME, RANDOM, RECSIZ99, FILE99
02160   FILE99 = 1
02170   READ #99, USERS
02180   CALL DISPLAY
02190   FOR WHATNO = 1 TO NUMFIL
02200           CALL DISPLAY'JOBNAM
02210   NEXT WHATNO
02220 IN:
02230   ? TAB(24,1);TAB(-1,9);"SELECT JOB ";
02240 ! XCALL INFLD,24,15,02,00,"#EW",ENTRY,INXCTL,1,DEFLT,EXTCODE,TIMER
02245   XCALL INPUT,24,15,02,00,"#EW",ENTRY,INXCTL,1
02250   IF INXCTL GOTO CLOSE
02260   WHATNO=ENTRY
02270   IF WHATNO=99 GOTO SEND'IT
02280   IF WHATNO < 1 OR WHATNO > 30 XCALL MESAG,"",3 : GOTO IN
02290 SEND'IT:
02300   ? TAB(24,1);TAB(-1,9);"MESSAGE";
02310   XCALL INPUT,24,9,70,00,"AW",ENTRY,INXCTL,1,DEFLT,EXTCODE,TIMER
02320   IF INXCTL GOTO IN
02330   IF WHATNO=99 GOTO SEND'ALL
02340   OPEN #1,"TRM:"+TRMDEFS(WHATNO),OUTPUT
02350   IF ENTRY="" GOTO CLEAR'MSG
02360   ? #1;CHR(7);" ";
02370   ? #1;"f"+ENTRY+":"+JOBNAM
02380   ? #1;"g";
02390   CLOSE #1
02400   GOTO IN
02410 SEND'ALL:
02420   FOR I = 1 TO 30
02430   IF TRMDEFS(I)="" GOTO NEXT'I
02440   OPEN #1,"TRM:"+TRMDEFS(I),OUTPUT
02450   IF ENTRY="" GOTO CLEAR'ALL
02460   ? #1;CHR(7);" ";
02470   ? #1;"f"+ENTRY+":"+JOBNAM
02480   ? #1;"g";
02490   CLOSE #1
02500 NEXT'I:
02510   NEXT I
02520   GOTO IN
02530 CLEAR'ALL:
02540   ? #1;" ";
02550   ? #1;"f"+SPACE(78)
02560   ? #1;"g";
02570   ? #1;"h";
02580   CLOSE #1
02590   GOTO NEXT'I
02600 CLEAR'MSG:
02610   ? #1;" ";
02620   ? #1;"f"+SPACE(78)
02630   ? #1;"g";
02640   ? #1;"h";
02650   CLOSE #1
02660   GOTO IN
02670 CLOSE:
02680   CHAIN "UTLMNU"
02690 DISPLAY:
02700   PRINT TAB(3,21); "SEND MESSAGE, TO SELECTED JOB"
02710   FOR I = 1 TO NUMFIL
02720   ROW = I-(NFILE*INT(I/(NFILE+1)))+4
02730   COL = 12+(INT(I/(NFILE+1))*35)
02740   ? TAB(ROW,COL); I USING "##"; ". "
02750   NEXT I
02760   RETURN
02770
02780 DISPLAY'JOBNAM:
02790   ROW = WHATNO-(NFILE*INT(WHATNO/(NFILE+1)))+4
02800   COL = 20+(INT(WHATNO/(NFILE+1))*35)
02810   ? TAB(ROW,COL); JOBNAMS(WHATNO);
02820   COL = COL+10
02830   ? TAB(ROW,COL); TRMDEFS(WHATNO);
02840   RETURN
02850
02860 !