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/

Reply via email to