image of READY prompt

Wang2200.org

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)