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 u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/