How many panel name entries can be specified on the SELECT operand in the CA COBOL/XE IOXMAINT batch utility? IOXMAINT is terminating with error IOX5001 E ABOVE STATEMENT SPANS MORE THAN 32 CARDS AND HAS BEEN IGNORED

Document ID : KB000054785
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

If the number of input control cards exceeds 32, CA COBOL/XE IOXMAINT batch utility will terminate with the following messages:

 IOX5001 E ABOVE STATEMENT SPANS MORE THAN 32 CARDS AND HAS BEEN IGNORED    
 IOX5009 E ABOVE STATEMENT TERMINATED DUE TO ERROR; SEVERITY LEVEL = 4 

IOXMAINT is also limited to 246 entries or keywords on the SELECT statement.

This article explains how to code the SELECT statement to be able to specify more than 32 panel name entries on the IOXMAINT SELECT statement.

Solution:

It is not necessary to specify each panel name entry on separate line. While you can specify multiple entries on each line, the maximum number of panels that can be specified is 149 (29 lines with 5 panels and the SELECT line with 4 panels).

Here's an example showing IOXMAINT input control cards over the 32 statement limit:

COPY IOX TO PS INPUT PNTPNL SPACE CSRIOX KEYLEN 12 KEYLOC 0 OUTPUT UOUT
SELECT 'NAM0001 ////'                                       
       'NAM0002 ////'                                       
       'NAM0003 ////'                                       
       'NAM0004 ////'                                       
       'NAM0005 ////'                                       
       'NAM0006 ////'                                       
       'NAM0007 ////'                                       
       'NAM0008 ////'                                       
       'NAM0009 ////'                                       
       'NAM0010 ////'                                       
       'NAM0011 ////'                                       
       'NAM0012 ////'                                       
       'NAM0013 ////'                                       
       'NAM0014 ////'                                       
       'NAM0015 ////'                                       
       'NAM0016 ////'                                       
       'NAM0017 ////'                                       
       'NAM0018 ////'                                       
       'NAM0019 ////'                                       
       'NAM0020 ////'                                       
       'NAM0021 ////'                                       
       'NAM0022 ////'                                       
       'NAM0023 ////'                                       
       'NAM0024 ////'  
       'NAM0025 ////'      
       'NAM0026 ////'      
       'NAM0027 ////'      
       'NAM0028 ////'      
       'NAM0029 ////'      
       'NAM0030 ////'      
       'NAM0031 ////'      
       'NAM0032 ////'      
       'NAM0033 ////'      
       'NAM0034 ////? ?

The above set of statement will terminate IOXMAINT with these errors:

IOX5001 E ABOVE STATEMENT SPANS MORE THAN 32 CARDS AND HAS BEEN IGNORED 
IOX5009 E ABOVE STATEMENT TERMINATED DUE TO ERROR; SEVERITY LEVEL = 4   
IOX5021 I JOB CONCLUDED NORMALLY; HIGHEST ERROR SEVERITY LEVEL WAS 4    
IOX5099 I IOXMAINT R3.0.0 * * * JOB ENDED AT yy/ddd hh:mm:ss

To specify more panel name entries on the SELECT statement, specify multiple panel name entries on each 80 byte input card.

This example shows how to maximize the number of entries. Since each panel name entry requires 14 bytes made up of 8 bytes for the panel name pppppppp////,  2 bytes for the single quotes that surround the entry and a blank space between each entry, the maximum number of panel entries will be 149 when you specify 4 panel names on the SELECT card and 5 panel names on each subsequent card.

Here's how to recode your SELECT statement:

COPY IOX TO PS INPUT PNTPNL SPACE USRIOX KEYLEN 12 KEYLOC 0 OUTPUT UOUT
SELECT 'NAM0001 ////' 'NAM0002 ////' 'NAM0003 ////' 'NAM0004 ////'
'NAM0005 ////' 'NAM0034 ////' 'NAM0063 ////' 'NAM0092 ////' 'NAM0121 ////'
'NAM0006 ////' 'NAM0035 ////' 'NAM0064 ////' 'NAM0093 ////' 'NAM0122 ////'
'NAM0007 ////' 'NAM0036 ////' 'NAM0065 ////' 'NAM0094 ////' 'NAM0123 ////'
'NAM0008 ////' 'NAM0037 ////' 'NAM0066 ////' 'NAM0095 ////' 'NAM0124 ////'
'NAM0009 ////' 'NAM0038 ////' 'NAM0067 ////' 'NAM0096 ////' 'NAM0125 ////'
'NAM0010 ////' 'NAM0039 ////' 'NAM0068 ////' 'NAM0097 ////' 'NAM0126 ////'
'NAM0011 ////' 'NAM0040 ////' 'NAM0069 ////' 'NAM0098 ////' 'NAM0127 ////'
'NAM0012 ////' 'NAM0041 ////' 'NAM0070 ////' 'NAM0099 ////' 'NAM0128 ////'
'NAM0013 ////' 'NAM0042 ////' 'NAM0071 ////' 'NAM0100 ////' 'NAM0129 ////'
'NAM0014 ////' 'NAM0043 ////' 'NAM0072 ////' 'NAM0101 ////' 'NAM0130 ////'
'NAM0015 ////' 'NAM0044 ////' 'NAM0073 ////' 'NAM0102 ////' 'NAM0131 ////'
'NAM0016 ////' 'NAM0045 ////' 'NAM0074 ////' 'NAM0103 ////' 'NAM0132 ////'
'NAM0017 ////' 'NAM0046 ////' 'NAM0075 ////' 'NAM0104 ////' 'NAM0133 ////'
'NAM0018 ////' 'NAM0047 ////' 'NAM0076 ////' 'NAM0105 ////' 'NAM0134 ////'
'NAM0019 ////' 'NAM0048 ////' 'NAM0077 ////' 'NAM0106 ////' 'NAM0135 ////'
'NAM0020 ////' 'NAM0049 ////' 'NAM0078 ////' 'NAM0107 ////' 'NAM0136 ////'
'NAM0021 ////' 'NAM0050 ////' 'NAM0079 ////' 'NAM0108 ////' 'NAM0137 ////'
'NAM0022 ////' 'NAM0051 ////' 'NAM0080 ////' 'NAM0109 ////' 'NAM0138 ////'
'NAM0023 ////' 'NAM0052 ////' 'NAM0081 ////' 'NAM0110 ////' 'NAM0139 ////'
'NAM0024 ////' 'NAM0053 ////' 'NAM0082 ////' 'NAM0111 ////' 'NAM0140 ////'
'NAM0025 ////' 'NAM0054 ////' 'NAM0083 ////' 'NAM0112 ////' 'NAM0141 ////'
'NAM0026 ////' 'NAM0055 ////' 'NAM0084 ////' 'NAM0113 ////' 'NAM0142 ////'
'NAM0027 ////' 'NAM0056 ////' 'NAM0085 ////' 'NAM0114 ////' 'NAM0143 ////'
'NAM0028 ////' 'NAM0057 ////' 'NAM0086 ////' 'NAM0115 ////' 'NAM0144 ////'
'NAM0029 ////' 'NAM0058 ////' 'NAM0087 ////' 'NAM0116 ////' 'NAM0145 ////'
'NAM0030 ////' 'NAM0059 ////' 'NAM0088 ////' 'NAM0117 ////' 'NAM0146 ////'
'NAM0031 ////' 'NAM0060 ////' 'NAM0089 ////' 'NAM0118 ////' 'NAM0147 ////'
'NAM0032 ////' 'NAM0061 ////' 'NAM0090 ////' 'NAM0119 ////' 'NAM0148 ////'
'NAM0033 ////' 'NAM0062 ////' 'NAM0091 ////' 'NAM0120 ////' 'NAM0149 ////' ?

Reminder: '-' denotes the end of the SELECT statement.

The successful execution of above will result in the messages:

IOX5012 I ABOVE STATEMENT EXECUTED SUCCESSFULLY                             
IOX5015 I nnnnn RECORDS READ                                                 
IOX5016 I nnnnn RECORDS WRITTEN                                                 
IOX5017 I nnnnn RECORDS WERE SELECTED OR REJECTED                               
IOX5021 I JOB CONCLUDED NORMALLY; HIGHEST ERROR SEVERITY LEVEL WAS 0        
IOX5099 I IOXMAINT R3.0.0 * * * JOB ENDED AT yy/ddd hh:mm:ss