DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦2fbb6f951⟧ TextFile

    Length: 5632 (0x1600)
    Types: TextFile
    Names: »USOT.PRG«

Derivation

└─⟦71c82d5c0⟧ Bits:30004214 LISTAID - Partslist management system
    └─ ⟦this⟧ »USOT.PRG« 

TextFile

*******************************************************************************
*DESIGN: NIF/ASD/SEPTEMBER 1985
*******************************************************************************
*
*TASK:USOT
*FUNCTION: UPDATES AN ALREADY EXISTING SOT KIT FILE
*
*******************************************************************************

*PROMPT USER FOR MODULEFILE&SOT KIT  NO.IF NOT CALLED FROM ANOTHER PROGRAM
SET ESCAPE OFF
ERASE
SET FORMAT TO SCREEN
IF .NOT.CALL
   STORE 'FILE' TO MSOURCE
   STORE '  ' TO MSOT
   @ 10,20 SAY 'ENTER POINTER FOR MODULEFILE: '+CONFIGNAME-'_'
   @ $,$+1 GET MSOURCE PICTURE 'AAAA'
   @ 12,20 SAY 'ENTER SOT-KIT No. ' GET MSOT PICTURE '##'
   READ
   STORE !(MSOURCE) TO MSOURCE
   IF RANK(MSOT)=RANK(' ').OR.RANK(MSOT)=RANK('0')
      STORE $(MSOT,2,1) TO MSOT
   ENDIF
   STORE CONFIGNAME-MSOURCE-'.S'-MSOT TO OPERDBF
ENDIF
IF FILE(OPERDBF)
   STORE 'E' TO MOPTION
   USE &OPERDBF
   COPY TO WORK.SOT
   USE WORK.SOT
   ERASE
   STORE F TO MUPDATE
   DO WHILE MOPTION<>'Q'
      @  4,1  SAY 'ENTER OPTION: ' GET MOPTION PICTURE '!'
      @  6,1  SAY 'E= EDIT COMPONENT DENOTED BY RECORD NUMBER'
      @  7,1  SAY 'I= APPEND NEW COMPONENTS'
      @  8,1  SAY 'L= LIST OF COMPONENTS'
      @  9,1  SAY 'U= MAKE UPDATE EFFECTIVE ON '+OPERDBF
      @ 10,1  SAY 'Q= RETURN TO MENU WITHOUT FURTHER UPDATE OF '+OPERDBF
      READ
      DO CASE
         CASE MOPTION='E'
              * 'EDIT A RECORD'
              STORE F TO MUPDATE
              CLEAR GETS
              STORE 0 TO MRECNO
              GO BOTTOM
              STORE # TO MEND
              IF MEND>0
                 @ 12,1  SAY 'ENTER RECORD NUMBER: '
                 DO WHILE MRECNO=0
                    @ 12,29 GET MRECNO PICTURE '#####'
                    READ
                    DO CASE
                       CASE MRECNO=0
                            @ 12,37 SAY "JUST DO AS YOU'RE TOLD               "
                       CASE MRECNO>MEND
                      @ 12,37 SAY "THERE IS ONLY "+TRIM(STR(MEND,5))+" RECORDS"
                       OTHERWISE
                            GO MRECNO
                    ENDCASE
                 ENDDO
                 CLEAR GETS
                 DO SOTEDIT
              ELSE
                 STORE 'I' TO MOPTION
                 @ 4,17 SAY 'THERE ARE NO COMPONENTS IN THE KIT          '
              ENDIF

         CASE MOPTION='I'
              STORE F TO MUPDATE
              GO BOTTOM
              STORE 'INITIAL STATE' TO MVALIDSTAT
              STORE 'APPEND' TO MINTYPE
              STORE 'C' TO MCONTINUE
              STORE '      ' TO MREFC
              STORE '    ' TO MRATE
              STORE 0 TO MTOLV
              STORE '%' TO MTOLT
              DO WHILE MCONTINUE<>'S'.AND.MCONTINUE<>'D'
                 STORE 'C' TO MCONTINUE
                 STORE 'INITIAL STATE' TO MVALIDSTAT
                 IF MCONTINUE<>'F'
                    APPEND BLANK
                 ENDIF
                 DO SOTIN
                 DO WHILE MCONTINUE='F'
                    STORE 'C' TO MCONTINUE
                    STORE '          ' TO MGEN
                    ERASE
             @ 10,10 SAY 'ENTER GENERIC NAME: ' GET MGEN PICTURE 'XXXXXXXXXXX'
                    READ
                    CLEAR GETS
                    DO PPLSEARCH
                   @ $+2,4 SAY 'SELECTED REF.CODE: ' GET MREFC PICTURE 'XXXXXX'
                    READ
                    CLEAR GETS
                    STORE 'PPL-SEARCH COMPLETED' TO MVALIDSTAT
                    DO SOTIN
                 ENDDO
              ENDDO
              IF MCONTINUE='D'
                 DELETE
              ENDIF
          CASE MOPTION='L'
               ERASE
               @ 1,0 SAY 'RECORD REFCODE NVALUE         TOL  VOLTAGE'
               SET DELETED OFF
               LIST REF:CODE,NVALUE,TOLERANCE,RATED:VOLT
               STORE ' ' TO MDUMMY
               @ 22,0 SAY 'RETURN TO CONTINUE ' GET MDUMMY
               READ
               ERASE
          CASE MOPTION='U'
               PACK
               DELETE FILE &OPERDBF
               INDEX ON NVALUE TO WORK.NDX
               SET INDEX TO WORK.NDX
               COPY TO &OPERDBF
               SET INDEX TO
               DELETE FILE WORK.NDX
               STORE T TO MUPDATE
          CASE MOPTION='Q'
               IF .NOT.MUPDATE
                   @ $,$+3 SAY 'UPDATE HAS NOT BEEN MADE...PROCEED? (Y/N)    '
                   @ $,$+2 GET MUPDATE
                   READ
               ENDIF
               IF MUPDATE
                  USE
                  DELETE FILE WORK.SOT
                  STORE 'READY' TO STATUS
                  USE &OPERDBF
                  GO BOTTOM
                  IF #<1
                     USE
                     DELETE FILE &OPERDBF
                     STORE OPERDBF+' DELETED --- NO ENTRIES' TO STATUS
                  ELSE
                     REPLACE ALL REF:DES WITH 'SOT'-MSOT
                     STORE 'PLL' TO MDBASE
                     DO COMPLETE
                     DO CONVERT
                     USE
                  ENDIF
               ENDIF
          OTHERWISE
               @ 4,17 SAY 'UNKNOWN OPTION                                     '
       ENDCASE
       CLEAR GETS
    ENDDO
ELSE
   STORE 'FILE: '+OPERDBF+' DOES NOT EXIST -- USE DSOT' TO STATUS
ENDIF
RELEASE ALL LIKE M*
SET ESCAPE ON
RETURN





«eof»