From: vbarathee on 20 Jun 2008 04:13 Hi all Let me explain in detail , the VSAM file does contains data in it , everyday the VSAM file will be DEL & DEF by another job before this job runs. The program abends exactly after the wait time logic completes and when it tries to read the VSAM file for the next record.Also we are able to display the primary key before the VSAM read . Does if any program goes to sleep mode and when it comes back again will it affect the addressability ? Regards, Barathi.v
From: Anonymous on 20 Jun 2008 05:32 In article <1af2250e-285f-4fe3-b662-27d8c15f5b74(a)59g2000hsb.googlegroups.com>, <vbarathee(a)gmail.com> wrote: >Please find below the code details , 3000 goes until End-of-file , the >program abends exactly after the VSAM read in 3300-READ-DSCCQNMN >para. > > 3000-RETRIEVE-ACCEPTED. [snip] > PERFORM 3300-READ-DSCCQNMN THRU 3300-EXIT [snip] > ADD +1 TO WS-MQ-CHECK-CNT. > IF WS-MQ-CHECK-CNT > WS-RECORDS-TO-SKIP > MOVE ZERO TO WS-MQ-CHECK-CNT > PERFORM 3100-GET-MQ-DEPTH THRU 3100-EXIT > PERFORM UNTIL MQ-DEPTH < WS-MQ-THRESHOLD > OR WS-ERROR-FOUND > PERFORM 6000-WAIT-PARA THRU 6000-EXIT > PERFORM 3100-GET-MQ-DEPTH THRU 3100-EXIT > END-PERFORM > END-IF. This sequence is of interest to me. In your testing environment would it be possible for you to test for two things and report on them here? Test 1): Put in an indicator to show if 3300-READ was ever executed, even once. Test 2): Comment out all uses of ILBOWAT0 so the subroutine is never loaded in during your HEWL step, recompile and run. As needs be you can manually CAN the job after it's passed a few executions of 3300-READ. DD
From: vbarathee on 20 Jun 2008 10:12 Hi Already we have checked the program by giving display statements as below and the para gets executes upto the read, 3300-READ-DSCCQNMN. **************************************************************** * THIS SECTION READS THE DSCCQNMN FILE TO GET THE LAST QUEUE * NAME AND THE DATE FOR THE CORRESPONDING ACCOUNT NUMBER. **************************************************************** * MOVE '3300-READ-DSCCQNMN' TO ERROR-MESSAGE. DISPLAY ' Enter 3300-READ-DSCCQNMN ' . DISPLAY ' Primary key ' QNMN-ACCT-NBR. READ DSCCQNMN-FILE Also the program wouldnt abend if it doesnt goes to the wait time logic. I'm suspecting it may due to that , we didnt handle invalid key logic ? Regards, Barathi.v
From: Anonymous on 20 Jun 2008 10:35 In article <c9aeb976-6482-4d49-8838-6ce778b0ba4e(a)y38g2000hsy.googlegroups.com>, <vbarathee(a)gmail.com> wrote: >Hi > >Already we have checked the program by giving display statements as >below and the para gets executes upto the read, > >3300-READ-DSCCQNMN. > >**************************************************************** > * THIS SECTION READS THE DSCCQNMN FILE TO GET THE LAST QUEUE > * NAME AND THE DATE FOR THE CORRESPONDING ACCOUNT NUMBER. > >**************************************************************** > * > MOVE '3300-READ-DSCCQNMN' TO ERROR-MESSAGE. > > DISPLAY ' Enter 3300-READ-DSCCQNMN ' . > DISPLAY ' Primary key ' QNMN-ACCT-NBR. Thanks for giving this detail... oh, and would you mind passing along to whoever comments the code that there's a difference between a SECTION and a paragraph? [snip] >Also the program wouldnt abend if it doesnt goes to the wait time >logic. I'm suspecting it may due to that , we didnt handle invalid key >logic ? INVALID KEY logic deals with what happens to the READ, which you say does not issue a S0C4 'if it doesnt goes (sic) to the wait time logic'. This would appear to be related to the test I suggested of 'Comment out all uses of ILBOWAT0 so the subroutine is never loaded in during your HEWL step, recompile and run'; my suggestion is a bit more extreme, in that it excludes ILBOWAT0 from the load module produced for this program but you seem to be saying that 'everything runs fine as long as we don't execute the ILBOWAT0 subroutine'. Next question... when was this program outsourced to you? DD
From: vbarathee on 20 Jun 2008 11:16
Hi Give me some time to run the program without ILBOWATO module. The enhancement work came to us a month back. Could please explain me the reason behind why we need to run the program without ILBOWATO , I'm sorry I'm confused. Bcoz the logic wud change if we remove the traces of ILBOWATO . Regards, barathi.v |