This is about to drive me crazy. Anyone have a clue as to why my DEBUG
statement is only getting executed on the first record in the list of
records? I also have a problem with a DEBUG not getting executed when
returning from a subroutine after the first time it executes.
READ.CNT = 0
EOF = FALSE
LOOP
READNEXT RET.LET.ID FROM RET.LIST ELSE EOF = TRUE
UNTIL EOF DO
SKIP = FALSE
IS.KATRINA = @FALSE
READ RET FROM RET.FILE, RET.LET.ID THEN
READ.CNT += 1
RET.PRT.DT = OCONV(FIELD(RET.LET.ID,*,2), 'D4-')
CUST.MSTR.ID = FIELD(RET.LET.ID,*,1)
KATRINA.CUST.ITEM = '' ; * KATRINA CHANGE
READ KATRINA.CUST.ITEM FROM KATRINA.CUST.FILE, CUST.MSTR.ID
THEN IS.KATRINA = @TRUE ; * KATRINA CHANGE
KATRINA.CUST2.ITEM = '' ; * KATRINA CHANGE
READ KATRINA.CUST2.ITEM FROM KATRINA.CUST2.FILE,
CUST.MSTR.ID THEN IS.KATRINA = @TRUE; * KATRINA CHANGE
CLNT4.ID = CUST.MSTR.ID[1,4]
CLNT6.ID = CUST.MSTR.ID[1,6]
KATRINA.CLIENT.ITEM = '' ; * KATRINA CHANGE
READ KATRINA.CLIENT.ITEM FROM KATRINA.CLIENT.FILE, CLNT4.ID
THEN IS.KATRINA = @TRUE ; * KATRINA CHANGE
IF IS.KATRINA THEN ; * KATRINA CHANGE
CALL ERRORLOG('RETURN.LETTERS','No letters allowed due to
Katrina disaster',CUST.MSTR.ID,'','')
DELETE RET.FILE, RET.LET.ID
CONTINUE
END
IF CLNT4.ID = '' THEN CONTINUE ; *
SPEC.PHS4.FLAG = FALSE
MATREAD CUST.MSTR.ITEM FROM CUST.MSTR.FILE, CUST.MSTR.ID
ELSE
GOSUB WRITE.COMMENT
DELETE RET.FILE, RET.LET.ID
CONTINUE ; * skip to next record
END
WEEKLY.FLAG = FALSE
IF CUST.MSTR.ITEM(19) = 'S' OR CUST.MSTR.ITEM(19) = 'W' THEN
WEEKLY.FLAG = TRUE
IF CUST.MSTR.ITEM(44) = 'Y' THEN
DELETE RET.FILE, RET.LET.ID
CONTINUE ; * skip to next record
END
IF CUST.MSTR.ITEM(179) = 'Y' THEN ; * no contact FDCPA
CALL ERRORLOG('RETURN.LETTERS','No contact
FDCPA',CUST.MSTR.ID,'','')
DELETE RET.FILE, RET.LET.ID
CONTINUE
END
IF CUST.MSTR.ITEM(89) = 'N' THEN ; * no notices
allowed
CALL ERRORLOG('RETURN.LETTERS','No notices
allowed',CUST.MSTR.ID,'','')
DELETE RET.FILE, RET.LET.ID
CONTINUE
END
READ CLIENT.MSTR.ITEM FROM CLIENT.MSTR.FILE, CLNT4.ID ELSE
CALL ERRORLOG ('RETURN.LETTERS','Cannot read CLIENT.MSTR
file.',CLNT4.ID,'','')
CONTINUE ; * skip to next record
END
SUF = CUST.MSTR.ID[5,2]
READV REASON FROM PMT.TYPE, RET2,3 ELSE REASON = ''
CHGBK.FLAG = FALSE
BEGIN CASE
CASE RET2[1,2] = 'RC'
TYPE = 'Check'
CASE RET2[1,2] = 'RE'
TYPE = 'Draft'
CASE RET2[1,2] = 'REP'
TYPE = 'Draft Prenote'
CASE RET2[1,2] = 'RG' OR RET2[1,2] = 'RA'
TYPE = 'Credit Card'
IF RET2 = 'RG10' THEN
CHGBK.FLAG = TRUE
END
END CASE
PMT = CUST.MSTR.ITEM(20)
CLNT.PARAMETERS.ID =
CLNT.PARAMETERS.ID = CLNT6.ID
MAT CLNT.PARAMETERS.ITEM = ''
MATREAD CLNT.PARAMETERS.ITEM FROM CLNT.PARAMETERS.FILE,
CLNT.PARAMETERS.ID ELSE
CALL ERRORLOG ('RETURN.LETTERS','Cannot read
CLNT.PARAMETERS file',CLNT.PARAMETERS.ID,'','')
END
IF CLNT.PARAMETERS.ITEM(64) = 'Y' THEN
SPEC.PHS4.FLAG = TRUE
END
LATE.DATE = CTL.REC1
CALL
CALC.LATE.PAYMENT(LET.TOT,'',LET.LATE,LATE,BAL,'',LATE.UNPAID,RETURN.UNP
AID,'','','',ACCR.SW,OPN.FLAG,CUST.MSTR.ID,LATE.DATE) when I put a
debug here it does the same thing, it is skipped after the first break
unless I set a breakpoint
LET.RET = RETURN.UNPAID
LET.AMT = LET.TOT - LET.LATE - RETURN.UNPAID - LATE.UNPAID
BAL.DUE = BAL
DYS.LATE = DATE() - CUST.MSTR.ITEM(45)
CONTRACT.TYPE = CLNT.PARAMETERS.ITEM(97)
OPEN.END.FLAG = FALSE
IF CONTRACT.TYPE = 2 THEN
OPEN.END.FLAG = TRUE
END ELSE
IF CUST.MSTR.ITEM(101) # '' AND CUST.MSTR.ITEM(103)1,1
= '' THEN
OPEN.END.FLAG = TRUE
END
END
READ CUST.TRAN.ARCH.ITEM FROM CUST.TRAN.ARCH.FILE,
CUST.MSTR.ID ELSE
CALL ERRORLOG ('RETURN.LETTERS','Cannot read
CUST.TRAN.ARCH