Endevor processor getting error "FSUM9195 cannot unlink entry" when processing really long Element using BPXBATCH
search cancel

Endevor processor getting error "FSUM9195 cannot unlink entry" when processing really long Element using BPXBATCH

book

Article ID: 282262

calendar_today

Updated On:

Products

Endevor

Issue/Introduction

When running BPXBATCH and processing a really long Element the step fails on cc=256 and gets the error message "FSUM9195 cannot unlink entry" in the DD STDERR.


The processor step looks like this:


//BPXDEL EXEC  PGM=BPXBATCH,MAXRC=0                                 
//STDPARM DD  *                                                     
SH rm '&#USSPATH./&C1ELMNT255..TP' ;                                
//STDERR   DD   PATH='&#USSPATH./STDERR',PATHOPTS=(OWRONLY,OCREAT), 
//              PATHMODE=SIRWXU                                     
//STDOUT   DD   PATH='&#USSPATH./STDOUT',PATHOPTS=(OWRONLY,OCREAT), 
//              PATHMODE=SIRWXU      

                              
This works is the file name is short, for example ABCDF. If the file name is over 50 or 60 characters, it fails.

 

Environment

all endevor releases

Cause

Endevor processors work like JCL. As when using JCL (as in an Endevor Processor), instream data is limited to 80 characters. This is true for BPXBATCH and DD STDPARM. The DD STDPARM will allow long records (over 72 characters) only if the DD is referring to a file.                                                

Resolution

If you are adding or deleting files with a long file name (long Element name) use the following parm. This parm will read in the variable(&C1ELMNT255) in parts. It will merge it together in a BASH script variable that allows long variable.

For example:

//BPXDEL EXEC  PGM=BPXBATCH,MAXRC=0                                 
//STDPARM DD  *                                                     
SH  set -x ;                              
v1='&C1ELMNT255(1,64)' ;                  
v2='&C1ELMNT255(65,64)' ;                 
v3='&C1ELMNT255(129,64)' ;                
v4='&C1ELMNT255(193,63)' ;                
v5=$v1$v2$v3$v4 ;                         
v5="$(echo "$v5" | sed "s/ *$//g")";      
cd &#USSPATH ;                            
rm "$v5.TP";                                                              
//STDERR   DD   PATH='&#USSPATH./STDERR',PATHOPTS=(OWRONLY,OCREAT), 
//              PATHMODE=SIRWXU                                     
//STDOUT   DD   PATH='&#USSPATH./STDOUT',PATHOPTS=(OWRONLY,OCREAT), 
//              PATHMODE=SIRWXU