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

WER247A incompatible lrecl


IBM Mainframe Forums -> SYNCSORT
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Danielle.Filteau

New User


Joined: 02 Dec 2014
Posts: 16
Location: Canada

PostPosted: Tue May 02, 2017 4:04 am
Reply with quote

Hi, could someone with fresh eyes take a look at this ?

My input file and output file are both
DCB=(RECFM=FB,LRECL=200,DSORG=PS)

so perhaps the output specification is off by a position or two somewhere but I'm just not seeing it.

For rows matching the input criteria, 2 rows should be written to the output file: one to expire the existing row and a new with correct values.

Code:

SYNCSORT FOR Z/OS  2.1.3.0R    U.S. PATENTS: 4210961, 5117495   (C) 2014 SYNCS
                                        z/OS   2.1.0
SYNCSORT LICENSED FOR CPU SERIAL NUMBER 12C27, MODEL 2827 715             LICE
SYSIN :
  SORT FIELDS=COPY
  OUTFIL FNAMES=UPDT1,
    INCLUDE=(3,3,CH,EQ,C'017',AND,56,8,CH,NE,C'99991231',AND,
         16,2,CH,EQ,C'AR',AND,25,1,CH,NE,C'*',AND,67,1,CH,EQ,C'N'),
    BUILD=(1,66,67:C'Y1',69,96,165:C'CONSERV',3X,175:&DATE1,184,16,
         /,1,24,25:C'1',26,30,56:C'99991231',64,100,
          165:C'CONSERV',3X,175:&DATE1,184,16)
WER813I  INSTALLATION OPTIONS IN MFX LOAD LIBRARY WILL BE USED
WER276B  SYSDIAG= 12581823, 20867097, 20867097, 22994700
WER164B  6,916K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
WER164B     0 BYTES RESERVE REQUESTED, 1M BYTES USED
WER108I  SORTIN   : RECFM=FB   ; LRECL=   200; BLKSIZE= 27800
WER073I  SORTIN   : DSNAME=DXF125.NDVRC1.CCIDPIT.MAR28
WER110I  UPDT1    : RECFM=FB   ; LRECL=   200; BLKSIZE= 27800
WER074I  UPDT1    : DSNAME=SXSC.CCIDPIT.S1.JAN17.NOTPERM.AR.S1.OUT
WER247A  UPDT1    HAS INCOMPATIBLE LRECL
WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000
WER449I  SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE


The input dataset is formatted like this (cols 1-72):
Code:

=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
****** ***************************** Top of Data ******************************
- - -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 18357 Line(s) not Displayed
018358   107KLS       IT1CYCLE 2 SYSALL   A87600   20170123   20191231   N
- - -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 55832 Line(s) not Displayed


cols 70-141
Code:

=COLS> 7----+----8----+----9----+----0----+----1----+----2----+----3----+----4-
****** ***************************** Top of Data ******************************
- - -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 18357 Line(s) not Displayed
018358      STG 2                                        HXD709    20170130
- - -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 55832 Line(s) not Displayed


cols 142-200
Code:

---+----5----+----6----+----7----+----8----+----9----+----0
**************** Top of Data ******************************
  -  -  -  -  -  -  -  -  -  - 18357 Line(s) not Displayed
   *         *
  -  -  -  -  -  -  -  -  -  - 55832 Line(s) not Displayed



I've counted the fields several times now but nothing works. U016 is driving me nuts!

Thanks.
Back to top
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2481
Location: @my desk

PostPosted: Tue May 02, 2017 8:53 am
Reply with quote

I don't have Syncsort here. But do you have a conflicting LRECL mentioned in your run JCL for the output data set - UPDT1?
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: Tue May 02, 2017 5:24 pm
Reply with quote

Length of DATE1(CCYYMMDD) is 8.
Code:
175:&DATE1,184,16
So the DATE1 will end at 182, not at 183. Try putting a space after DATE1.
Back to top
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2481
Location: @my desk

PostPosted: Tue May 02, 2017 5:37 pm
Reply with quote

Code:
184,16
Danielle.Filteau,

The length of the last field (or its starting position) should go up, to make it 200. As of now it adds up only to 199.
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: Tue May 02, 2017 5:41 pm
Reply with quote

Arun Raj wrote:
Code:
184,16
Also the length of the last field should go up as well, to make it 200. As of now it adds up only to 199.


Yup. That's why I suggested to add a space either after DATE1 or in the end or may be change the length to 17 to make it 200, whichever meets the OP's requirement.
Back to top
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2481
Location: @my desk

PostPosted: Tue May 02, 2017 5:50 pm
Reply with quote

Or maybe
Code:
183,18
Well from the sample record it appears all blanks (unless it is something non-displayable), but the OP should know better which 'blank' to choose icon_smile.gif
Back to top
View user's profile Send private message
Danielle.Filteau

New User


Joined: 02 Dec 2014
Posts: 16
Location: Canada

PostPosted: Tue May 02, 2017 6:46 pm
Reply with quote

THANK YOU !!!!!!! it finally worked.
I wish syncsort would give you more information to help diagnose these kinds of errors. Are there any tricks you know to help with situations like this? I have 26 of these cases to code ... lol
Back to top
View user's profile Send private message
sergeyken

Senior Member


Joined: 29 Apr 2008
Posts: 2023
Location: USA

PostPosted: Tue May 02, 2017 7:36 pm
Reply with quote

Danielle.Filteau wrote:
THANK YOU !!!!!!! it finally worked.
I wish syncsort would give you more information to help diagnose these kinds of errors. Are there any tricks you know to help with situations like this? I have 26 of these cases to code ... lol

The whole trick is: whenever you get the message
Code:
WER247A  UPDT1    HAS INCOMPATIBLE LRECL
then try to
    - compare your BUILD definitions, and LRECL of your output file, or
    - use some new DSNAME without DCB parameter defined in your DD statement; the file will be created with LRECL taken from your BUILD parameter - you can compare it to what you really need; in some cases even output DD with SYSOUT=* may help to visually find the difference in output.

I can recommend not to be lazy, and format your statement(s) properly. It makes easier further searching for typos, etc.
Code:
... INCLUDE=(3,3,CH,EQ,C'017',
        AND,56,8,CH,NE,C'99991231',
        AND,16,2,CH,EQ,C'AR',
        AND,25,1,CH,NE,C'*',
        AND,67,1,CH,EQ,C'N'),
    BUILD=(1,66,
          67:C'Y1',69,96,
         165:C'CONSERV',3X,
         175:&DATE1,184,16,
         /,1,24,
        25:C'1',26,30,
        56:C'99991231',64,100,
       165:C'CONSERV',3X,
       175:&DATE1,184,16)
Back to top
View user's profile Send private message
Danielle.Filteau

New User


Joined: 02 Dec 2014
Posts: 16
Location: Canada

PostPosted: Tue May 02, 2017 8:00 pm
Reply with quote

Thank you sergeyken, these are all good ideas. Much appreciated.
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 WER247A SORTOUT HAS INCOMPATIBLE LRECL SYNCSORT 7
No new posts VB to FB - Finding LRECL SYNCSORT 4
No new posts A command to change LRECL of an exist... JCL & VSAM 7
No new posts Puzzled about output LRECL DFSORT/ICETOOL 4
No new posts Increase the Maximum Length of LRECL ... JCL & VSAM 5
Search our Forums:

Back to Top