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 = '0000' 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, RET<2>,3 ELSE REASON = ''
CHGBK.FLAG = FALSE
BEGIN CASE
CASE RET<2>[1,2] = 'RC'
TYPE = 'Check'
CASE RET<2>[1,2] = 'RE'
TYPE = 'Draft'
CASE RET<2>[1,2] = 'REP'
TYPE = 'Draft Prenote'
CASE RET<2>[1,2] = 'RG' OR RET<2>[1,2] = 'RA'
TYPE = 'Credit Card'
IF RET<2> = '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.REC<1>
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 file',CUST.MSTR.ID,'','')
END
CT.CNT = DCOUNT(CUST.TRAN.ARCH.ITEM<1>,VM)
USE.TR.DT = ''
CRT @(0,23):"Now reading ":CUST.MSTR.ID:" Record Count =
":READ.CNT 'R#4':@(-4): ;* added this code just to what the ids and the
number of records to prove it was skipping the debug
DEBUG * Only executing on first record, is getting ignored
the rest of the time unless I actually do this "250B" to set a
breakpoint
IF LET.AMT = 0 THEN
I have debugs in other places in the program that do not break for every
record that are working every time. This does not do this on our live
box that has 10.1.15.
By the way, if I RAID BP RETURN.LETTERS and enter a C expecting to
continue until it hits that debug statement on line 250. It never stops
at line 250 at all. If I use UniDebugger I have to set the line to
break on, all DEBUG statements are ignored and if I am remembering
correctly, it has always done that.
Is this a change to how the debugger works with 10.2? To recap the
DEBUG statement only works the first time it is executed in several
instances yet there are times it works every time. When it does work,
it is where there are multiple records but only a few hit those lines of
code based on the criteria.
Brenda Price
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/