home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0020 - 0029 / ibm0020-0029 / ibm0028.tar / ibm0028 / SBTAR2.ZIP / SYSCMEN.PRG next >
Encoding:
Text File  |  1990-06-04  |  5.4 KB  |  188 lines

  1. ********************** ' MultiNet Source Code ' ***********************
  2. ** '                       SBT Corporation                         ' **
  3. ** '         One Harbor Drive, Sausalito, California 94965         ' **
  4. ** '                   Telephone (415) 331-9900                    ' **
  5. ***********************************************************************
  6. ** '   (c) Copyright 1984, Revisions 1985 - 1990 SBT Corporation   ' **
  7. ** '            All Rights Reserved by SBT Corporation             ' **
  8. ** '                                                               ' **
  9. ***********************************************************************
  10. ** ' 06/04/90 = Last Update  **  SYSCMEN.PRG  **   Version 6.35.00 ' **
  11. ***********************************************************************
  12. * ' System wide company menu program, called by XX.PRG
  13. *
  14. IF TYPE('m0lntax') = 'U'
  15.   RELEASE m0lntax
  16.   PUBLIC m0lntax
  17.   STORE .f. TO m0lntax
  18. ENDIF
  19. CLOSE DATABASES
  20. SELECT a
  21. USE &m0sysdr.sysdata
  22. SET FILTER TO SUBSTR(sysid,1,2) = m0pgmid .AND. ;
  23. SUBSTR(sysid,3,2) <> '  '  .AND. SUBSTR(pass2,1,1) <> 'D'
  24. GO TOP
  25. IF .NOT. EOF()
  26.   STORE TRIM(SUBSTR(drive,61,30)) TO m0dbfdr
  27. ELSE
  28.   STORE '' TO m0dbfdr
  29. ENDIF
  30. SET ESCAPE ON
  31. CLEAR
  32. @ 1,1 SAY DTOC(m0date)
  33. @ 1,40 - INT(LEN(m0system)/2) SAY m0system
  34. @ 1,73 SAY mversion
  35. @ 2,1 SAY SUBSTR(m0border,10,78)
  36. @ 3,34 SAY 'Company Menu'
  37. @ 5,6 SAY 'Number'
  38. @ 5,17 SAY 'Company'
  39. DO WHILE .t.
  40.   STORE RECNO() TO mtop
  41.   STORE 7 TO mline
  42.   STORE 'Enter Company Number or (Q/A/D' TO msg
  43.   STORE 'QAD' TO moptns
  44.   IF SUBSTR(sysid,1,2) = m0pgmid .AND. .NOT. EOF()
  45.     STORE STR(VAL(SUBSTR(a->sysid,3,2)),2,0) TO action
  46.     STORE SUBSTR(LTRIM(action)+' ',1,2) TO action, mdefault
  47.     DO WHILE SUBSTR(sysid,1,2) = m0pgmid .AND. mline < 20 .AND. .NOT. EOF()
  48.       @ mline,8 SAY STR(VAL(SUBSTR(a->sysid,3,2)),2,0) + '.'
  49.       @ mline,17 SAY TRIM(a->company)
  50.       STORE mline + 1 TO mline
  51.       SKIP
  52.     ENDDO
  53.     SKIP -1
  54.     STORE RECNO() TO mrecno
  55.     IF SUBSTR(sysid,1,2) = m0pgmid .AND. .NOT. EOF()
  56.       SKIP
  57.       IF SUBSTR(sysid,1,2) = m0pgmid .AND. .NOT. EOF()
  58.         STORE msg + '/F' TO msg
  59.         STORE moptns + 'F' TO moptns
  60.       ENDIF
  61.     ENDIF
  62.     GO mtop
  63.     SKIP -1
  64.     IF SUBSTR(sysid,1,2) = m0pgmid .AND. .NOT. BOF()
  65.       STORE msg + '/B' TO msg
  66.       STORE moptns + 'B' TO moptns
  67.     ENDIF
  68.     GO mrecno
  69.   ELSE
  70.     @ 9,8 SAY "No Companies Exist.  Press 'A' to Add a Company..."
  71.     STORE 'A ' TO action, mdefault
  72.     STORE 'Enter Choice (Q/A' TO msg
  73.     STORE 'QA' TO moptns
  74.     STORE .t. TO mempty
  75.   ENDIF && .NOT. EOF()
  76.   @ 22,8 SAY "'Q'-Quit         'A'-Add a Company        " + ;
  77.   "'D'-Delete a Company"
  78.   @ 23,0
  79.   DO CASE
  80.     CASE 'F' $ moptns .AND. 'B' $ moptns
  81.       @ 23,8 SAY "'F'-Forward to Next Screen     " + ;
  82.       "'B'-Backward to Previous Screen"
  83.     CASE 'F' $ moptns
  84.       @ 23,8 SAY "'F'-Forward to Next Screen"
  85.     CASE 'B' $ moptns
  86.       @ 23,8 SAY "'B'-Backward to Previous Screen"
  87.   ENDCASE
  88.   STORE msg + ') ' TO msg
  89.   @ 21,0
  90.   DO WHILE .t.
  91.     @ 21,8 SAY msg + SUBSTR(m0border,181,5) GET action PICTURE '!!'
  92.     READ
  93.     IF TRIM(LTRIM(action)) $ moptns
  94.       EXIT
  95.     ENDIF
  96.     IF SUBSTR(action,1,1) $ moptns
  97.       STORE SUBSTR(action,1,1) + ' ' TO action
  98.       EXIT
  99.     ENDIF
  100.     IF VAL(action) > 0
  101.       LOCATE FOR VAL(SUBSTR(sysid,3,2)) = VAL(action)
  102.       IF .NOT. EOF()
  103.         @ 21,0 CLEAR
  104.         @ 21,8 SAY 'Loading Company ' + LTRIM(STR(VAL(action),2,0)) + ;
  105.         ' Information.  Please wait...'
  106.         STORE SUBSTR(printer,3,1) TO m0port
  107.         EXIT
  108.       ENDIF
  109.     ENDIF
  110.     STORE mdefault TO action
  111.     ?? CHR(7)
  112.   ENDDO && WHILE .t.
  113.   DO CASE
  114.     CASE .NOT. action $ ' F B '
  115.       EXIT
  116.     CASE action $ ' F '
  117.       SKIP
  118.     CASE action $ ' B '
  119.       STORE 0 TO mcount
  120.       GO mtop
  121.       DO WHILE mcount < 13 .AND. .NOT. BOF()
  122.         SKIP -1
  123.         STORE mcount + 1 TO mcount
  124.       ENDDO
  125.       IF BOF()
  126.         GO TOP
  127.       ENDIF
  128.   ENDCASE
  129.   @ 7,0 CLEAR TO 20,78
  130. ENDDO && WHILE .t.
  131. * ' Deal with odd combinations such as 'AD' and 'QA'
  132. IF 'Q' $ action
  133.   STORE 'Q' TO action
  134. ENDIF
  135. IF 'A' $ action
  136.   STORE 'A' TO action
  137. ENDIF
  138. SET FILTER TO
  139. IF action $ ' D '
  140.   CLEAR
  141.   @ 1,1 SAY DTOC(m0date)
  142.   @ 1,40 - INT(LEN(m0system)/2) SAY m0system
  143.   @ 1,73 SAY mversion
  144.   @ 2,1 SAY SUBSTR(m0border,10,78)
  145.   @ 3,32 SAY 'Delete a Company'
  146.   * ' We don't allow deletion when anyone else in in SBT systems
  147.   DO p0sysmnt WITH .t.
  148.   USE &m0sysdr.sysdata
  149.   IF .NOT. mreturn
  150.     STORE .f. TO mreturn
  151.     RETURN
  152.   ENDIF
  153.   STORE 0 TO dcompany
  154.   @ 6,6 SAY 'Enter Company Number to Delete or 0 to Cancel Deletion ' + ;
  155.   SUBSTR(m0border,180,6)
  156.   @ 6,69 GET dcompany PICTURE '##'
  157.   READ
  158.   CLEAR GETS
  159.   IF dcompany = 0
  160.     DO p0sysmnt WITH .f.
  161.     STORE .f. TO mreturn
  162.     RETURN
  163.   ENDIF
  164.   LOCATE FOR VAL(SUBSTR(a->sysid,3,2)) = dcompany .AND. ;
  165.   SUBSTR(a->pass2,1,1) <> 'D' .AND. SUBSTR(a->sysid,1,2) = m0pgmid .AND. ;
  166.   SUBSTR(a->sysid,3,2) <> '  '
  167.   IF EOF()
  168.     DO p0sysmnt WITH .f.
  169.     STORE ' ' TO mans
  170.     ?? CHR(7)
  171.     @ 22,6 SAY 'Invalid Company Number.'
  172.     @ 23,6 SAY 'Press any key to return to Company Menu...' GET mans
  173.     READ
  174.     CLEAR GETS
  175.     STORE .f. TO mreturn
  176.     USE &m0sysdr.sysdata
  177.     RETURN
  178.   ENDIF
  179. ENDIF && action $ ' D '
  180. RETURN
  181. *
  182. * ' $Revision:   1.10  $
  183. * ' $Date:   29 May 1990 17:34:02  $
  184. **********************
  185. ** ' SYSCMEN.PRG  ' **
  186. ** '  187 Lines   ' **
  187. **********************
  188.