IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

[Solved]SORT ERROR PARAMETER VALUE EXCEEDS MAXIMUM LENGTH


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Digvijay Singh

New User


Joined: 20 Apr 2022
Posts: 70
Location: India

PostPosted: Wed Jun 01, 2022 3:31 pm
Reply with quote

Hi All ,

i have below code which i am trying to run savers utility giving a data set in sysin dd but getting error:



[
Code:
code]

//* EXTRACT THE DYNAMIC JOB SUBMITTED FOR NDVR CODE INSTALL   
//************************************************************
//STEP01   EXEC PGM=SORT                                     
//SORTIN   DD  DSN=ALT0.Q.NDVR.INTERNAL.ETT,DISP=SHR         
//SYSOUT   DD SYSOUT=*                                       
//SORTOUT  DD DSN=ALT0.Q.NDVR.INTERNAL.ETTOUT,               
//            DISP=(NEW,CATLG,DELETE),                       
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=0),             
//            SPACE=(TRK,(15,5),RLSE),UNIT=SYSDA             
//SYSIN    DD  *                                             
  SORT FIELDS=COPY,STOPAFT=1                                 
  OUTREC FIELDS=(01:C'NAME=',06:01,07)                       
/*                                                           
//************************************************************
//*   FETCH THE CURRENT DAY JOBS FROM SAVERS                 *
//************************************************************
  //SAVFETCH EXEC $AVRDBRP                             
//SORTIN   DD  UNIT=SYSALLDA,                         
//             SPACE=(CYL,(80,20),RLSE)               
//SORTOUT  DD  UNIT=SYSALLDA,                         
//             SPACE=(CYL,(80,20),RLSE)               
//SORTWK01 DD  UNIT=SYSALLDA,                         
//             SPACE=(CYL,(50))                       
//SORTWK02 DD  UNIT=SYSALLDA,                         
//             SPACE=(CYL,(50))                       
//SORTWK0[code]3 DD  UNIT=SYSALLDA,                         
//             SPACE=(CYL,(50))                       
//$AVRPRT  DD DSN=ALT0.Q.NDVR.INTERNAL.ETTSVRSO,     
//         SPACE=(CYL,(15,5),RLSE),                   
//         DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,       
//         DCB=(LRECL=133,RECFM=FB,BLKSIZE=0)         
//SYSIN    DD DSN=ALT0.Q.NDVR.INTERNAL.ETTOUT,DISP=SHR[/code]





Error i am getting :

Code:
 ALTSAVRS 0015193 S        RC=0020 WED 01 JUN 2022.152 05:42
 
Syspritn error:



 ALTSAVRS (SYSPRINT) ----------- LINE         1 OF         8-- COL   1  80 -----
 COMMAND ===>                                                  SCROLL ===> CUR 
 FILE>       DBAGHEL.ALTSAVRS.JOB15193.D0000106.?,2022.152,05:42:41       <FILE
$AVR001-05          WED 01 JUN 2022.152                $AVRDBRP PARSE REPORT   
>>DISCOVER, SCHA COMPLEX SYSTEMS HOSTS 261/262 <<<              **** LICENSED BY
                                                                **** SEA INC   1
                                                                               
                          NAME=P017263..........................................
$AVR378C - PARAMETER VALUE EXCEEDS MAXIMUM LENGTH - 71 CHARACTERS               
$AVR316C - NO RECORDS WRITTEN TO SORT FILE - ALL PARAMETERS FAILED VALIDATION   
 ******************************** END OF DATA **********************************

[/code]

Anyone has any idea

My sysin data set has value only please see below

Code:
 Command ===>                                                  Scroll ===> CSR 
 ****** ***************************** Top of Data ******************************
 000001 NAME=P017263                                                           
 ****** **************************** Bottom of Data ****************************
Back to top
View user's profile Send private message
Garry Carroll

Senior Member


Joined: 08 May 2006
Posts: 1162
Location: Dublin, Ireland

PostPosted: Wed Jun 01, 2022 4:13 pm
Reply with quote

This is not a SORT issue - it's an issue with the parameter passed to SAVERS.

Your 'P017263' parameter looks to be padded with unprintable characters because you gave the SORTOUT DCB an LRECL of 80.

While I am not familiar with SAVERS, you should probably set SORTOUT to an acceptable LRECL.The message suggests a maximum of 71.

Garry.
Back to top
View user's profile Send private message
Digvijay Singh

New User


Joined: 20 Apr 2022
Posts: 70
Location: India

PostPosted: Wed Jun 01, 2022 4:23 pm
Reply with quote

Thanks for your reply:

When i am giving SORTOUT LRECL AS 71 I AM GETTING user abend like :

Code:
13 F    ALTSAVRS 0017162 S        S013    WED 01 JUN 2022.152 06:46

erro msg :

 SORTIN   : RECFM=FB   ; LRECL=    80; BLKSIZE= 27920                 
 SORTIN   : DSNAME=ALT0.Q.NDVR.INTERNAL.ETT                           
 OUTREC RECORD LENGTH =    12                                         
 SORTOUT  : RECFM=FB   ; LRECL=    71; BLKSIZE= 27974                 
 SORTOUT  : DSNAME=ALT0.Q.NDVR.INTERNAL.ETTOUT                       
 OUTPUT LRECL DIFFERS FROM SORTOUT LRECL                             
 5,856K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16-MEGABYTE LINE,
Back to top
View user's profile Send private message
Digvijay Singh

New User


Joined: 20 Apr 2022
Posts: 70
Location: India

PostPosted: Wed Jun 01, 2022 4:51 pm
Reply with quote

Code:
Please have a look

 INSTALLATION OPTIONS IN MFX LOAD LIBRARY WILL BE USED                 
 SYSDIAG= 2107531, 10038428, 10038428, 12108240                       
 6,884K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,             
    0 BYTES RESERVE REQUESTED, 2,352K BYTES USED                       
 32K BYTES OF EMERGENCY SPACE ALLOCATED                               
 SORTIN   : RECFM=FB   ; LRECL=    71; BLKSIZE= 27974                 
 SORTIN   : DSNAME=ALT0.Q.NDVR.INTERNAL.ETT1                           
 OUTREC RECORD LENGTH =    12                                         
 SORTOUT  : RECFM=FB   ; LRECL=    71; BLKSIZE= 27974                 
 SORTOUT  : DSNAME=ALT0.Q.NDVR.INTERNAL.ETTOUT                         
 OUTPUT LRECL DIFFERS FROM SORTOUT LRECL                               
 5,856K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16-MEGABYTE LINE,
    0 BYTES RESERVE REQUESTED, 2,208K BYTES USED                       
 SYNCSMF  CALLED BY SYNCSORT; RC=0000                                 
 SORTIN   : EXCP'S=0,UNIT=3390,DEV=4529,CHP=(78797A7B7C7D7E7F,1),VOL=TS
 SORTOUT  : EXCP'S=0,UNIT=3390,DEV=553A,CHP=(78797A7B7C7D7E7F,1),VOL=TS
 TOTAL OF 0 EXCP'S ISSUED FOR COPYING                                 
 RCD IN          0, OUT          0                                     [code][/code]
Back to top
View user's profile Send private message
sergeyken

Senior Member


Joined: 29 Apr 2008
Posts: 1533

PostPosted: Wed Jun 01, 2022 5:54 pm
Reply with quote

Use
Code:
 OUTREC FIELDS=(C'NAME=',01,07,71:X) 
Back to top
View user's profile Send private message
Digvijay Singh

New User


Joined: 20 Apr 2022
Posts: 70
Location: India

PostPosted: Wed Jun 01, 2022 6:38 pm
Reply with quote

No luck still.

when i am passing values directly through sysin dd* Name=P1234 it is running fine but when i am trying to pass values through file it is giving error
Back to top
View user's profile Send private message
mistah kurtz

Active User


Joined: 28 Jan 2012
Posts: 316
Location: Room: TREE(3). Hilbert's Hotel

PostPosted: Wed Jun 01, 2022 9:37 pm
Reply with quote

Hope you didn't forget to change the LRECL from 80 to 71.

EDIT: Sorry I didn't notice you have already changed the LRECL of SORTOUT to 71. Can you post the error log.
Back to top
View user's profile Send private message
sergeyken

Senior Member


Joined: 29 Apr 2008
Posts: 1533

PostPosted: Wed Jun 01, 2022 11:28 pm
Reply with quote

Digvijay Singh wrote:
No luck still.

when i am passing values directly through sysin dd* Name=P1234 it is running fine but when i am trying to pass values through file it is giving error

View your intermediate record content in hexadecimal format. There is something not blanks after your value, I don’t know why.
Back to top
View user's profile Send private message
sergeyken

Senior Member


Joined: 29 Apr 2008
Posts: 1533

PostPosted: Thu Jun 02, 2022 4:48 am
Reply with quote

Code:
                                                                           
                          NAME=P017263..........................................
$AVR378C - PARAMETER VALUE EXCEEDS MAXIMUM LENGTH - 71 CHARACTERS               


That row of dots after your parameter value means that they are NOT BLANKS, but other NON-PRINTABLE CHARACTERS following the value.

It is YOUR OWN responsibility: to find out WHAT those characters are (in hexadecimal form), and WHY they are appearing there?

Nobody at this forum is able to guess: what is YOUR OWN intermediate dataset content?
Back to top
View user's profile Send private message
Digvijay Singh

New User


Joined: 20 Apr 2022
Posts: 70
Location: India

PostPosted: Thu Jun 02, 2022 9:38 am
Reply with quote

Hi Thanks for reply,

above error is gone when i used right length now i am getting error as RC=S013

My jcl steps are:

/
Code:
/************************************************************
//* EXTRACT THE DYNAMIC JOB SUBMITTED FOR DB2 DATA LOAD       
//************************************************************
//STEP01   EXEC PGM=SORT                                     
//SORTIN   DD  DSN=ALT0.Q.NDVR.INTERNAL.ETT3,DISP=SHR         
//SYSOUT   DD SYSOUT=*                                       
//SORTOUT  DD DSN=ALT0.Q.NDVR.DYNAJOB,                       
//            DISP=(NEW,CATLG,DELETE),                       
//            DCB=(RECFM=FB,LRECL=12,BLKSIZE=0),             
//            SPACE=(TRK,(15,5),RLSE),UNIT=SYSDA             
//SYSIN    DD  *                                             
  SORT FIELDS=COPY                                           
  OUTREC FIELDS=(01:C'NAME=',06:01,07)                       
/*                                                           
//************************************************************
 //************************************************************ 
 //* PREPARATION OF SORT CARD FOR EXTRACTING SAVERS LOG OF       
 //* DYNAMIC JOB SUBMITTED FOR DB DATA LOAD                     
 //************************************************************ 
 //STEP02   EXEC PGM=SORT                                       
 //SORTIN   DD  DSN=ALT0.Q.NDVR.INTERNAL.ETT3,DISP=SHR           
 //SYSOUT   DD SYSOUT=*                                         
 //SORTOUT  DD DSN=ALT0.Q.NDVR.DYNAJOB.SAVECARD,                 
 //            DISP=(NEW,CATLG,DELETE),                         
 //            DCB=(RECFM=FB,LRECL=80,BLKSIZE=0),               
 //            SPACE=(TRK,(15,5),RLSE),UNIT=SYSDA               
 //SYSIN    DD  *                                               
   SORT FIELDS=COPY                                             
   OUTFIL BUILD=(01:C'  OPTION COPY',67X,/,                     
   01:C'  INCLUDE COND=(2,6,CH,EQ,C''',01,08,C'''',C')',42X,/,   
   01:C'  OUTFIL REMOVECC,NODETAIL,TRAILER1=(1,133)',37X)       
 /*     
 //**************************************************
 //*   FETCH THE CURRENT DAY JOBS FROM SAVERS       
 //**************************************************
 //SAVFETCH EXEC $AVRDBRP                           
 //SORTIN   DD  UNIT=SYSALLDA,                       
 //             SPACE=(CYL,(80,20),RLSE)             
 //SORTOUT  DD  UNIT=SYSALLDA,                       
 //             SPACE=(CYL,(80,20),RLSE)             
 //SORTWK01 DD  UNIT=SYSALLDA,                       
 //             SPACE=(CYL,(50))                     
 //SORTWK02 DD  UNIT=SYSALLDA,                       
 //             SPACE=(CYL,(50))                     
 //SORTWK03 DD  UNIT=SYSALLDA,                       
 //             SPACE=(CYL,(50))                     
 //$AVRPRT  DD DSN=&&TEMPSAVE,                       
 //         DISP=(NEW,PASS),DATACLAS=DCTLARGE       
 //SYSIN    DD DSN=ALT0.Q.NDVR.DYNAJOB,DISP=SHR   


An my logs are :


Code:
IEF450I AF2TXDOB $AVRDBRP SAVFETCH - ABEND=S013 U0000 REASON=
        TIME=23.55.41                                       
SURF931I STEP ENDED: JOB=AF2TXDOB STEP=$AVRDBRP CC=S0013     
-AF2TXDOB SAVFETCH $AVRDBRP *S013    190    .00    .00    .00
SURF920I STEP START: JOB=AF2TXDOB STEP=SAVEFIL1 PGM=SORT     
SURF931I STEP ENDED: JOB=AF2TXDOB STEP=SAVEFIL1 CC=BBBBB     
-AF2TXDOB          SAVEFIL1 FLUSH      0    .00    .00    .00
SURF920I STEP START: JOB=AF2TXDOB STEP=STEP003  PGM=SORT     
SURF931I STEP ENDED: JOB=AF2TXDOB STEP=STEP003  CC=BBBBB     
-AF2TXDOB          STEP003  FLUSH      0    .00    .00    .00
SURF920I STEP START: JOB=AF2TXDOB STEP=$AVRPULL PGM=$AVRPULL
SURF931I STEP ENDED: JOB=AF2TXDOB STEP=$AVRPULL CC=BBBBB     
-AF2TXDOB $AVRPULL $AVRPULL FLUSH      0    .00    .00    .00
IEF404I AF2TXDOB - ENDED - TIME=23.55.41                     
SURF934I  JOB ENDED: JOB=AF2TXDOB       HIGHEST CC= S013     
-AF2TXDOB ENDED.  NAME-DATAF1NT-NVSTESTS    TOTAL CPU TIME= 
$HASP395 AF2TXDOB ENDED - ABEND=S013   
Back to top
View user's profile Send private message
Garry Carroll

Senior Member


Joined: 08 May 2006
Posts: 1162
Location: Dublin, Ireland

PostPosted: Thu Jun 02, 2022 12:42 pm
Reply with quote

A quick google for S013 will tell you:

"The S013 Abend occurs when the Program expects the DD to have a specific DCB, but the DD has a different DCB. Specify the correct DCB for the DD."

The dataset being used for SYSIN to SAVERS in your job has LRECL=12 but, based on the job you say works with SYSIN DD * , the SAVERS program expects LRECL=80. Looks like you need LRECL=80 correctly padded with blanks.

I don't see the purpose of the new STEP02 but you don't need to specify the number of bytes of blanks as padding - simply use 80:X to pad whatever remaining length to 80 bytes. (e.g. in your first step use:

Code:
  SORT FIELDS=COPY                                           
  OUTREC FIELDS=(01:C'NAME=',06:01,07,80:X)               


to get an output LRECL=80 - and change the JCL from LRECL=12)

Garry.
Back to top
View user's profile Send private message
sergeyken

Senior Member


Joined: 29 Apr 2008
Posts: 1533

PostPosted: Thu Jun 02, 2022 4:00 pm
Reply with quote

The TS has just ignored all 100% of given advices, and continues his endless loop of absolute misunderstanding: what he’s doing?

The forum is not the replacement of any Manual for Beginners.
Back to top
View user's profile Send private message
Digvijay Singh

New User


Joined: 20 Apr 2022
Posts: 70
Location: India

PostPosted: Thu Jun 02, 2022 4:47 pm
Reply with quote

You guys are great!!!!

above solution worked.

Thanks again Garry and everyone.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts SORT - To repeat a string in same col... SYNCSORT 3
No new posts Reference for COND parameter. JCL & VSAM 1
No new posts PS file parameter JCL & VSAM 4
No new posts pass data as symbolic parameter from ... CLIST & REXX 2
No new posts question on Outrec and sort #Digvijay DFSORT/ICETOOL 20
Search our Forums:

Back to Top