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


Reply via email to