Listing of file='INVT090B' on disk='vmedia/701-2616C.wvd.zip'
# Sector 448, program filename = 'INVT090B' 0010 REM INVT090B, RELEASE 2.3, (09/11/80) THIS PROGRAM IS A COPYRIGHT PRODUCT OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITED 0020 REM --------------------------------------------------------------------- -- 0030 REM SYSTEM & MODULE = GBS/MVP INVENTORY SYSTEM, P.O. ACTIVITY FILE REO RG 0040 REM PROGRAM FUNCTION = REORGANIZE THE P.O. ACTIVITY FILE 0050 REM DATE WRITTEN = 08/25/78 MK 0060 REM LAST REVISION = 12/29/80 MF 0065 REM THIS PROGRAM WAS UPGRADED TO 2.1 BY ERRATA 1125 0066 REM THIS PROGRAM WAS UPGRADED TO 2.2 BY ERRATA 1156 + 1167 0067 REM THIS PROGRAM WAS UPGRADED TO 2.3 BY ERRATA 1197 0070 REM --------------------------------------------------------------------- -- 0170 COM D6$(4)64,D7$(3)3 0172 COM K$8,K1$8,Q,V$18,V1$8 0198 GOTO 4000 3996 REM ***************************** 3997 REM ! P.O. ACTIVITY FILE REORG ! 3998 REM ***************************** 3999 REM 4000 SELECT @PARTS$ : REM SELECT UNIVERSAL GLOBAL 4030 V$=@V$ 4040 SELECT @PARTS0$ : REM SELECT LOCAL GLOBAL 4050 D7$()=M$() 4060 SELECT #1<D7$(1)>,#2<D7$(2)>,#3<D7$(3)> 4070 PRINT AT(3,0);"Any errors during this process will render the P.O. ac tivity file useless.";HEX(07) 4080 GOSUB '100("Y,N","YyNn",1,1,"IS THERE A RECENT BACKUP FOR THE P.O. AC TIVITY FILE (Y OR N)",2) 4090 IF Q6$="N"THEN 5050 4100 REM OPEN WORK FILE 4110 GOSUB '217(S$(3),3,S2,0,4," ",D7$(3),0) 4120 Q6$="Work file" 4130 IF Q$>" "THEN 4990 4140 REM OPEN P.O. ACTIVITY FILE 4150 K$,K1$=S$(1) : REM USER FILE NAME 4160 GOSUB '230(1,2,1,1,K$,4," ",D7$(2),D7$(1)) 4170 Q6$="P.O. Activity file" 4180 IF Q$>" "THEN 4990 4190 N3=VAL(Q0$(2))+VAL(Q0$(4)) : REM KEY LENGTH 4200 N2=INT(253/(N3+1)) : REM BLOCKING FACTOR 4210 MAT REDIM D6$(N2)N3 : REM WORK FILE BUFFER 4220 INIT(FF)D6$() 4230 D6=1 4240 GOSUB '235(1,0) 4250 IF Q$="N"THEN 4420 4260 PRINT AT(7,0,80);"Processing vendor";HEX(06) 4270 Q6$="P.O. Activity file" 4280 IF Q$>" "THEN 4990 4290 D6$(D6) = T7$ : REM SAVE KEY 4300 PRINT AT(7,19,18);T7$ 4310 D6 = D6 + 1 4320 IF D6 <= N2 THEN 4360 : REM TEST FOR FULL BLOCK 4330 DATA SAVE DC #3,D6$() : REM WRITE TEMPORARY SEQUENTIAL RECORD 4340 INIT(FF)D6$() 4350 D6 = 1 4360 GOSUB '237(1,0) : REM GET NEXT KEY 4370 IF Q$="E"THEN 4420 4380 Q6$="P.O. Activity file" 4390 IF Q$>" "THEN 4990 4400 GOTO 4290 4410 REM %CLOSE FILES, INITIALIZE P.O. ACTIVITY FILE 4420 GOSUB '239(1) 4430 DATA SAVE DC #3,D6$() 4440 GOSUB '218(S$(3),3," ",0) 4450 K=1 : REM USER FILE DEVICE 4460 K1=2 : REM KEY FILE DEVICE 4470 $OPEN #K,#K1 4480 STR(K1$,5,2)="K1" : REM KEY FILE NAME 4490 LIMITS T#K,K$,Q9,L2,Q9 4500 DATA LOAD DC OPEN T#K,K$ 4510 DATA SAVE DC #K,END 4520 M$()=HEX(A00002FD)&"MUX "&K$ 4530 DATA SAVE BA T$#K,(L2)M$() : REM WRITE ACCESS TABLE - USER FILE 4540 REM %INITIALIZE KDR - KEY FILE 4550 DATA LOAD DC OPEN T#K1,K1$ : REM OPEN KEY FILE 4560 DATA LOAD DC #K1,Q9,T$() : REM READ OLD KEY DESCRIPTOR RECORD (KDR) 4570 DBACKSPACE #K1,1S 4580 $UNPACK(F=V$)T$(2)TO T0,T2$,Q2$,V2$,T8,V6$,V3$,Q3$,V8$ 4590 Q9=VAL(V6$) 4600 IF Q9>0THEN Q2$=BIN(Q9-1,2) : ELSE Q2$=BIN(52000,2) : REM UPPER BOUND 4601 REM Q2$=BIN(Q9-1,2) X OR ALL(FF) : REM LAST SECTOR USED (NEGATIVE),UF 4610 V1$=STR(T$(2),18) : REM IMPORTANT INFO, INCLUDING KEY LENGTH 4620 T4=VAL(STR(V1$,5)) : REM KEY LENGTH 4630 T2$,V2$,T9$=HEX(0001) : REM HIGH LEVEL SECTOR - ADDRESS 4640 T0=1 : REM NUMBER OF LEVELS 4650 T8=0 : REM RECORD COUNT 4660 INIT(5A)T$(1) : REM COMPLETION CODES - 'MUX' VERSION 4670 INIT(FF)STR(T$(1),17) : REM PROTECTED SECTORS - 'MUX' VERSION 4680 $PACK(F=V$)T$(2)FROMT0,T2$,Q2$,V2$,T8 4690 T$(3)=Q3$ & V8$ & STR(T$(3)) : REM LAST RECORD IN BLOCK, PER STATION 4700 DATA SAVE DC $#K1,0,T$() : REM SAVE KEY DESCRIPTOR RECORD (KDR) 4710 INIT(FF)T0$() : REM FIRST KEY INDEX RECORD (KIR) 4720 INIT(00)STR(T0$(1),,T4) : REM DUMMY KEY INDEX ENTRY (KIE) 4730 DATA SAVE DC $#K1,T9$,T0$() : REM SAVE FIRST KIR 4740 DATA SAVE DC $#K1,END : REM WRITE END OF KEY FILE 4750 REM SAVE RECOVERY INFORMATION - USER FILE 4760 M$()=HEX(A0FD)&T$() 4770 DATA SAVE BA T$#K,(L2-1)M$() 4780 REM SET T9=0 TO SUPPRESS THE SAVING OF KDR PARAMETERS WITH NEXT KFAM ACCE SS 4790 T9=0 4800 REM %RE-OPEN P.O. ACTIVITY FILE AND ADD NEW KEYS 4810 GOSUB '230(1,2,1,1,K$,4," ",D7$(2),D7$(1)) 4820 IF Q$>" " THEN 4960 4830 DBACKSPACE #1,BEG : REM START AT BEGINNING OF WORK FILE 4835 DBACKSPACE #3,BEG 4840 J=0 4850 PRINT AT(7,0,80);"Processing vendor";HEX(06) 4860 J=MOD(J,N2)+1 4870 IF J=1 THEN DATA LOAD DC #3,D6$() 4880 IF END THEN 5030 4890 IF STR(D6$(J),,1)=HEX(FF) THEN 5030 4900 PRINT AT(7,11,18);D6$(J) 4910 T4$=HEX(000001) : REM DUMMY POINTER 4915 V8=.2 4920 GOSUB '234(1,0,D6$(J),0) : REM FINDNEW (HERE) - DUMMY USER FILE 4930 IF Q$>" " THEN 4960 4940 GOTO 4860 4950 REM %ERROR EXIT 4960 PRINT AT(5,0,240);"Remaining records in the P.O. activity file have j ust been lost." 4970 PRINT "They can only be recovered from a backup disk." 4980 Q6$=" " 4990 GOSUB '91 5000 PRINT AT(1,0,80);HEX(07);"Program will be terminated." 5010 GOSUB '254 5020 REM %END OF FILE 5030 GOSUB '239(1) 5040 GOSUB '219(S$(3),3,S2," ",0) 5050 COM CLEAR I 5060 LOAD TM$ 9010 REM %^VARIABLES 9030 REM D6 = COUNTER FOR P.O. ACTIVITY RECORDS 9040 REM D6$() = BUFFER FOR P.O. ACTIVITY RECORDS 9050 REM D7$() = BUFFER FOR FILE ADDRESSES 9060 REM $ 9998 DEFFN'29"Q$=";HEX(22);"INVT090B";HEX(22);":SCRATCH TQ$:SAVET$()Q$";HEX(0D ) 9999 DEFFN'30"DIM Z$57:IF STR(I0$,,1)=HEX(20)THENI0$=HEX(323135):Z$=";HEX(22); "GBS/MVP - P.O. Activity file reorganization.";HEX(22);":SELECT#15<I0$>:$ OPEN#15:SELECTLIST<I0$>(132): LIST Z$:LIST Z$#:LIST Z$V:LIST Z$':$CLOSE#1 5:SELECTLIST005(80)";HEX(0D)