Page 1 of 1

ISPT036 Table in use

PostPosted: Mon Feb 10, 2020 1:15 pm
by samb01
Hello,

i used to run a rexx by batch (by using TWS) and edach time it works.
But yestdeday, we had for the firt time that


-IEFACTRT          VERIFSMS   998
 



READY                    
PROFILE NOPREFIX        
READY                    
ISPSTART CMD(MYREXX)  
ISPT036 Table in use            -/-TBOPEN issued for table ISPSPROF that is in use, ENQUEUE failed.
 


My step is below :


//REXXSTEP   EXEC PGM=IKJEFT1B,DYNAMNBR=100,REGION=4M,COND=(4,LE)  
//SYSTSIN  DD *                                                      
PROFILE NOPREFIX                                                    
ISPSTART CMD(MYREXX)                                              
//SYSPROC  DD DSN=ISP.&VISPF..SISPCLIB,DISP=SHR                      
//SYSEXEC  DD  DISP=SHR,DSN=PDS.PARAM                          
//SYSTSPRT DD  SYSOUT=*                                              
//ISPLOG   DD  DUMMY                                                
//ISPPROF  DD  DSN=&&PROF,DISP=(NEW,PASS),                          
//     DCB=(LRECL=80,BLKSIZE=6160,RECFM=FB),                        
//     SPACE=(TRK,(2,1,2)),UNIT=VIO                                  
//ISPMLIB  DD  DSN=ISP.&VISPF..SISPMENU,DISP=SHR                    
//ISPSLIB  DD  DSN=ISP.&VISPF..SISPSENU,DISP=SHR
//ISPPLIB  DD  DSN=ISP.&VISPF..SISPPENU,DISP=SHR    
//ISPTLIB  DD  DSN=ISP.&VISPF..SISPTENU,DISP=SHR    
//SYSTSPRT DD  SYSOUT=*                            
//SYSTERM  DD  SYSOUT=*                            
//SYSABEND DD  SYSOUT=*                            
//ISPLOG DD SYSOUT=*,                              
// LRECL=120,BLKSIZE=2400,DSORG=PS,RECFM=FB        
//IN  DD DISP=SHR,DSN=FICIN.DATA.SET          
//OUT1 DD DISP=OLD,DSN=FICOUT1.DATA.SET
//OUT2 DD DISP=OLD,DSN=FICOUT2.DATA.SET
//*                  
 


Is there a way to prevent that Abend ?

Thank's for tour help.

Re: ISPT036 Table in use

PostPosted: Mon Feb 10, 2020 6:24 pm
by prino
Allow more time between submitting jobs, to get different temporary names for your profile dataset, been there done that.

Re: ISPT036 Table in use

PostPosted: Tue Feb 11, 2020 1:52 pm
by samb01
Hello, finally, i added an IEBCOPY in a temporay file before executing the rexx in batch :


//COPYPROF EXEC PGM=IEBCOPY                                        
//SYSPRINT DD SYSOUT=*                                              
//SYSUT3   DD UNIT=SYSALLDA,SPACE=(TRK,(1))                        
//SYSUT4   DD UNIT=SYSALLDA,SPACE=(TRK,(1))                        
//IN       DD DSN=&PREFISP..V2R3M0.SISPTENU,DISP=SHR                
//OUT      DD DSN=&TEMPPROF,DISP=(NEW,PASS,DELETE),                
//         UNIT=SYSALLDA,SPACE=(TRK,(2,1,4)),                      
//         DCB=(LRECL=80,BLKSIZE=9040,RECFM=FB,DSORG=PO)            
//SYSIN    DD *                                                    
  COPY INDD=IN,OUTDD=OUT                                            
   S M=ISPPROF,ISPSPROF                                            
/*                                                                  

 

Re: ISPT036 Table in use

PostPosted: Wed Feb 12, 2020 3:38 am
by Pedro
Your basic problem is that the ISPPROF DD name uses a temporary data set name. the name is not random. The system generates a temporary name, always using a specific format. I think it includes the date and time as part of the name. There is a naming collision when two jobs are submitted during the exact same second. Your solution does not address that problem. If you had success, it was not because you added an IEBCOPY step.