THE FOLLOWING COMMAND USED TO WORK BUT I BELIEVE SOMEONE HAS CHANGED IT.
COULD SOMEONE LOOK AT IT AND HELP ME FIGURE OUT WHAT IS WRONG. I AM USING VER
7.1 AND WHEN THIS IS RUN IT BRINGS UP AN HOUR GLASS AND LOCKS UP THE PROGRAM.
THANK YOU,
DAVID
*(-----------------------------------AGE.CMD
AGES ACCOUNTS RECEIVABLE BALANCES
BY INCREMENTALLY SUBTRACTING CURRENT
PAYMENT FROM EXISTING BALANCE.)
*(---------------- SET UP VARIABLES.)
Set ANSI OFF
Set QUOTES = "
Set SINGLE = ?
Set MANY = *
Set AND OFF
SET VARIABLE THISPAY CURRENCY
SET VARIABLE REMAIN CURRENCY
SET VARIABLE MORE INTEGER
SET VARIABLE NEXTBAL INTEGER
SET VARIABLE BAL4 CURRENCY
SET VARIABLE BAL3 CURRENCY
SET VARIABLE BAL2 CURRENCY
SET VARIABLE BAL1 CURRENCY
SET VARIABLE BAL5 CURRENCY
*(-------------DISPLAY OPENING MESSAGES)
NEWPAGE
WRITE "AGING THE BALANCE..." AT 1,1
*(-----SET UP POINTER FOR LOOP THROUGH TABLE)
SET ERROR MESSAGE 705 OFF
DROP CURSOR cc1
SET ERROR MESSAGE 705 ON
DECLARE CC1 CURSOR FOR SELECT CUSTNUM FROM CUSTOMER
OPEN cc1
FETCH cc1 INTO passval INDI iv1, compare INDI iv2
WHILE SQLCODE <> 100 THEN
*(--0 IS "FALSE", 1 IS "TRUE" BELOW)
SET VARIABLE MORE TO 0
SET VARIABLE NEXTBAL TO 1
SET VARIABLE REMAIN TO 0
*(---------- 90+ DAY BALANCE)
SET VARIABLE THISPAY TO CURRPAY IN CUSTOMER
SET VARIABLE BAL4 TO BAL120 IN CUSTOMER
IF BAL4 > 0 THEN
SET VARIABLE REMAIN TO (.THISPAY - .BAL4)
IF REMAIN >= 0 THEN
UPDATE CUSTOMER SET BAL120 TO 0
SET VARIABLE MORE TO 1
ELSE
UPDATE CUSTOMER SET BAL120 TO (.REMAIN * -1)
SET VARIABLE NEXTBAL TO 0
ENDIF
ENDIF
*(--------- 90 DAY BALANCE)
SET VARIABLE BAL3 TO BAL90 IN CUSTOMER
IF NEXTBAL = 1 AND BAL3 > 0 THEN
IF MORE = 1 THEN
SET VARIABLE REMAIN TO (.REMAIN - .BAL3)
ELSE
SET VARIABLE REMAIN TO (.THISPAY - .BAL3)
ENDIF
IF REMAIN >= 0 THEN
UPDATE CUSTOMER SET BAL90 TO 0
SET VARIABLE MORE TO 1
ELSE
UPDATE CUSTOMER SET BAL90 TO (.REMAIN * -1)
SET VARIABLE NEXTBAL TO 0
ENDIF
ENDIF
*(--------- 60 DAY BALANCE)
SET VARIABLE BAL2 TO BAL60 IN CUSTOMER
IF NEXTBAL = 1 AND BAL2 > 0 THEN
IF MORE = 1 THEN
SET VARIABLE REMAIN TO (.REMAIN - .BAL2)
ELSE
SET VARIABLE REMAIN TO (.THISPAY - .BAL2)
ENDIF
IF REMAIN >= 0 THEN
UPDATE CUSTOMER SET BAL60 TO 0
SET VARIABLE MORE TO 1
ELSE
UPDATE CUSTOMER SET BAL60 TO (.REMAIN * -1)
SET VARIABLE NEXTBAL TO 0
ENDIF
ENDIF
*(--------- 30 DAY BALANCE)
SET VARIABLE BAL1 TO BAL30 IN CUSTOMER
IF NEXTBAL = 1 AND BAL1 > 0 THEN
IF MORE = 1 THEN
SET VARIABLE REMAIN TO (.REMAIN - .BAL1)
ELSE
SET VARIABLE REMAIN TO (.THISPAY - .BAL1)
ENDIF
IF REMAIN >= 0 THEN
UPDATE CUSTOMER SET BAL30 TO 0
SET VARIABLE MORE TO 1
ELSE
UPDATE CUSTOMER SET BAL30 TO (.REMAIN * -1)
SET VARIABLE NEXTBAL TO 0
ENDIF
ENDIF
*(--------- 0 DAY BALANCE)
SET VARIABLE BAL5 TO CURRCHG IN CUSTOMER
IF NEXTBAL = 1 AND BAL5 > 0 THEN
IF MORE = 1 THEN
SET VARIABLE REMAIN TO (.REMAIN - .BAL5)
ELSE
SET VARIABLE REMAIN TO (.THISPAY - .BAL5)
ENDIF
IF REMAIN >= 0 THEN
UPDATE CUSTOMER SET CURRCHG TO 0
SET VARIABLE MORE TO 1
ELSE
UPDATE CUSTOMER SET CURRCHG TO (.REMAIN * -1)
SET VARIABLE NEXTBAL TO 0
ENDIF
ENDIF
ENDWHILE
NEWPAGE
DROP CURSOR cc1
WRITE "BILL CYCLE COMPLETED..."
RETURN