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

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

book

Article ID: 54785

calendar_today

Updated On:

Products

COBOL/XE

Issue/Introduction

If the number of input control cards exceeds 32,  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.

Environment

Release:
Component: COBOLX

Resolution

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