home *** CD-ROM | disk | FTP | other *** search
-
- REMARK #########################################################
- REMARK # ACCOUNTS RECEIVABLE TRANSACTION ENTRY (A/R010) #
- REMARK # VERS. OF 3.30 PM 5/23/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=3:X2$="ENTER ACTION (1=RECORD,2=MORE CHANGES, 3=CANCEL)"
- 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 IF C1<>1 THEN RETURN REMARK ENTER TRANSACTION TYPE (NEW INVOICES ONLY)
- X1=328:X2=1:X3=1:X4=3:GOSUB 345
- B=X0
- RESTORE
- FOR I%=1 TO B
- READ X0$
- NEXT I%
- X1=330:GOSUB 210
- PRINT X0$;
- RETURN
-
- 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)*F2+ABS(X0)
- D(5)=ABS(X0)
- F2=1
- 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)*F3+X0 REMARK ADJUST PAYMENT TOTAL
- D(9)=X0
- F3=1
- RETURN
-
-
- 5260 X1=30:GOSUB 210 REMARK DISPLAY TRANSACTION OPERATION DESCIPTION
- RESTORE
- FOR I%=1 TO 3+C1
- READ X0$
- NEXT I%
- PRINT X0$;" ";
- 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, \
- "CRT" RECL 1100 AS 19,"A/R0F030.DAT" AS 5
- FILE.NO=4:GOSUB 3.14 REMARK RETRIEVE A/R EXTENT INFORMATION
- X0=14:GOSUB 260 REMARK DISPLAY TRANSACTION ENTRY OPERATION SELECTION MASK
- MAX.TRANSACTION.RCDS=200
- A1=5:GOSUB 3700 REMARK RETRIEVE A/R TAX CODE INFORMATION
- 6025 X2=1:X3=0:X4=6:X2$="ENTER OPERATION CODE (SEE BELOW)":GOSUB 665 REMARK ENTER OPERATION
- IF X0=0 THEN 6520 REMARK EXIT PROGRAM ON ZERO OPERATION CODE
- C2=X0:C1=X0
- GOSUB 5260 REMARK DISPLAY TRANSACTION OPERATION DESCRIPTION
- 6040 X1=265:X2=6:X3=0:X4=0:GOSUB 345 REMARK ENTER CUSTOMER NUMBER
- IF X0$<=" "THEN 6025
- W1$=X0$
- IF W1$=W6$ THEN 6100 REMARK RETRIEVE NEW CUSTOMER DATA IF NECESSARY
- RECORD.COUNT=AR.CUSTFILE.EXTENT
- Y2=2
- XYZ$=W1$+" "
- K$=LEFT$(XYZ$,6):GOSUB 1060
- IF H=-1 OR VAR1=0 THEN X2$="NOT ON FILE":GOSUB 615:GOTO 6040
- 6060 Y9=2:X0=L:GOSUB 3225
- W6$=W1$
- 6080 X1=265:GOSUB 210
- PRINT W1$;
- 6100 X1=256:GOSUB 210 REMARK DISPLAY CUSTOMER DATA
- FOR I%=2 TO 5
- X1=18:GOSUB 215
- PRINT USING "/ /";M$(I%)
- NEXT I%
- 6200 FOR I%=1 TO 13 REMARK CLEAR TRANSACTION VARIABLES
- D(I%)=0
- NEXT I%
- F2=0:F3=0
- X1=308:X2=6:X3=0:X4=999999:GOSUB 345 REMARK ENTER INVOICE NUMBER
- IF X0=0 THEN 6040
- L1=X0
- 6210 RECORD.COUNT=AR.INVFILE.EXTENT
- XYZ$=W1$+" ":ZYX$="000000"+X0$
- K$=LEFT$(XYZ$,6)+RIGHT$(ZYX$,6)
- Y2=3:GOSUB 1060
- IF C1>1 THEN 6400 REMARK IF OPERATION IS NOT NEW INVOICE, BRANCH
- IF H<>-1 THEN X2$="ALREADY ON FILE":GOSUB 615:GOTO 6200
- X0=15:GOSUB 260 REMARK DISPLAY MASK
- GOSUB 5000 REMARK DISPLAY CUSTOMER DATA
- FOR F%=1 TO 6 REMARK ENTER TRANSACTION FIELD VALUES
- GOSUB 5020
- NEXT F%
- IF L4(1)<>0 THEN GOSUB 5160: \ REMARK IF BILL DATE IS ZERO, DON'T ENTER INVOICE FIELDS
- GOSUB 5180: \
- GOSUB 4000: \
- GOSUB 5200: \
- GOSUB 4020
- 6220 IF B=2 THEN L4(2)=0:GOTO 6240 REMARK PROGRESS BILLING NOT ALLOWED ON CREDIT MEMOS
- GOSUB 5220
- IF L4(2)<>0 THEN GOSUB 5240: \ REMARK IF PROGRESS DUE DATE IS ZERO,
- GOSUB 5250: \ REMARK DON'T ENTER PROGRESS BILLING FIELDS
- GOSUB 4080: \
- GOSUB 4020
- 6240 X2=2:X3=0:X4=12:X2$="ENTER FIELD TO CHANGE (0=NONE)":GOSUB 665 REMARK ALLOW CHANGES TO ENTRIES
- IF X0=0 THEN 6260
- F%=X0
- GOSUB 5020
- IF F%<5 THEN 6240
- GOSUB 4000
- IF F%>9 THEN GOSUB 4080
- GOTO 6240
-
- 6260 GOSUB 4120 REMARK CHECK FOR CONSISTENCY, AND ENTER ACTION CODE
- IF X0=2 THEN 6240 REMARK MORE CHANGES REQUESTED
- 6280 IF X0=3 THEN X2$="TRANSACTION CANCELLED":GOSUB 615:\ REMARK CANCEL TRANSACTION
- X0=14:GOSUB 260:GOSUB 5260:GOTO 6080
- 6300 IF D(5)=0 OR B<>1 THEN D(12)=0
- C2=C1
- 6360 AR.TRANFILE.EXTENT=AR.TRANFILE.EXTENT+1
- FILE.NO=1:REC.NO%=AR.TRANFILE.EXTENT:GOSUB 3450 REMARK SAVE TRANSACTION ON FILE
- CLOSE 1,4 REMARK CLOSE AND RE-OPEN FILES IN CASE OF DISASTER
- OPEN "A/R0F020.DAT" RECL 226 AS 1, "A/R0F130.DAT" AS 4
- FILE.NO=4:GOSUB 3.15 REMARK SAVE NEW EXTENT INFORMATION TO FILE
- X2$="RECORDED":GOSUB 615
- IF AR.TRANFILE.EXTENT < MAX.TRANSACTION.RCDS THEN \ REMARK IF THE TRANSACTION FILE IS NOT YET FULL...
- X0=14:GOSUB 260: \ REMARK DISPLAY TRANSACTION ENTRY OPERATION SELECTION MASK
- GOSUB 5260: GOTO 6080 \ REMARK AND CONTINUE WITH TRANSACTION ENTRY
- ELSE \
- PRINT CLEAR.SCREEN$;"TRANSACTION FILE FULL - RUN A/R UPDATE"
- PRINT "KEY <RETURN> TO EXIT":INPUT "";LINE X0$: \
- GOTO 6520
-
-
-
- 6400 IF H=-1 THEN X2$="NOT ON FILE":GOSUB 615:GOTO 6200 REMARK OPERATION IS OTHER THAN NEW INVOICE
- FILE.NO=3:REC.NO%=L:GOSUB 3400 REMARK RETRIEVE EXISTING INVOICE DATA
- X0=15:GOSUB 260 REMARK DISPLAY TRANSACTION MASK
- GOSUB 5000 REMARK DISPLAY TRANSACTION TYPE AND OPERATION
- GOSUB 5280 REMARK DISPLAY TRANSACTION VALUES
- ON C1-1 GOTO 6440,6460,6480,6500,6240 REMARK BRANCH ON OPERATION CODE
-
-
- REMARK OPERATION IS INVOICE BILLING
- 6440 IF L4(1)=0 THEN GOSUB 5120: \ REMARK ENTER BILL DATE
- GOSUB 5160: \ REMARK ENTER INVOICE AMOUNT
- GOSUB 5180: \ REMARK ENTER SHIPPING/TRAVEL AMOUNT
- GOSUB 4000: \ REMARK CALCULATE AND DISPLAY INVOICE BALANCE
- GOTO 6240 \ REMARK BRANCH TO ALLOW CHANGES TO ENTRIES
- ELSE \ REMARK IF ALREADY BILLED, TRY AGAIN
- FOR I%=1 TO 2: \
- X2$="ALREADY BILLED":GOSUB 615: \
- NEXT I%: \
- X0=14:GOSUB 260:GOSUB 5260:GOTO 6080
-
- REMARK OPERATION IS INVOICE PAYMENT
- 6460 GOSUB 5200 REMARK ENTER PAYMENT AMOUNT
- GOSUB 4020 REMARK DISPLAY INVOICE BALANCE
- GOSUB 4120 REMARK CHECK FOR INCONSISTENCIES, AND ENTER ACTION CODE
- IF X0=2 THEN GOTO 6460 \ REMARK IF ACTION CODE IS 2, ALLOW CHANGES
- ELSE GOTO 6280
-
-
- REMARK OPERATION IS PROGRESS PAYMENT
- 6480 GOSUB 5250 REMARK ENTER PROGRESS PAYMENT AMOUNT
- GOSUB 4080 REMARK DISPLAY PROGRESS BALANCE
- GOSUB 4020 REMARK DISPLAY INVOICE BALANCE
- GOSUB 4120 REMARK CHECK FOR INCONSISTENCIES, AND ENTER ACTION CODE
- IF X0=2 THEN GOTO 6480 \ REMARK IF ACTION CODE IS 2, ALLOW CHANGES
- ELSE GOTO 6280
-
-
- REMARK OPERATION IS DELETE
- 6500 X2=3:X3=0:X4=0:X2$="ENTER DELETE CODE":GOSUB 665 REMARK OPERATOR MUST VERIFY DELETE OPERATION
- IF X0$="DEL" THEN 6300
- X0=14:GOSUB 260
- GOSUB 5260
- GOTO 6080
-
-
- 6520 PRINT CLEAR.SCREEN$;"A/R TRANSACTION ENTRY LOADING MENU" REMARK END PROGRAM AND RE-LOAD MENU
- CHAIN "A/P000"
-