E@DBFINDnxt in LSF9

 3 Replies
 0 Subscribed to this topic
 17 Subscribed to this forum
Sort:
Author
Messages
Walter
Advanced Member Send Private Message
Posts: 22
Advanced Member
I'm in the process of migrating our custom programs from 8.1 to LSF9. The following is from one of those programs which has been working fine 8.1 C eval $FirstZAY = 'Y' C callp DN@DBPXZAY1(E@DBFINDbegrng) * Loop through Billing Header Records where status = 1 * If applicable, apply Process Lever and/or Voucher Number filters C DOU dzay@notfound = TRUE or C dzay@notfound = FALSE and C (Dzaycmpny <> D@cmpny or C Dzayvchnbr <> D@vchnbr) C if $FirstZAY = 'N' C callp DN@DBPXZAY1(E@DBFINDnxt) C endif C eval $FirstZAY = 'N' Testing this in 9.0.1, the program crashes at DN@DBPXZAY1(E@DBFINDbegrng) with the following error, which trying to read the second record User Name: DSWK Job Name: PX120WK Queue Name: ACCLAWDEV BEGIN: Job Submitted: Thu Aug 19 12:43:54 2010 Step 1: PX120 Started. . . . . .: Thu Aug 19 12:44:38 2010 ** Creating .prt and .dtl files File LAWAPP9/BINVOICEDT. tsFindNxtDBRec error is File position not valid for nxt/prv find (114). Process ID . . . . . . .: 156767 (StartJob) CALL PX120 Failed Elapsed Time: 00:04:42 END: Job Ended: Thu Aug 19 12:48:36 2010 Does anyone know if these IO routines have changed in LSF9
Ragu Raghavan
Veteran Member Send Private Message
Posts: 477
Veteran Member
They did change in the Unix/Wndows env. Prior to LSF9, it was forgving. I could pair a FIND-BEGRNG with a FIND-NEXT. Now it forces me to match FIND-BEGRNG with FIND-NXTRNG. This looks like I-series/RPG. Don't know the syntax. You probably need to replace the callp DN@DBPXZAY1(E@DBFINDnxt) with a callp DN@DBPXZAY1(E@DBFINDnxtrng) or something.
Walter
Advanced Member Send Private Message
Posts: 22
Advanced Member
Thanks. That's what I was suspecting. I'll give your suggestion a try and let you know how it works Your right in that is iSeries RPG and I wouldn't be at all surprised if it were changed too.
Walter
Advanced Member Send Private Message
Posts: 22
Advanced Member
Looks like that worked. I paired up E@DBLOCKBEGRNG with E@DBLOCKNXTRNG; also E@DBFINDBEGRNG with E@DBFINDNXTRNG Program ran to normal completion and the results look good. Thanks for your help. The solution was not nearly as bad as I initially thought.