Listing of file='INVT030A' on disk='vmedia/701-2616C.wvd.zip'
# Sector 218, program filename = 'INVT030A' 0010 REM INVT030A, RELEASE 2.0, (06/01/79) 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, INVENTORY TRANSACTIONS 0040 REM PROGRAM FUNCTION = ENTER INVENTORY WITHDRAWALS, RECEIPTS, COUNTS 0050 REM DATE WRITTEN = 06/30/78 MK 0060 REM LAST REVISION = 08/12/79 MK 0070 REM --------------------------------------------------------------------- 0170 DIM A7$1,A7$(5)21,A8$9,B7$1,L1$14 0198 GOTO 4000 3996 REM ************************* 3997 REM ! INVENTORY TRANSACTION ! 3998 REM ************************* 3999 REM 4000 SELECT @PART S0$ 4010 A6=37 : REM STARTING COLUMN FOR FIELD VALUES DISPLAY 4020 B6=8 : REM STARTING LINE FOR MODIFIABLE FIELDS 4030 B$()="I" 4040 PACK(##)STR(B$(1),2)FROM S2 4050 L1$=HEX(A0)&BIN(Q0)&HEX(A002A001500350036204A0)&BIN(MIN(36-Q0,24)) 4060 REM %CALCULATE AVAILABLE SPACE - TRANSACTION AUDIT FILE 4070 LIMITS T#3,S$(3),Q6,Q7,Q8 4080 Q9=(Q8-2)/(Q7-Q6-1) 4090 IF Q9>.8THEN PRINT AT(3,0,80);HEX(07);"Transaction audit file is";INT (Q9*100);"% full." 4100 IF Q9<.95THEN 4140 4110 GOSUB '254 4120 GOSUB '31 4130 % ##,###,###- 4140 A7$(1)="Receipts" 4150 A7$(2)="Withdrawals" 4160 A7$(3)="On Order adjustments" 4170 A7$(4)="Physical count" 4180 A7$(5)="All types" 4190 REM %ACQUIRE TRANSACTION TYPE 4200 PRINT AT(5,0,);," 0 = Return to menu." 4210 FOR I=1 TO 5 4220 PRINT ,I;"= ";A7$(I);"." 4230 NEXT I 4240 GOSUB '100("0","5",1,0,"ENTER DESIRED OPTION",1) 4250 IF Q6$=HEX(1F)THEN GOSUB '31 4260 IF Q9=0 THEN 5380 4270 A7$,B7$=A7$(Q9) 4280 PRINT AT(0,55,25);"- ";A7$(Q9) 4290 REM ACQUIRE PRODUCT ID 4300 PRINT AT(4,0,) 4310 GOSUB '100(" ",HEX(7F),Q0,0,"ENTER PRODUCT ID (OR END)",2) 4320 IF Q6$=HEX(1F)THEN GOSUB '31 4330 IF Q6$="END"OR Q6$="end"THEN 4200 4340 A7,A8,A9,P9=0 4350 GOSUB '96(2) : REM CONSTRUCT KEY FIELD 4360 F1$=Q6$ 4370 GOSUB '232(1,1,F1$) 4380 GOSUB '91 4390 IF J0=3OR J0=7THEN 4310 4400 IF J0>0THEN 5450 4410 REM %READ AND DISPLAY PRODUCT DATA 4420 GOSUB '52(2) 4430 PRINT AT(4,0,0);,"PRODUCT ID";TAB(A6);F1$ 4440 PRINT ,"DESCRIPTION";TAB(A6);F2$ 4450 PRINT ,"U/M";TAB(A6);F3$ 4460 REM %ACQUIRE TRANSACTION TYPE 4470 Q6$=A7$ 4480 Q9=POS("RWOP"=A7$) 4490 IF B7$="A" THEN GOSUB '100("R,W,O,P","RrWwOoPp",1,1,"ENTER OPTION DES IRED (R=RECEIPT, W=WITHDRAWAL, O=ON ORDER ADJ, P=PHYSICAL COUNT)",2) 4500 IF Q6$=HEX(1F)THEN GOSUB '31 4510 A7$=Q6$ 4520 PRINT AT(B6,0,0);,"TYPE";TAB(A6);A7$(Q9) 4530 ON Q9GOTO 4580,4550,4800,5050 4540 REM SETUP COST FOR WITHDRAWAL 4550 M6=-1 4560 A9=F 4570 REM ACQUIRE QUANTITY 4580 GOSUB '100("1","99999",5,0,"ENTER QUANTITY",1) 4590 IF Q6$=HEX(1F)THEN GOSUB '31 4600 A8=Q9 4610 PRINT AT(B6+1,0,0);,"QUANTITY";TAB(A6); 4620 PRINTUSING 4130,A8 4630 IF A7$="W"THEN 4970 : REM USE COST FROM INVENTORY FILE 4640 REM DETERMINE MAXIMUM ALLOWABLE UNIT COST 4650 CONVERT 999999.99/A8 TO A8$,(######.##) 4660 PRINT AT(3,0,80);"Maximum extended (total) cost cannot exceed $999,99 9.99." 4670 GOSUB '100("0",A8$,ROUND((LOG(999999.99/A8)/LOG(10),0),2,"ENTER UNIT COST (0=ENTER TOTAL COST)",1) 4680 IF Q6$=HEX(1F)THEN GOSUB '31 4690 IF Q9>0THEN 4750 4700 REM CALCULATE UNIT COST 4710 GOSUB '100("0","999999.99",6,2,"ENTER TOTAL COST",1) 4720 IF Q6$=HEX(1F)THEN GOSUB '31 4730 Q9=Q9/A8 4740 REM SETUP COST FOR RECEIPT 4750 M6=1 4760 A9=Q9 4770 PRINT AT(B6+2,0,0);,"UNIT COST";TAB(A6); 4780 PRINTUSING " ###,###.##-",A9 4790 E1=E1-A8 : REM REDUCE ON ORDER QTY BY RECEIPT 4800 PRINT AT(B6+4,0,0);,"QUANTITY ON ORDER";TAB(A6); 4810 PRINTUSING 4130,E1 4820 Q6$=" " 4830 IF A7$<>"O"THEN GOSUB '100("Y,N","YyNnN ",1,1,"DO YOU NEED TO ADJUST ON ORDER QUANTITY (Y OR N) (Default = 'N')",2) 4840 IF Q6$=HEX(1F)THEN GOSUB '31 4850 IF Q6$="N"THEN 4970 4860 REM ACCEPT QUANTITY 4870 GOSUB '100("-99999","99999",5,0,"ENTER ON ORDER ADJUSTMENT QUANTITY", 1) 4880 IF Q6$=HEX(1F)THEN GOSUB '31 4890 A7=Q9 4900 REM DISPLAY 4910 PRINT AT(B6+3,0,0);,"ON ORDER ADJUSTMENT";TAB(A6); 4920 PRINTUSING 4130,A7 4930 E1=E1+A7 : REM ADJUST ON ORDER FIELD 4940 PRINT ,"QUANTITY ON ORDER";TAB(A6); 4950 PRINTUSING 4130,E1 4960 IF A7$="O" THEN 5020 : REM CHECK FOR ON ORDER TYPE 4970 Q9=E*F 4980 E=E+A8*M6 : REM ADJUST QUANTITY 4990 IF A7$="R" THEN F1=A9 : REM INSERT LAST UNIT COST 5000 Q9=Q9+A8*A9*M6 : REM RECALCULATE TOTAL COST 5010 IF E>0THEN F=ROUND((Q9/E,2) 5020 H0=Q1 : REM INSERT LAST ACTIVITY DATE 5030 GOTO 5160 5040 REM PHYSICAL INVENTORY ENTRY 5050 PRINT AT(B6+1,0,0);,"PHYSICAL ON HAND";TAB(A6); 5060 PRINTUSING 4130,F5 5070 PRINT ,"PHYSICAL COUNT";TAB(A6); 5080 PRINTUSING 4130,E0 5090 GOSUB '100("-9999999","9999999",7,0,"ENTER QUANTITY",1) 5100 IF Q6$=HEX(1F)THEN GOSUB '31 5110 P9=Q9 5120 PRINT AT(B6+3,0);,"PHYSICAL ENTRY";TAB(A6); 5130 PRINTUSING 4130,P9 5140 E0=E0+P9 5150 REM CHECK ENTRY 5160 GOSUB '100("Y,N","YyY Nn",1,1,"IS ENTRY OK (Y OR N)",2) 5170 IF Q6$=HEX(1F)THEN GOSUB '31 5180 IF Q6$="N"THEN 4300 5190 REM %MOVE DATA TO TRANSACTION AUDIT FILE 5200 $PACK(F=L1$)N1$(G0)FROMF1$,F3$,A7$,A7,A8,A9,F2$ 5210 B7=B7+A7 5220 B8=B8+A8*M6 5230 B9=B9+A9*A8*M6 5240 P8=P8+P9 5250 REM WRITE ADJUSTED INVENTORY RECORD 5260 DBACKSPACE #2,1S 5270 GOSUB '42(2) 5280 GOSUB '238(1) 5290 REM %WRITE TO TRANSACTION AUDIT FILE 5300 G0=G0+1 5310 IF G0<6THEN 4300 5320 GOSUB '48(3) 5330 G0=1 5340 N1$()=ALL(FF) 5350 IF Q9<.95 THEN 4300 5360 GOSUB '254 5370 REM %END OF PROGRAM 5380 $PACK(F=L1$)N1$(G0)FROM" "," ","T",MIN(B7,99999),MIN(B8,99999),MIN(B9 ,999999.99),"TOTAL" 5390 IF P8=0THEN 5430 5400 IF G0=5THEN GOSUB '48(3) 5410 G0=MOD(G0,5)+1 5420 $PACK(F=L1$)N1$(G0)FROM" "," ","T",0,MIN(P8,99999),0,"PHYSICAL COUNT TOTAL" 5430 GOSUB '48(3) 5440 REM %LOAD MENU 5450 DEFFN'31 5460 LOAD TM$ 9000 REM %^VARIABLES 9010 REM A7 = ON ORDER ADJUSTMENT QUANTITY 9020 REM A8$ = MAXIMUM VALUE FOR UNIT COST 9030 REM A7$ = TRANSACTION TYPE 9040 REM A8 = QUANTITY 9050 REM A9 = UNIT COST 9060 REM B7 = ON ORDER ADJUSTMENT - TOTAL 9070 REM B8 = QUANTITY TOTAL 9080 REM B9 = TOTAL COST 9090 REM B7$ = STORAGE FOR TRANSACTION TYPE 9110 REM M6 = MULTIPLIER 9120 REM P8 = PHYSICAL ENTRY - TOTAL 9130 REM P9 = PHYSICAL ENTRY 9140 REM $ 9998 DEFFN'29"Q$=";HEX(22);"INVT030A";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 - Enter inventory transactions.";HEX(22);":SELECT#15<I0$>:$OPEN# 15:SELECTLIST<I0$>(132): LIST Z$:LIST Z$#:LIST Z$V:LIST Z$':$CLOSE#15:SEL ECTLIST005(80)";HEX(0D)