|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5632 (0x1600)
Types: TextFile
Names: »USOT.PRG«
└─⟦71c82d5c0⟧ Bits:30004214 LISTAID - Partslist management system
└─⟦this⟧ »USOT.PRG«
└─⟦9ce0f2175⟧ Bits:30004308/disk3.imd Listaid database backup
└─⟦this⟧ »USOT.PRG«
*******************************************************************************
*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»