View previous topic :: View next topic
Author
Message
Digvijay Singh Active User Joined: 20 Apr 2022Posts: 141 Location: India
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
Garry Carroll Senior Member Joined: 08 May 2006Posts: 1193 Location: Dublin, Ireland
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
Digvijay Singh Active User Joined: 20 Apr 2022Posts: 141 Location: India
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
Digvijay Singh Active User Joined: 20 Apr 2022Posts: 141 Location: India
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
sergeyken Senior Member Joined: 29 Apr 2008Posts: 2019 Location: USA
Use
Code:
OUTREC FIELDS=(C'NAME=',01,07,71:X)
Back to top
Digvijay Singh Active User Joined: 20 Apr 2022Posts: 141 Location: India
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
mistah kurtz Active User Joined: 28 Jan 2012Posts: 316 Location: Room: TREE(3). Hilbert's Hotel
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
sergeyken Senior Member Joined: 29 Apr 2008Posts: 2019 Location: USA
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
sergeyken Senior Member Joined: 29 Apr 2008Posts: 2019 Location: USA
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
Digvijay Singh Active User Joined: 20 Apr 2022Posts: 141 Location: India
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
Garry Carroll Senior Member Joined: 08 May 2006Posts: 1193 Location: Dublin, Ireland
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
sergeyken Senior Member Joined: 29 Apr 2008Posts: 2019 Location: USA
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
Digvijay Singh Active User Joined: 20 Apr 2022Posts: 141 Location: India
You guys are great!!!!
above solution worked.
Thanks again Garry and everyone.
Back to top
Please enable JavaScript!