|
DataMuseum.dkPresents historical artifacts from the history of: Christian Rovsing CR7, CR8 & CR16 CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Christian Rovsing CR7, CR8 & CR16 CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 4480 (0x1180) Types: TextFile Names: »CREATDPL.PRG«
└─⟦71c82d5c0⟧ Bits:30004214 LISTAID - Partslist management system └─ ⟦this⟧ »CREATDPL.PRG«
******************************************************************************* *DESIGN: NIF/ASD/SEPTEMBER 1985 * ******************************************************************************* * * *PROCEDURE: CREATDPL CALLED FROM TASK CDPL * *CALLED WITH PARAMETERS MCON AND MDPL * ******************************************************************************* SELECT PRIM USE ERASE SELECT SECONDARY SET EXACT ON USE DPL_STRU COPY STRU TO WORK USE WORK APPEND BLANK DELETE SELECT PRIMARY USE &MCON GO TOP STORE 'PROCEED' TO STATUS STORE 2 TO ROW *MERGE MODULES IN CONFIGURATION TO DPL DO WHILE .NOT.EOF.AND.STATUS='PROCEED' STORE CONFIGNAME-SOURCE-'.PLS' TO MSOURCE IF ROW>20 ERASE STORE 2 TO ROW ENDIF @ ROW,10 SAY 'COMPONENTS ARE BEING APPENDED FROM:' @ $,$+2 SAY MODULE STORE ROW+1 TO ROW SELECT SECONDARY GO BOTTOM STORE # TO MEND APPEND FROM &MSOURCE FOR .NOT.($(REF:CODE,1,3)$'DEL,SOT') *INITIATE COUNTER GO MEND SKIP REPLACE NEXT 9999 COUNTER WITH NVALUE*P.NUMBER,NVALUE WITH 0,CVALUE WITH ' '; FOR COUNTER=0.AND.$(REF:CODE,1,2)='64' GO BOTTOM STORE #+1 TO MSOTPOINT APPEND FROM &MSOURCE FOR $(REF:CODE,1,3)='SOT' GO BOTTOM IF #=MSOTPOINT-1 STORE F TO MSOTFLAG ELSE STORE T TO MSOTFLAG ENDIF GO MEND SKIP REPLACE NEXT 9999 COUNTER WITH P.NUMBER FOR COUNTER=0 @ ROW-1,10 SAY 'COMPONENTS HAS BEEN APPENDED FROM: ' *MERGE COMPONENTS IN SOT_FILES TO DPL IF MSOTFLAG @ ROW,10 SAY 'PRELIMINARY COMPRESSION' APPEND BLANK DELETE GO MSOTPOINT DO WHILE .NOT.EOF. STORE # TO MPOINT STORE REF:CODE TO MREFC SUM NEXT 9999 COUNTER TO MC FOR REF:CODE=MREFC GO MPOINT REPLACE COUNTER WITH MC SKIP DELETE NEXT 9999 FOR REF:CODE=MREFC GO MPOINT+1 LOCATE NEXT 9999 FOR .NOT.* IF * SKIP ENDIF ENDDO GO MSOTPOINT ENDIF DO WHILE .NOT.EOF.AND.MSOTFLAG STORE COUNTER TO MCOUNTER STORE # TO MCURRENT GO BOTTOM STORE # TO MEND GO MCURRENT STORE CONFIGNAME-P.SOURCE-'.S'-$(REF:CODE,4,2) TO MSOTFILE IF FILE(MSOTFILE) IF ROW>20 STORE 2 TO ROW ERASE ENDIF @ ROW,10 SAY 'COMPONENTS ARE BEING APPENDED FROM:' @ $,$+2 SAY P.MODULE+' SOT No. '+$(REF:CODE,4,2) STORE ROW+1 TO ROW APPEND FROM &MSOTFILE FOR .NOT.($(REF:CODE,1,3)$'SOT,DEL') *INITIATE COUNTER GO MEND+1 REPLACE NEXT 9999 COUNTER WITH MCOUNTER FOR COUNTER=0 GO BOTTOM @ ROW-1,10 SAY 'COMPONENTS HAS BEEN APPENDED FROM: ' ELSE STORE 'SOT-KIT DEFINITION MISSING: '+MSOTFILE TO STATUS ENDIF GO MCURRENT DELETE SKIP LOCATE NEXT 9999 FOR $(REF:CODE,1,3)='SOT'.AND..NOT.* IF $(REF:CODE,1,3)<>'SOT'.OR.* STORE F TO MSOTFLAG ENDIF ENDDO * NEXT MODULE SELECT PRIMARY SKIP ENDDO ERASE SELECT SECONDARY IF STATUS='PROCEED' GO BOTTOM @ 10,10 SAY 'COMPRESSION OF DATABASE....START SIZE = '+STR(#,5) *COUNT AND DELETE REDUNDANT RECORDS INDEX ON REF:CODE+STR(NVALUE,13,4)+RATED:VOLT+TOLERANCE TO WORK COPY TO &MDPL USE &MDPL DELETE FILE WORK DELETE FILE WORK.NDX DO TOTDEL COPY TO WORK USE WORK DELETE FILE &MDPL COPY TO &MDPL USE &MDPL DELETE FILE WORK ERASE ENDIF IF STATUS='PROCEED' *COMPLETE DPL RECORDS FROM PPL AND CUSTOM FILES @ $+4,10 SAY 'THE SPECIFICATIONS ARE NOW BEING INSERTED' STORE 'DPL' TO MDBASE SELECT SECONDARY USE SELECT PRIMARY USE &MDPL STORE MDPL TO OPERDBF DO CASE CASE $(PPLNAME,3,4)='HIP1' DO COMPHIP1 OTHERWISE DO COMPLETE ENDCASE SELECT PRIMARY *CONVERT NVALUE TO CVALUE AND FILL IN TO COMPLETE THE SPEC. IF STATUS='PROCEED' DO CONVERT ENDIF ENDIF RETURN «eof»