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

Syncsort Error when using temp dataset on Joinkeys


IBM Mainframe Forums -> SYNCSORT
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Mikel Terracina

New User


Joined: 02 Apr 2012
Posts: 11
Location: USA

PostPosted: Tue Apr 03, 2012 12:36 am
Reply with quote

Hello, I'm performing a syncsort joinkeys, which is failing as long as I'm using a temporary dataset. However, if I use a permanent dataset, it works just fine. Anybody have any ideas why this is happening?

Attached is the JCL. STEP001 is creating a list of key fields (policy numbers) from the INFILE that I will want to use for STEP002. STEP002 is copying the whole record (file F1) if it has the policy number from file F2. If I replace &&STEP1OUT with a permanent dataset, it works just fine :S

I'm using: SYNCSORT FOR Z/OS 1.4.0.1R

Error Messages:
Code:
AMS0000I: STEP END  MXT020C2.STEP001   RC= 0000   CPU=    0.03 SEC.
+WER999A MXT020C2,STEP002 ,        -  UNSUCCESSFUL SORT 77E W       
$HASP375 MXT020C2 ESTIMATED  LINES EXCEEDED                         
$HASP375 MXT020C2 ESTIMATE EXCEEDED BY              10,000  LINES   
$HASP375 MXT020C2 ESTIMATE EXCEEDED BY              20,000  LINES   
$HASP375 MXT020C2 ESTIMATE EXCEEDED BY              30,000  LINES   
AMS0000I: STEP END  MXT020C2.STEP002   RC= 0016   CPU=    0.50 SEC.
IEF404I MXT020C2 - ENDED - TIME=13.06.09



Code:

//STEP001  EXEC PGM=CY004232                                   
//*                                                           
//INFILE   DD  DSN=AFTD.CY09126T.CY414241.MXT020A.SDWINF,    /* RECFM=VB, 
//             DISP=SHR                                      /* LRECL=2048 
//OUTFILE  DD  DSN=&&STEP1OUT,                                 
//             DISP=(NEW,PASS,DELETE),                         
//             DCB=(RECFM=FB,LRECL=10,BLKSIZE=27990),         
//             SPACE=(TRK,(50,10),RLSE),                       
//             UNIT=SYSDA                                     
//*                                                           
//SYSOUT   DD  SYSOUT=*                                       
//SYSPRINT DD  SYSOUT=*                                       
//SYSUDUMP DD  SYSOUT=*                                       
//*                                                           
//****************************************************************** 
//STEP002  EXEC PGM=SORT                                             
//*                                                                   
//SORTJNF1 DD  DSN=*.STEP001.INFILE,                               
//             DISP=SHR                                               
//SORTJNF2 DD  DSN=&&STEP1OUT,                                       
//             DISP=(OLD,PASS)                                       
//SORTOUT  DD  DSN=&&STEP2OUT,                                                     
//             DISP=(NEW,CATLG,DELETE),                               
//             DCB=(LRECL=2048,RECFM=VB),                             
//             SPACE=(TRK,(500,100),RLSE),                           
//             UNIT=SYSDA                                             
//*                                                                   
//SYSIN DD *                          /* Join by policy number                               
  JOINKEYS FILE=F1,FIELDS=(9,10,A)    /* policy num - pos 5, len 10 (add +4 for VB)                         
  JOINKEYS FILE=F2,FIELDS=(1,10,A)    /* policy num - pos 1, len 10   
  REFORMAT FIELDS=(F1:1,4,5)          /* copy file 1 record
  SORT FIELDS=COPY                 
  END
/*


jcl inlined and attachment deleted
( not everybody can see them )
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Tue Apr 03, 2012 1:15 am
Reply with quote

Can you show the sort messages from failed step and successful step?
Back to top
View user's profile Send private message
Mikel Terracina

New User


Joined: 02 Apr 2012
Posts: 11
Location: USA

PostPosted: Tue Apr 03, 2012 1:43 am
Reply with quote

sure thing,

Using temp dataset:
Code:
  SYNCSORT FOR Z/OS  1.4.0.1R    U.S. PATENTS: 4210961, 5117495   (C) 2010 SYNCSORT INC.   DATE=2012/093   TIME=15.00.33                             
                                                        z/OS   1.11.0                                                                                 
  SYNCSORT LICENSED FOR CPU SERIAL NUMBER nnnnn, MODEL 2097 606             LICENSE/PRODUCT EXPIRATION DATE: 02 JUL 2013                             
  SYSIN :                                                                                                                                             
    JOINKEYS FILE=F1,FIELDS=(9,10,A)                                                                                                                 
    JOINKEYS FILE=F2,FIELDS=(1,10,A)     /* WRITE OUT THE ENTIRE RECORD                                                                               
    REFORMAT FIELDS=(F1:1,4,5)           /* FROM FILE 1 WHENEVER THE                                                                                 
    SORT FIELDS=COPY                     /* JOINKEYS FIELDS MATCH                                                                                     
    END                                                                                                                                               
  WER276B  SYSDIAG= 31540, 1640316, 1640316, 377625                                                                                                   
  WER164B  7,336K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,                                                                                 
  WER164B     0 BYTES RESERVE REQUESTED, 1,190,288 BYTES USED                                                                                         
  WER146B  20K BYTES OF EMERGENCY SPACE ALLOCATED                                                                                                     
  WER481I  JOINKEYS REFORMAT RECORD LENGTH= 2048, TYPE = V                                                                                           
  WER110I  SORTOUT  : RECFM=VB   ; LRECL=  2048; BLKSIZE=  2052                                                                                       
  WER074I  SORTOUT  : DSNAME=SYS12093.T150025.RA000.MXT020C2.STEP2OUT.H04                                                                             
  WER410B  6,308K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,                                                                           
  WER410B     0 BYTES RESERVE REQUESTED, 160K BYTES USED                                                                                             
  WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000                                                                                                       
  WER449I  SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE                                                                                                       
  WER482I  JNF1 STATISTICS                                                                                                                           
  WER483B  4,284K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,                                                                                 
  WER483B     0 BYTES RESERVE REQUESTED, 3,508K BYTES USED                                                                                           
  WER108I  SORTJNF1 : RECFM=VB   ; LRECL=  2048; BLKSIZE=  2052                                                                                       
  WER073I  SORTJNF1 : DSNAME=AFTD.CY09126T.CY414241.MXT020A.SDWINF                                                                                   
  WER483B  3,252K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,                                                                           
  WER483B     0 BYTES RESERVE REQUESTED, 3,252K BYTES USED                                                                                           
  WER483B  G=332,B=56656,SEGLEN=1912,BIAS=99                                                                                                         
  WER483B  0 PREALLOCATED SORTWORK TRACKS, 180 DYNAMICALLY ALLOCATED,                                                                                 
  WER483B     0 ACQUIRED IN SECONDARY EXTENTS, 0 RELEASED, TOTAL OF 83 TRACKS USED                                                                   
  WER482I  JNF2 STATISTICS                                                                                                                           
  WER483B  2,548K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,                                                                                 
  WER483B     0 BYTES RESERVE REQUESTED, 1,000K BYTES USED                                                                                           
  WER108I  SORTJNF2 : RECFM=FB   ; LRECL=    10; BLKSIZE= 27990                                                                                       
  WER073I  SORTJNF2 : DSNAME=SYS12093.T150025.RA000.MXT020C2.STEP1OUT.H04                                                                             


Using permanent dataset:
Code:
  SYNCSORT FOR Z/OS  1.4.0.1R    U.S. PATENTS: 4210961, 5117495   (C) 2010 SYNCSORT INC.   DATE=2012/093   TIME=15.04.19                             
                                                        z/OS   1.11.0                                                                                 
  SYNCSORT LICENSED FOR CPU SERIAL NUMBER 59D35, MODEL 2097 606             LICENSE/PRODUCT EXPIRATION DATE: 02 JUL 2013                             
  SYSIN :                                                                                                                                             
    JOINKEYS FILE=F1,FIELDS=(9,10,A)                                                                                                                 
    JOINKEYS FILE=F2,FIELDS=(1,10,A)     /* WRITE OUT THE ENTIRE RECORD                                                                               
    REFORMAT FIELDS=(F1:1,4,5)           /* FROM FILE 1 WHENEVER THE                                                                                 
    SORT FIELDS=COPY                     /* JOINKEYS FIELDS MATCH                                                                                     
    END                                                                                                                                               
  WER276B  SYSDIAG= 21836, 1646197, 1646197, 377700                                                                                                   
  WER164B  7,336K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,                                                                                 
  WER164B     0 BYTES RESERVE REQUESTED, 1,190,288 BYTES USED                                                                                         
  WER146B  20K BYTES OF EMERGENCY SPACE ALLOCATED                                                                                                     
  WER481I  JOINKEYS REFORMAT RECORD LENGTH= 2048, TYPE = V                                                                                           
  WER110I  SORTOUT  : RECFM=VB   ; LRECL=  2048; BLKSIZE=  2052                                                                                       
  WER074I  SORTOUT  : DSNAME=SYS12093.T150417.RA000.MXT020C2.STEP2OUT.H04                                                                             
  WER410B  6,308K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,                                                                           
  WER410B     0 BYTES RESERVE REQUESTED, 160K BYTES USED                                                                                             
  WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000                                                                                                       
  WER449I  SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE                                                                                                       
  WER416B  SORTOUT  : EXCP'S=2,UNIT=3390,DEV=3317,CHP=(18191A1B1C1D1E1F,1),VOL=WRKX4A                                                                 
  WER416B  TOTAL OF 2 EXCP'S ISSUED FOR COPYING                                                                                                       
  WER054I  RCD IN        191, OUT        191                                                                                                         
  WER072I  NOEQUALS, BALANCE IN EFFECT                                                                                                               
  WER169I  RELEASE 1.4 BATCH 0520 TPF LEVEL 0.1                                                                                                       
  WER482I  JNF1 STATISTICS                                                                                                                           
  WER483B  4,284K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,                                                                                 
  WER483B     0 BYTES RESERVE REQUESTED, 3,508K BYTES USED                                                                                           
  WER108I  SORTJNF1 : RECFM=VB   ; LRECL=  2048; BLKSIZE=  2052                                                                                       
  WER073I  SORTJNF1 : DSNAME=AFTD.CY09126T.CY414241.MXT020A.SDWINF                                                                                   
  WER483B  3,252K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,                                                                           
  WER483B     0 BYTES RESERVE REQUESTED, 3,252K BYTES USED                                                                                           
  WER483B  G=332,B=56656,SEGLEN=1912,BIAS=99                                                                                                         
  WER483B  0 PREALLOCATED SORTWORK TRACKS, 180 DYNAMICALLY ALLOCATED,                                                                                 
  WER483B     0 ACQUIRED IN SECONDARY EXTENTS, 0 RELEASED, TOTAL OF 83 TRACKS USED                                                                   
  WER484I  SORTJNF1 : RCD IN= 5617,OMITTED= 0,PAIRED= 191,UNPAIRED= 5426                                                                             
  WER416B  SORTJNF1 : EXCP'S=8,UNIT=3390,DEV=30A6,CHP=(1011121314151617,1),VOL=TDLX11                                                                 
  WER416B  JNF1WK01 : EXCP'S=14,UNIT=3390,DEV=310C,CHP=18191A1B1C1D1E1F,VOL=WRKX13                                                                   
  WER416B  JNF1WK02 : EXCP'S=5,UNIT=3390,DEV=3646,CHP=1011121314151617,VOL=WRKXA7                                                                     
  WER416B  TOTAL OF 19 EXCP'S ISSUED FOR SORTWORKS                                                                                                   
  WER416B  TOTAL OF 27 EXCP'S ISSUED FOR SORTING                                                                                                     
  WER487I  FILESIZE 4,543,234 BYTES                                                                                                                   
  WER482I  JNF2 STATISTICS                                                                                                                           
  WER483B  2,548K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,                                                                                 
  WER483B     0 BYTES RESERVE REQUESTED, 1,772K BYTES USED                                                                                           
  WER108I  SORTJNF2 : RECFM=FB   ; LRECL=    10; BLKSIZE= 27990                                                                                       
  WER073I  SORTJNF2 : DSNAME=AFTD.CY09126T.CY414241.MXT020.STEP1OUT                                                                                   
  WER483B  1,516K BYTES OF VIRTUAL STORAGE AVAILABLE ABOVE THE 16MEG LINE,                                                                           
  WER483B     0 BYTES RESERVE REQUESTED, 1,516K BYTES USED                                                                                           
  WER483B  G=2970                                                                                                                                     
  WER484I  SORTJNF2 : RCD IN= 164,OMITTED= 0,PAIRED= 164,UNPAIRED= 0                                                                                 
  WER416B  SORTJNF2 : EXCP'S=1,UNIT=3390,DEV=82A5,CHP=(1011121314151617,1),VOL=TDLX0D                                                                 
  WER416B  TOTAL OF 1 EXCP'S ISSUED FOR SORTING                                                                                                       
  WER487I  FILESIZE 1,640 BYTES                                                                                                                       
  WER052I  END SYNCSORT - MXT020C2,STEP002,,DIAG=AA00,6108,8282,00CE,E27E,4CA3,8288,EE66                                                             
  WER052I  DIAG1=C600,501C,EA92,E066,8F6F,68A3,2600,EF66                                                                                             
  WER052I  DIAG2=A800,724A,8092,A4DD,E16F,4CE3,0200,AD66                                                                                             


thanks,
Mike
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Tue Apr 03, 2012 2:46 am
Reply with quote

Is that all the messages for the failure?

You got RC=16, but no message for that. I'm wondering if your temporary dataset was empty (as yet reason unknown), nothing comes out of the match, and your installation of Syncsort gives RC=16 for an empty joinkeys dataset.

Have you created the permanent dataset "recently", ie, has the extract program been changed since you created the permanent dataset? If the extract has been messed up so that no records are extracted, yet your "permanent" still has records on, that could account for it?

You need to confirm that the temporary is empty. Either read it with something, or make the output to a different permanent dataset. You got any counts from the key extract program?

You have a curiosity. Your main file seems to have only one record per block. The SORTOUT inherits this. Not so hot for performance.
Back to top
View user's profile Send private message
Mikel Terracina

New User


Joined: 02 Apr 2012
Posts: 11
Location: USA

PostPosted: Tue Apr 03, 2012 10:42 pm
Reply with quote

The funny thing is, this code used to work. In fact, it ran in production last quarter end without any issues. However, we've upgraded to Syncsort version 1.4 since then. This is just a shot in the dark, but could it be the upgrade to 1.4 from 1.3?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Tue Apr 03, 2012 11:07 pm
Reply with quote

Hello,

Might well be something to do with the upgrade. . .

Either something in the product or some installation setting may have been changed.

Suggest you open an issue with Syncsort support.
Back to top
View user's profile Send private message
Alissa Margulies

SYNCSORT Support


Joined: 25 Jul 2007
Posts: 496
Location: USA

PostPosted: Tue Apr 03, 2012 11:33 pm
Reply with quote

Syncsort Support is looking into it...

Regards,
Back to top
View user's profile Send private message
Mikel Terracina

New User


Joined: 02 Apr 2012
Posts: 11
Location: USA

PostPosted: Tue Apr 03, 2012 11:35 pm
Reply with quote

Thanks everyone!
Back to top
View user's profile Send private message
Ashoke Tewari

New User


Joined: 11 Feb 2016
Posts: 1
Location: United States

PostPosted: Thu Feb 11, 2016 9:37 pm
Reply with quote

Hi,

I realise the OP may not be interested in a solution to this (probably because this issue is taken care of in SYNCSORT v2.1.1.1N), but I would still like to address this issue to help out others using the older versions of SYNCSORT.

Note that in OP's case, no conclusions were drawn from the Joinkey SNAP(s).


The same problem was reported by a programmer in my workplace with a very similar JOINKEY statement, and this particular thread was linked to.

I.
I checked the Joinkeys SNAP report (either of JNF1SNAP/JNF2SNAP depending on the parameters used to allocate each one...see below about RLSE).
and saw this:

*** DCB FORMAT ERROR. DCB DOES NOT POINT TO DEB ***
*** DCB NOT FORMATTED - COULD NOT DETERMINE THE ACCESS METHOD USED ***


II.
Searching for above error message in IBM Knowledge Center, I found this under Programmer Response:

Probable user error. Make sure that the IMGLIB CLOSE macro instruction is correctly coded.

This led me to suspect the RLSE sub-parameter in SPACE parameter specified when cataloging the temp dataset(s) used as I/P ... note that OP uses this sub-parameter in &&STEP1OUT.

III.
Subsequent searches in IBM Knowledge Center for "RLSE" and "Partial Release" indicated this:

The system ignores a request to release unused space when closing a data set if it cannot immediately obtain exclusive control of the data set. Circumstances that would preclude obtaining exclusive control include:
-- Another job is sharing the data set.
-- Another task in the same multitasking job is processing an OPEN, CLOSE, EOV, or FEOV request for any other data set.
-- Another data control block is open for the data set.
,

but I was unable to find something concrete.

IV.
I still gave it a try - I removed the RLSE sub-parameter from the SPACE parameter specifications when allocating the I/P temp datasets ... and it worked!

Conclusion.
The fact that this issue is non-existent in v2.1.1.1N is definitely interesting, as it possibly points to the statement above --> The system ignores a request to release unused space when closing a data set if it cannot immediately obtain exclusive control of the data set in relation to a temp dataset.

This solution is in no way complete, as some variables are left un-addressed (which would amount to testing in various scenarios and more research), but do give it a try.
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 -> SYNCSORT

 


Similar Topics
Topic Forum Replies
No new posts Error to read log with rexx CLIST & REXX 11
No new posts Error when install DB2 DB2 2
No new posts FINDREP - Only first record from give... DFSORT/ICETOOL 3
No new posts Compare only first records of the fil... SYNCSORT 7
No new posts CLIST - Virtual storage allocation error CLIST & REXX 5
Search our Forums:

Back to Top