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

⟦8935d530b⟧ TextFile

    Length: 2304 (0x900)
    Types: TextFile
    Names: »CKIT.PRG«

Derivation

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

TextFile

*******************************************************************************
* DESIGN: NIF/ASD/JANUAR 1986
*******************************************************************************
* TASK: CKIT
* FUNCTION: CREATES A KITLIST FROM A LONG FORM MODULE LEVEL PARTSLIST
*******************************************************************************

SELECT PRIMARY
IF .NOT.CALL

*GET THE SOURCEFILE
STORE 'PLL' TO MEXTEN
DO GETSOURC
ENDIF

IF FILE(OPERDBF)
   ERASE
   @ 10,10 SAY 'CONVERSION FROM PLL TO KIT HAS BEEN STARTED'
   STORE $(OPERDBF,1,10)+'.KIT' TO MKITNAME
   IF FILE(MKITNAME)
      DELETE FILE &MKITNAME
      STORE 'OLD KIT-LIST DELETED --- NEW CREATED' TO STATUS
   ENDIF
   USE KIT_STRU
   COPY STRU TO &MKITNAME
   USE &MKITNAME
   APPEND FROM &OPERDBF
   INDEX ON REF:CODE+STR(NVALUE,13,4)+RATED:VOLT+TOLERANCE TO WORK
   COPY TO WORK
   USE WORK
   DELETE FILE &MKITNAME
   APPEND BLANK
   GO BOTT
   DELETE
   STORE # TO MEND
   GO TOP
   STORE 'REF:CODE=MREF.AND.TOLERANCE=MTOL.AND.NVALUE=MVAL.AND.RATED:VOLT=MRAT;
' TO MCRIT
   DO WHILE .NOT.EOF
      STORE # TO MCURRENT
      STORE REF:CODE TO MREF
      STORE NVALUE TO MVAL
      STORE TOLERANCE TO MTOL
      STORE RATED:VOLT TO MRAT
      COUNT WHILE &MCRIT TO MC
      STORE # TO MLIM
      GO MCURRENT
      REPLACE COUNTER WITH MC
      IF MC>1
         STORE TRIM($(REF:DES,1,6)) TO MDES
         SKIP
         DO WHILE #<MLIM
            IF LEN(MDES)<247
               STORE TRIM(MDES-','-$(REF:DES,1,6)) TO MDES
               DELETE
            ELSE
               STORE # TO MCUR2
               GO MCURRENT
               REPLACE REF:DES WITH MDES-'$'
               GO MCUR2
               STORE MCUR2 TO MCURRENT
               STORE TRIM($(REF:DES,1,6)) TO MDES
               REPLACE COUNTER WITH 0
            ENDIF
            SKIP
         ENDDO
         GO MCURRENT
         REPLACE REF:DES WITH MDES-'.'
      ENDIF
      GO MCURRENT+1
      DO WHILE *.AND..NOT.EOF
         SKIP
      ENDDO
   ENDDO
ELSE
   STORE 'PLL MUST BE RESIDENT ON SELECTED UNIT-DRIVE' TO STATUS
ENDIF
COPY TO &MKITNAME
RELEASE ALL LIKE M*
RETURN
«eof»