eliminate the return code 8



JES, JES2, JCL utilities, IDCAMS, Compile & Run JCLs, PROCs etc...

Re: eliminate the return code 8

Postby dn2012 » Wed May 09, 2012 9:18 am

http://publib.boulder.ibm.com/infocente ... 6i2034.htm

is it the manual mention about?

Is this code work>
Should I insert before or after delete?

IF MAXCC=8
THEN DO
SET MAXCC=8
dn2012
 
Posts: 114
Joined: Thu Feb 16, 2012 6:10 am
Has thanked: 0 time
Been thanked: 0 time

Re: eliminate the return code 8

Postby NicC » Wed May 09, 2012 12:12 pm

You seem ti have a complete lack of understanding. What return code would it be chaecking BEFORE the delete? There have been no actions before the delete. What it is doing is checking the return code of the actions done so far within IDCAMS. So you have a DELETE - it is returning a code of 8 - probably because the dataet to be deleted does not exist. It does not exist - you were trying to delete it - no problem so set the return code to 0 (SET MAXCC+0) and continue with the next operation. If you want to stop the 8 happening in the first place then you need to define a dataset to be deleted but this is totally unnecessary. RC=8 is a normal everyday thing. It is only an error if you have specified the wrong dataset to delete or you are running on the wrong system where the datasets do not exist.
The problem I have is that people can explain things quickly but I can only comprehend slowly.
Regards
Nic
NicC
Global moderator
 
Posts: 3025
Joined: Sun Jul 04, 2010 12:13 am
Location: Pushing up the daisies (almost)
Has thanked: 4 times
Been thanked: 136 times

Re: eliminate the return code 8

Postby Ed Goodman » Wed May 09, 2012 7:01 pm

You seem to be having real trouble here. At first I suspected trolling, but I looked at a little history and saw that you have 89 posts in the JCL forum.

Please keep in mind that JCL itself just runs programs. JCL is being processed by another program that can see results and react to certain conditions.

What you are trying to avoid is a certain result from the IDCAMS program, so you'll have to deal with that program's behavior.
Ed Goodman
 
Posts: 341
Joined: Thu Feb 24, 2011 12:05 am
Has thanked: 3 times
Been thanked: 17 times

Re: eliminate the return code 8

Postby dn2012 » Wed May 09, 2012 7:57 pm

Hello,

I added as

//STEP5.SYSIN DD *                             
 DELETE  (TSSDN.EMPLOYEE.MASTER) CLUSTER PURGE
 IF MAXCC=8 THEN                               
 SET MAXCC=0                                   


In SDSF output file I still get

IDC3012I ENTRY TSSDN.EMPLOYEE.MASTER NOT FOUND
IDC3009I ** VSAM CATALOG RETURN CODE IS 8 - REA

I understand CODE 8 is not an issue. If VSAM file is there should not be an issue.
But how I could avoid return code 8 from the SDSF output even VSAM does not exits.

thank you
dn2012
 
Posts: 114
Joined: Thu Feb 16, 2012 6:10 am
Has thanked: 0 time
Been thanked: 0 time

Re: eliminate the return code 8

Postby Robert Sample » Wed May 09, 2012 8:13 pm

Post the step codes from your job. When I ran the exact statements you did, I got a step code of zero in my JES output. If you are not, then you most likely will need to talk to your site support group to find out what is different at your site. Step code
 10:43:22  -JOBNAME  STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK
 10:43:22  -RS0TEST  STEP1                00      3      0    .00    .00     .0
generated by running
1IDCAMS  SYSTEM SERVICES                                           TIME: 10:43:2
0
  DELETE  (TSSDN.EMPLOYEE.MASTER) CLUSTER PURGE
0IDC3012I ENTRY TSSDN.EMPLOYEE.MASTER NOT FOUND
 IDC3009I ** VSAM CATALOG RETURN CODE IS 8 - REASON CODE IS IGG0CLA3-42
 IDC0551I ** ENTRY TSSDN.EMPLOYEE.MASTER NOT DELETED
0IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 8
0
  IF MAXCC=8 THEN

  SET MAXCC=0

0IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0
Robert Sample
Global moderator
 
Posts: 3719
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 279 times

Re: eliminate the return code 8

Postby BillyBoyo » Wed May 09, 2012 8:13 pm

What RC did you receive from the STEP? Can you post your messages for the job?

I have to say I prefer to LISTCAT the file, then DELETE if it exists. Cleaner than just blasting away with a delete.
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 265 times

Re: eliminate the return code 8

Postby dn2012 » Wed May 09, 2012 8:34 pm

Here is the JCL

//EXTPROC PROC                                               
//STEP1        EXEC PGM=IEFBR14                             
//SQADB512 DD  DSN=&DSNAME,DISP=(NEW,CATLG,DELETE),         
//             SPACE=(TRK,(5,3,1)),UNIT=SYSDA,               
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=800,DSORG=PO) 
//STEP2    EXEC PGM=IEBCOPY                                 
//SYSPRINT DD SYSOUT=*                                       
//SYSUT1   DD DISP=SHR,DSN=&SRCTPE   <= INPUT TAPE           
//SYSUT2   DD DISP=(NEW,CATLG),UNIT=TAPE,DSN=TSSDN.DATA.COPY3
//STEP3    EXEC PGM=IDCAMS,REGION=512K                       
//             SPACE=(TRK,(5,3,1)),UNIT=SYSDA,                       
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=800,DSORG=PO)         
//STEP2    EXEC PGM=IEBCOPY                                         
//SYSPRINT DD SYSOUT=*                                               
//SYSUT1   DD DISP=SHR,DSN=&SRCTPE   <= INPUT TAPE                   
//SYSUT2   DD DISP=(NEW,CATLG),UNIT=TAPE,DSN=TSSDN.DATA.COPY3       
//STEP3    EXEC PGM=IDCAMS,REGION=512K                               
//SYSPRINT DD SYSOUT=*                                               
//STEP4    EXEC PGM=IEBCOPY                                         
//SYSPRINT DD SYSOUT=*                                               
//INDDX    DD DISP=OLD,DSN=&SRCTPE <=INPUT VIRTUAL TAPE             
//OUTDDX   DD DSN=TSSDN.GDBD.TEMP02(+1),                             
//         DISP=(NEW,CATLG,DELETE),                                 
//         UNIT=SYSDA,                                               
//         SPACE=(TRK,(5,4,66),RLSE),                               
//         DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000,DSORG=PO)             
//SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,1)                                 
//SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,1)                                 
//STEP5    EXEC PGM=IDCAMS                                           
//SYSPRINT DD    SYSOUT=*                                           
//         PEND                                                     
//FINAL EXEC EXTPROC,DSNAME=TSSDN.DEMO.TEMP02,SRCTPE=TSSDN.DATA.COPY2
//STEP2.SYSIN DD *                                       
//STEP3.SYSIN DD *                                       
    DEFINE GDG( -                                         
    NAME(TSSDN.GDBD.TEMP02)-                             
    LIMIT(7) NOEMPTY SCRATCH)                             
//STEP4.SYSIN DD *                                       
    COPY INDD=INDDX,OUTDD=OUTDDX                         
//STEP5.SYSIN DD *                                       
 DELETE  (TSSDN.EMPLOYEE.MASTER) CLUSTER PURGE           
 IF MAXCC=8 THEN                                         
 SET MAXCC=0                                             
 DEFINE CLUSTER(                   -                     
               NAME(TSSDN.EMPLOYEE.MASTER)  -             
               FREESPACE(10 10)     -                     
               INDEXED              -                     
               KEYS(30 0)           -                     
               RECORDSIZE(80 80)    -                     
               SHAREOPTIONS(3 3)    -                     
               ERASE                -                     
               UNIQUE               -                     
              STORCLAS(NULL)       -                     
              VOLUMES(IMS60X)      -                     
              CYLINDERS(40 10)     -                   
                       )           -                   
        DATA(                             -           
             NAME(TSSDN.EMPLOYEE.MASTER.DATA)     -   
             CONTROLINTERVALSIZE(8192)    -           
            )                             -           
        INDEX(                            -           
             NAME(TSSDN.EMPLOYEE.MASTER.INDEX)   -     
             CONTROLINTERVALSIZE(8192))               
/*               



Here is the message SDSF OUT PUT

SYSPRINT FINAL STEP5
IDCAMS  SYSTEM SERVICES                                           TIME:
                                                                       
 DELETE  (TSSDN.EMPLOYEE.MASTER) CLUSTER PURGE                         
IDC3012I ENTRY TSSDN.EMPLOYEE.MASTER NOT FOUND                         
IDC3009I ** VSAM CATALOG RETURN CODE IS 8 - REASON CODE IS IGG0CLA3-42
IDC0551I ** ENTRY TSSDN.EMPLOYEE.MASTER NOT DELETED                   
IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 8             
                                                                       
 IF MAXCC=8 THEN                                                       
                                                                       
 SET MAXCC=0                                                           
                                                                       
 DEFINE CLUSTER(                   -                                   
               NAME(TSSDN.EMPLOYEE.MASTER)  -                         
               FREESPACE(10 10)     -                                 
               INDEXED              -                                 
               KEYS(30 0)           -                                 
               RECORDSIZE(80 80)    -                                 
               SHAREOPTIONS(3 3)    -                                 
               ERASE                -                           
               UNIQUE               -                           
              STORCLAS(NULL)       -                             
              VOLUMES(IMS60X)      -                             
              CYLINDERS(40 10)     -                             
                       )           -                             
        DATA(                             -                     
             NAME(TSSDN.EMPLOYEE.MASTER.DATA)     -             
             CONTROLINTERVALSIZE(8192)    -                     
            )                             -                     
        INDEX(                            -                     
             NAME(TSSDN.EMPLOYEE.MASTER.INDEX)   -               
             CONTROLINTERVALSIZE(8192))                         
IDC0508I DATA ALLOCATION STATUS FOR VOLUME SN1214 IS 0           
IDC0509I INDEX ALLOCATION STATUS FOR VOLUME SN1214 IS 0         
IDC0181I STORAGECLASS USED IS BASIC                             
IDC0181I MANAGEMENTCLASS USED IS BASIC                           
IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0       
                                                                 
IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0
             NAME(TSSDN.EMPLOYEE.MASTER.INDEX)   -               
             CONTROLINTERVALSIZE(8192))                           
IDC0508I DATA ALLOCATION STATUS FOR VOLUME SN1214 IS 0           
IDC0509I INDEX ALLOCATION STATUS FOR VOLUME SN1214 IS 0           
IDC0181I STORAGECLASS USED IS BASIC                               
IDC0181I MANAGEMENTCLASS USED IS BASIC                           
IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0         
                                                                 
IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0                                       
dn2012
 
Posts: 114
Joined: Thu Feb 16, 2012 6:10 am
Has thanked: 0 time
Been thanked: 0 time

Re: eliminate the return code 8

Postby dn2012 » Wed May 09, 2012 8:38 pm

END OF PDSFAST EXECUTION - RC(0)
dn2012
 
Posts: 114
Joined: Thu Feb 16, 2012 6:10 am
Has thanked: 0 time
Been thanked: 0 time

Re: eliminate the return code 8

Postby Robert Sample » Wed May 09, 2012 8:47 pm

If you are wanting to get rid of these messages:
IDC3009I ** VSAM CATALOG RETURN CODE IS 8 - REASON CODE IS IGG0CLA3-42
IDC0551I ** ENTRY TSSDN.EMPLOYEE.MASTER NOT DELETED                   
IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 8   
then this entire topic has been a complete and utter waste of time. You CANNOT get rid of those messages. If the data set does not exist, the messages will so indicate -- so unless you don't do the delete, you will ALWAYS see them if the data set does not exist, period. And the messages do not affect the step code -- the IF / SET statement changes the step code to zero, no matter what the messages indicate.
Robert Sample
Global moderator
 
Posts: 3719
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 279 times

Re: eliminate the return code 8

Postby dn2012 » Wed May 09, 2012 9:03 pm

"You CANNOT get rid of those messages."

Thanks
dn2012
 
Posts: 114
Joined: Thu Feb 16, 2012 6:10 am
Has thanked: 0 time
Been thanked: 0 time

PreviousNext

Return to JCL

 


  • Related topics
    Replies
    Views
    Last post