home *** CD-ROM | disk | FTP | other *** search
-
- REMARK #########################################################
- REMARK # A/R TRANSACTION FILE MAINTENANCE (A/R070) #
- REMARK # VERS. OF 3.00 PM 3/5/79 #
- REMARK #########################################################
-
- DIM L4(2),D(13),Y(2),M$(5),R$(10),R1(10),R2(10)
- %INCLUDE CURSOR
- GOTO 6000
- %INCLUDE SUBS1
- %INCLUDE BINSEARC
- %INCLUDE A/R-INV
- %INCLUDE READCUST
- %INCLUDE A/R-INFO
- %INCLUDE A/RTAX
- DATA "INVOICE","CR MEMO","DB MEMO","NEW","INV BILLING"
- DATA "INV PAYMENT","PROG PAYMENT","DELETE","MODIFY"
-
-
- .673 Z0=X1 REMARK ENTER & DISPLAY DATE: ALLOW ZERO DATE
- GOSUB 210
- PRINT " ";
- X2=6
- X3=0
- X4=123199
- GOSUB 345 REMARK ENTER THAT DATE
- IF X0=0 THEN X0$="000000"
- IF LEN(X0$)<5 THEN X1=Z0:GOTO .673
- .6735 IF LEN(X0$) < 6 THEN X0$="0"+X0$:GOTO .6735
- IF MID$(X0$,1,2)>="00" AND MID$(X0$,1,2)<="12"\
- AND MID$(X0$,3,2)>="00" AND MID$(X0$,3,2) <="31" THEN .675
- X2$="OUT OF RANGE":GOSUB 615:X1=Z0:GOTO .673
- .675 X0=VAL(X0$)
- .680 GOSUB 210
- .6805 X0$=STR$(X0)
- .6806 IF LEN(X0$)<6 THEN X0$="0"+X0$:GOTO .6806
- .681 PRINT LEFT$(X0$,2);"/";MID$(X0$,3,2);"/";RIGHT$(X0$,2);
- RETURN
-
-
- 4000 D(3)=INT((D(1)*R1(L6+1))+.5)/100 REMARK COMPUTE SALES TAX AND INVOICE TOTAL
- D(4)=D(3)+D(2)+D(1)
- X1=704:GOSUB 210
- GOSUB 5440 REMARK REDISPLAY INVOICE AMOUNTS AND TOTAL
- 4020 D(7)=D(4)-D(6) REMARK COMPUTE INVOICE BALANCE
- IF L4(2)<>0 THEN D(7)=D(7)-D(8)
- IF L4(1)=0 THEN D(7)=0 REMARK IF BILL DATE IS ZERO, INVOICE BALANCE IS ZERO
- 4060 X1=320:GOSUB 210
- I1%=5:I2%=7:GOSUB 4320 REMARK DISPLAY INVOICE PAYMENT AND BALANCE
- RETURN
-
-
- 4080 D(11)=D(8)-D(10) REMARK COMPUTE PROGRESS BALANCE
- IF L4(2)=0 THEN D(11)=0 REMARK ZERO PROGRESS BALANCE IF PROGRESS DUE DATE IS ZERO
- X1=640:GOSUB 210
- I1%=8:I2%=11:GOSUB 4320 REMARK DISPLAY PROGRESS BILLING FIELDS
- RETURN
-
- REMARK CHECK FOR INCONSISTENCIES BETWEEN FIELDS
- 4120 IF D(7)<0 THEN 4220 REMARK NEGATIVE INVOICE BALANCE ILLEGAL
- IF D(11)<0 THEN 4220 REMARK NEGATIVE PROGRESS BALANCE ILLEGAL
- IF L4(1)<>0 THEN 4140 REMARK IF BILL DATE IS ZERO...
- IF D(4)<>0 THEN 4220 REMARK INVOICE PAYMENT MUST BE ZERO
- IF D(5)<>0 THEN 4220 REMARK AND INVOICE BALANCE MUST BE ZERO
- GOTO 4160
- 4140 IF D(4)=0 THEN 4220 REMARK IF BILL DATE IS NON-ZERO\
- INVOICE AMOUNT MUST BE NON-ZERO
- 4160 IF L4(2)<>0 THEN 4180 REMARK IF PROGRESS DUE DATE IS ZERO...
- IF D(8)<>0 THEN 4220 REMARK PROGRESS BILLING AMOUNT MUST BE ZERO
- IF D(9)<>0 THEN 4220 REMARK AND PROGRESS BALANCE MUST BE ZERO
- GOTO 4200
- 4180 IF D(8)=0 THEN 4220 REMARK IF PROGRESS DUE DATE IS NON-ZERO,\
- PROGRESS BILLING AMOUNT MUST BE NON-ZERO
-
- REMARK DETERMINE TRANSACTION'S FATE
- 4200 X2=1:X3=1:X4=4:X2$="ENTER ACTION: 1=RECORD, 2=MORE CHANGES, 3=CANCEL,"
- X2$=X2$+" 4=VOID TRANS":GOSUB 665
- RETURN
-
- 4220 FOR I%=1 TO 2 REMARK FLASH NASTY MESSAGE ON SCREEN
- X2$="DATE OR AMOUNT FIELD MISSING OR NEGATIVE BALANCE":GOSUB 615
- NEXT I%
- X0=2
- RETURN
-
-
- 4320 FOR I%=I1% TO I2% REMARK DISPLAY TRANSACTION FIELDS I1% THROUGH I2%
- X1=50:GOSUB 215
- PRINT USING MASKB$;D(I%)
- NEXT I%
- RETURN
-
- 5000 GOSUB 5260 REMARK DISPLAY CUSTOMER DATA
- X1=265:GOSUB 210
- PRINT W1$;TAB(12);M$(2);TAB(40);
- X1=12:GOSUB 215
- PRINT USING MASKA$;L1
- RETURN
-
- REMARK BRANCH TO ENTER VALUE FOR FIELD "F%"
- 5020 ON F% GOTO 5040,5060,5080,5100,5120,5140,5160,5180,5200,5220,5240,5250
-
- 5040 RETURN REMARK TRANSACTION TYPE CAN'T CHANGE
-
- 5060 X1=403:X2=12:X3=0:X4=0:GOSUB 345 REMARK ENTER CUSTOMER ORDER NUMBER
- L1$=X0$
- RETURN
-
- 5080 X1=462:X2=6:X3=0:X4=999999:GOSUB 345 REMARK ENTER JOB NUMBER
- L2=X0
- RETURN
-
- 5100 X1=526:X2=6:X3=0:X4=0:GOSUB 345 REMARK ENTER JOB DESCRIPTION
- L2$=X0$
- RETURN
-
- 5120 X1=590:GOSUB .673 REMARK ENTER BILL DATE
- L4(1)=X0
- RETURN
-
- 5140 X1=652:X2=1:X3=0:X4=9:GOSUB 345 REMARK ENTER TAX CODE
- L6=X0
- GOSUB 5400 REMARK DISPLAY TAX CODE DESCRIPTION AND RATE
- D(13)=0
- IF L6>0 THEN 5420
- X1=718:X2=8:X3=-99999.9:X4=99999.9:GOSUB 345 REMARK FOR TAX CODE ZERO, ENTER G/L ACCOUNT NUMBER
- D(13)=X0
- RETURN
-
- 5160 X1=787:X2=10:X3=0:X4=9999999.99:GOSUB 345 REMARK ENTER INVOICE AMOUNT
- D(1)=X0
- RETURN
-
- 5180 X1=851:X2=10:X3=0:X4=9999999.99:GOSUB 345 REMARK ENTER SHIPPING/TRAVEL AMOUNT
- D(2)=X0
- RETURN
-
- 5200 X1=369:X2=11:X3=-9999999.99:X4=9999999.99:GOSUB 345 REMARK ENTER INVOICE PAYMENT AMOUNT
- X1=363:GOSUB 210
- D(6)=D(6)-D(5)+ABS(X0)
- D(5)=ABS(X0)
- IF X0>=0 OR B=2 THEN PRINT " ";:D(12)=0 \
- ELSE PRINT "BY CM";:D(12)=1
- RETURN
-
- 5220 X1=628:GOSUB .673 REMARK ENTER PROGRESS DUE DATE
- L4(2)=X0
- RETURN
-
- 5240 X1=690:X2=10:X3=0:X4=9999999.99:GOSUB 345 REMARK ENTER PROGRESS BILLING AMOUNT
- D(8)=X0
- RETURN
-
- 5250 X1=754:X2=10:X3=0:X4=9999999.99:GOSUB 345 REMARK ENTER PROGRESS PAYMENT
- D(10)=D(10)-D(9)+X0 REMARK ADJUST PAYMENT TOTAL
- D(9)=X0
- RETURN
-
-
- 5260 X1=16:GOSUB 210 REMARK DISPLAY TRANSACTION OPERATION DESCRIPTION
- PRINT "FILE MAINTENANCE";
- RETURN
-
-
- 5280 X1=9:GOSUB 215 REMARK DISPLAY CURRENT TRANSACTION VALUES
- PRINT B;
- RESTORE
- FOR I%=1 TO B
- READ X0$
- NEXT I%
- PRINT X0$
- X1=20:GOSUB 215
- PRINT L1$
- X1=15:GOSUB 215
- PRINT USING MASKA$;L2
- X1=15:GOSUB 215
- PRINT L2$
- X1=15:GOSUB 215
- X0=L4(1):GOSUB 680.5
- PRINT
- X1=12:GOSUB 215
- PRINT L6;
- GOSUB 5400
- IF L6=0 THEN X1=15:GOSUB 215:PRINT USING MASKC$;D(13); \
- ELSE GOSUB 5420
- GOSUB 5440
- GOSUB 4060
- PRINT
- X1=53:GOSUB 215
- X0=L4(2):GOSUB 680.5
- PRINT
- I1%=8:I2%=11:GOSUB 4320
- RETURN
-
-
- 5400 X1=654:GOSUB 210 REMARK DISPLAY TAX CODE DESCRIPTION AND RATE
- PRINT USING MASKD$;R$(L6+1),R1(L6+1)
- RETURN
-
- 5420 X1=718:GOSUB 210 REMARK DISPLAY TAX CODE'S G/L ACCOUNT NUMBER
- PRINT USING MASKC$;R2(L6+1);
- RETURN
-
- 5440 FOR I%=1 TO 4 REMARK DISPLAY INVOICE AMOUNT, SHIPPING, TAX, AND TOTAL
- PRINT
- X1=19:GOSUB 215
- PRINT USING MASKB$;D(I%);
- NEXT I%
- RETURN
-
-
-
- REMARK START OF MAIN PROGRAM
- 6000 MASKA$="######"
- MASKB$=" #######.##"
- MASKC$=" #####.#"
- MASKD$="/ / ##.##%"
- OPEN "A/R0F020.DAT" RECL 226 AS 1,"A/R0F110.DAT" RECL 162 AS 2, \
- "A/R0F120.DAT" RECL 226 AS 3,"A/R0F130.DAT" AS 4, \
- "A/R0F030.DAT" AS 5,"CRT" RECL 1100 AS 19
- FILE.NO=4:GOSUB 3.14 REMARK RETRIEVE A/R EXTENT INFORMATION
- A1=5:GOSUB 3700 REMARK RETRIEVE A/R TAX CODE INFORMATION
- 6020 X0=15:GOSUB 260 REMARK DISPLAY TRANSACTION ENTRY OPERATION SELECTION MASK
- GOSUB 5260 REMARK DISPLAY PROGRAM TITLE
- 6040 X2=3:X3=0:X4=999:X2$="ENTER RECORD NO. TO CHANGE (0 TO END)" REMARK ENTER NUMBER OF TRANSACTION TO CHANGE
- GOSUB 665
- IF X0=0 THEN 6540 REMARK END PROGRAM ON ZERO RECORD NO.
- IF X0>AR.TRANFILE.EXTENT THEN 6040
- FILE.NO=1:REC.NO%=X0:GOSUB 3400 REMARK RETRIEVE TRANSACTION DATA
- IF C2>9 THEN X2$="TRANSACTION IS VOID":GOSUB 615:GOTO 6040
- RECORD.COUNT=AR.CUSTFILE.EXTENT
- Y2=2
- XYZ$=W1$+" "
- K$=LEFT$(XYZ$,6)
- GOSUB 1060 REMARK LOCATE CUSTOMER DATA
- IF H=-1 OR VAR1=0 THEN M$(2)="NOT ON CUSTOMER FILE" \
- ELSE Y9=2:X0=L:GOSUB 3225 REMARK RETRIEVE CUSTOMER DATA
- GOSUB 5000 REMARK DISPLAY CUSTOMER DATA
- GOSUB 5280 REMARK DISPLAY TRANSACTION DATA
- 6240 IF C2=5 THEN 6260 REMARK IF TRANSACTION OPERATION IS DELETE, DON'T ALLOW CHANGES
- X2=2:X3=0:X4=12:X2$="ENTER FIELD TO CHANGE (0=NONE)":GOSUB 665 REMARK ALLOW CHANGES TO FIELDS
- IF X0=0 THEN 6260
- F%=X0
- IF C2=4 AND F%<>12 THEN 6240
- IF C2=3 AND F%<>9 THEN 6240
- GOSUB 5020 REMARK ENTER VALUE FOR CHOSEN FIELD
- IF F%<5 THEN 6240
- GOSUB 4000 REMARK COMPUTE SALES TAX AND INVOICE TOTAL
- IF F%>9 THEN GOSUB 4080 REMARK COMPUTE PROGRESS BALANCE
- GOTO 6240
-
- 6260 GOSUB 4120 REMARK CHECK FOR CONSISTENCY
- IF X0=2 THEN 6240 REMARK ACTION CODE 2 = MORE CHANGES
- IF X0=3 THEN X2$="LAST CHANGES IGNORED":GOSUB 615:GOTO 6020 REMARK ACTION CODE 3 = IGNORE CHANGES
- IF X0=4 THEN C2=C2+10: \ REMARK ACTION CODE 4 = VOID TRANSACTION
- X2$="LAST TRANSACTION VOIDED": \
- GOSUB 615: GOTO 6360
- IF D(5)=0 OR B>1 THEN D(12)=0 REMARK CHECK FOR PAYMENT BY CREDIT MEMO
- X2$="RECORDED":GOSUB 615
- 6360 GOSUB 3450 REMARK UPDATE TRANSACTION FILE
- GOTO 6020
-
-
- REMARK END PROGRAM AND RELOAD MENU
- 6540 PRINT CLEAR.SCREEN$;"A/R TRANSACTION FILE MAINTENANCE LOADING MENU"
- CHAIN"A/P000"
-