And another tool I have which helps is to add comments to the end of the terminating commands - e.g. ENDIF, ENDFOR, ENDDO, EXIT etc. which help to identify the branch / loop.
Viz. Without terminating comments... DO WHILE .T. *- Operate between 1am and 3pm local sydney time IF NOT BETWEEN(HOUR(DATETIME()), 1, 15) && 01:00:00 to 14:59:59 =messagebox("This function is designed to run between 1am and 3pm local time (Sydney)" + CHR(13) + CHR(13) + ; "The program will now terminate", 48, "Outside of times of operation", 10000) EXIT ENDIF SELECT w_bnTrack SCAN FOR rssAvailable *- Check if this track has runs today. SELECT w_usdRace LOCATE FOR track_code = w_bnTrack.livetkcode IF NOT FOUND() SELECT w_bnTrack LOOP ENDIF ... With terminating comments... DO WHILE .T. *- Operate between 1am and 3pm local sydney time IF NOT BETWEEN(HOUR(DATETIME()), 1, 15) && 01:00:00 to 14:59:59 =messagebox("This function is designed to run between 1am and 3pm local time (Sydney)" + CHR(13) + CHR(13) + ; "The program will now terminate", 48, "Outside of times of operation", 10000) EXIT && DO WHILE .T. ENDIF && NOT BETWEEN(HOUR(DATETIME()), 1, 15) && 01:00:00 to 14:59:59 SELECT w_bnTrack SCAN FOR rssAvailable *- Check if this track has runs today. SELECT w_usdRace LOCATE FOR track_code = w_bnTrack.livetkcode IF NOT FOUND() SELECT w_bnTrack LOOP ENDIF && NOT FOUND() -----Original Message----- From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of mbsoftwaresoluti...@mbsoftwaresolutions.com Sent: Thursday, 13 July 2017 11:41 PM To: profoxt...@leafe.com Subject: "An IF | ELSE | ENDIF statement is missing" Don't you hate it when you have a super long one-time conversion program, add some new 1-time crap over time, and then all of the sudden when ready to run you get this error message, AND CAN'T SEE WHERE THIS MISSING/ERRANT STRUCTURE IS? I'd be surprised if we haven't all been there at some point in our dev lives. It pays to take the time and do good modular design instead of this way-too-long PRG run on crap. hahaha [excessive quoting removed by server] _______________________________________________ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/001801d2fbe0$3ecd3e50$bc67baf0$@ozemail.com.au ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.