View previous topic :: View next topic
|
Author |
Message |
ashok_srivatsav Currently Banned New User
Joined: 29 Jun 2007 Posts: 15 Location: India, Bangalore
|
|
|
|
I am getting this error.
OUTREC STATEMENT : SYNTAX ERROR
heres the step.
//STEP01 EXEC PGM=ICEMAN
//SORTIN DD *
>.<
><
/*
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN DD *
OPTION COPY
OUTREC FINDREP=(IN=C'>.<',OUT=C'><')
/*
//*
Can someone pls help?
Regards/Ashok |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10888 Location: italy
|
|
|
|
did You search the forums for findrep,
if You had You would have found that... the correct syntax as in Frank Yaeger example/suggestion is :
Code: |
OPTION COPY
INREC FINDREP=(IN=C'>.<',OUT=C'><') |
when You post jcl an control cards, remember to use the code tag,
it will preserve formatting and ( especially for sort ) the leading blanks |
|
Back to top |
|
|
ashok_srivatsav Currently Banned New User
Joined: 29 Jun 2007 Posts: 15 Location: India, Bangalore
|
|
|
|
now its giving me INREC STATEMENT : SYNTAX ERROR. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
Have you ever considered posting the messages and codes displayed by the failure to help others help you ? |
|
Back to top |
|
|
ashok_srivatsav Currently Banned New User
Joined: 29 Jun 2007 Posts: 15 Location: India, Bangalore
|
|
|
|
SYSIN :
OPTION COPY
INREC FINDREP=(IN=C'>.<',OUT=C'><')
*
WER268A INREC STATEMENT : SYNTAX ERROR
WER211B SYNCSMF CALLED BY SYNCSORT; RC=0000
WER449I SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10888 Location: italy
|
|
|
|
do You have the proper level of dfsort ptfs
as per Frank Yaeger explanation on new dfsort/icetool features
http://www.ibmmainframes.com/viewtopic.php?t=32376&highlight=findrep
or are You running SYNCSORT ?
when posting error messages, please post the full message, complete with the message identifier and number (WER..... or ICE.....) it will save people time |
|
Back to top |
|
|
Aaru
Senior Member
Joined: 03 Jul 2007 Posts: 1287 Location: Chennai, India
|
|
|
|
Ashok,
WER messages indicates that you are using SYNCSORT and not DFSORT. FINDREP is a new feature added in DFSORT. |
|
Back to top |
|
|
ashok_srivatsav Currently Banned New User
Joined: 29 Jun 2007 Posts: 15 Location: India, Bangalore
|
|
|
|
Can anyone pls give me the JCL as to how it shud be for using FINDREP?
Thanks |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi,
which part of Aaru's reply did not make sense ?
Gerry |
|
Back to top |
|
|
ashok_srivatsav Currently Banned New User
Joined: 29 Jun 2007 Posts: 15 Location: India, Bangalore
|
|
|
|
Does it mean the same jcl will run fine if DFSORT is installed.
//STEP01 EXEC PGM=ICEMAN
//SORTIN DD *
>.<
><
/*
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN DD *
OPTION COPY
INREC FINDREP=(IN=C'>.<',OUT=C'><')
/*
//* |
|
Back to top |
|
|
Aaru
Senior Member
Joined: 03 Jul 2007 Posts: 1287 Location: Chennai, India
|
|
|
|
Ashok,
Quote: |
Does it mean the same jcl will run fine if DFSORT is installed.
|
Yes, Please be aware that SYNCSORT and DFSORT are two different and competitive sort products. |
|
Back to top |
|
|
ashok_srivatsav Currently Banned New User
Joined: 29 Jun 2007 Posts: 15 Location: India, Bangalore
|
|
|
|
Aaru
Does coding PGM=ICETOOL mean that its syncsort or DFsort?
Ashok |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
|
|
|
|
Hi,
ashok_srivatsav wrote: |
Does it mean the same jcl will run fine if DFSORT is installed. |
That's correct.
DFSORT introduced FIND and REPlace function in July, 2008. You'll need z/OS DFSORT V1R5 PTF UK90013 to use it.
Further, DFSORT and SyncSort are competitive products, some funtion introduced in one doesn't mean that it's also been introduced in other as well, however, it may be at times.. |
|
Back to top |
|
|
Aaru
Senior Member
Joined: 03 Jul 2007 Posts: 1287 Location: Chennai, India
|
|
|
|
Ashok,
Quote: |
Does coding PGM=ICETOOL mean that its syncsort or DFsort?
|
From manuals:
ICETOOL is a multipurpose DFSORT utility that uses the capabilities of DFSORT to perform multiple operations on one or more data sets in a single step.
SYNCTOOL is the equivalent of ICETOOL for SYNCSORT.
Btw what exactly is your requirement? |
|
Back to top |
|
|
ashok_srivatsav Currently Banned New User
Joined: 29 Jun 2007 Posts: 15 Location: India, Bangalore
|
|
|
|
I want to sort FB input records with variable position/length fields, such as comma separated values.
I/P
Marketing,96218,+27365
Development,3807,+1275
Research,7283,+5001
Development,1700,-5316
Research,978,+13562
Development,3807,-158
Research,7283,+5002
Marketing,52,-8736
Development,5781,+2736
Marketing,52,+1603
Research,16072,-2022
O/P shud be like this.
11 bytes of dept name, next 5 bytes of number and next 6 bytes of number including the sign.
Marketing 96218+27365
Development3807 +1275
Research 7283 +5001
Development1700 -5316
Research 978 +13562
Development3807 -158
Research 7283 +5002
Marketing 52 -8736
Development5781 +2736
Marketing 52 +1603
Research 16072-2022
Following is the control card.
INREC PARSE=(%00=(ENDBEFR=Cā,ā,FIXLEN=11),
%01=(ENDBEFR=Cā,ā,FIXLEN=5),
%02=(FIXLEN=6)),
OVERLAY=(31:%00,42:%01,47:%02)
SORT FIELDS=(31,11,CH,A,42,5,UFF,A,47,6,SFF,D)
OUTREC BUILD=(1,30)
Should i use PGM=SORT or PGM=ICEMAN or PGM=ICETOOL for this?
Ashok |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10888 Location: italy
|
|
|
|
it all depends
Just to clarify a few points in program naming....
DFSORT ( by IBM ) installs as:
ICEMAN ( with aliases SORT AND DFSORT )
ICETOOL
its messages are prefixed by ICE
SYNCSORT ( by ..... )
SYNCSORT
SYNTOOL
its messages are prefixed by WER
many shops create aliases
SORT and ICEMAN for SYNCSORT
ICETOOL for SYNTOOL
in order not to have to change jcl streams
about the naming in Your organization ask Your support |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
|
|
|
|
Hi,
Aarrgghh..what connection does your last post has with the start of this thread..
Check this thread ibmmainframes.com/viewtopic.php?t=1184&highlight=difference+dfsort
and underfstand this:
Quote: |
DFSORT is a sort product sold by IBM.
SYNCSORT is a competing product sold by Syncsort, Inc.
And there is one more - CA-SORT, sold by Computer Associates.
Obviously, most shops only buy one of these products.
ICEMAN is just another name (entry point) used for the sort program. It's common practice in shops for the system programmers to set up all the common names as entry points to their purchased SORT product. You will often find that PGM=SYNCSORT and PGM=DFSORT will both work in your shop, and both execute the same sort program (whichever one your shop purchased).
ICETOOL is an expansion to the basic SORT program, that allows you to use alternate (simpler) commands to do multiple sort operations in a single sort step. I think that ICETOOL doesn't do anything that you couldn't do via coding multiple DFSORT steps -- it just makes coding them a bit easier.
ICETOOL is supplied as part of the basic SORT package -- if you have DFSORT, you also have ICETOOL. Many people don't seem to realize this. And some troglydite managements don't understand this, and forbid use of ICETOOL in production, restricting programmers to only SORT steps. Such managements are fools (but, alas, not uncommon).
SYNCTOOL is Syncsort, Inc.'s version of the ICETOOL package.
All these are very similar products -- they all do basic sorting. And they use similar commands. For most basic sort operations, the same commands will work in all the products. When you get into more advanced functions, there are some differences between them -- some functions are only offered in one or the other product, and sometimes different syntax is used for the same operations. |
It might need modifiaction, but would provide you a start..
PS.: Sorry Aaru, I was too tempted..
(Post edited by request) |
|
Back to top |
|
|
Arun Raj
Moderator
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
|
|
|
|
Ashok,
Which version of Syncsort are you using.
PARSE is supported only by Syncsort 1.3
Thanks,
Arun |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
|
|
|
|
Hi Enrico,
Just in case, this
Quote: |
Aarrgghh..what connection does your last post has with the start of this thread.. |
creates any confusion, this was meant for the TS..
I should get my keyboard changed.. .. Actually I was taking time in positioning my glasses.. and you typed by the time.. |
|
Back to top |
|
|
ashok_srivatsav Currently Banned New User
Joined: 29 Jun 2007 Posts: 15 Location: India, Bangalore
|
|
|
|
mine is 1.2.3 |
|
Back to top |
|
|
Aaru
Senior Member
Joined: 03 Jul 2007 Posts: 1287 Location: Chennai, India
|
|
|
|
Ashok,
PARSE is included in SyncSort for z/OS 1.3,
use the below JCL, If that is installed at your site
Code: |
//STEPS2 EXEC PGM=ICEMAN
//SYSOUT DD SYSOUT=*
//SORTIN DD *
MARKETING,96218,+27365
DEVELOPMENT,3807,+1275
RESEARCH,7283,+5001
/*
//SYSIN DD *
OPTION COPY
INREC PARSE=(%00=(ENDBEFR=C',',FIXLEN=11),
%01=(ENDBEFR=C',',FIXLEN=5),
%02=(FIXLEN=6)),
BUILD=(%00,%01,%02)
/*
//SORTOUT DD SYSOUT=* |
Output:
Code: |
MARKETING 96218+27365
DEVELOPMENT3807 +1275
RESEARCH 7283 +5001 |
|
|
Back to top |
|
|
Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
Corrections to some of the statements made in this thread:
It was implied that FINDREP can be used with INREC, but not with OUTREC. Actually, DFSORT's new FINDREP function can be used with the INREC, OUTREC and OUTFIL statements. IFTHEN FINDREP is also supported on all three statements.
Quote: |
SYNCTOOL is the equivalent of ICETOOL for SYNCSORT |
.
ICETOOL is a fully documented feature of DFSORT. SYNCTOOL is not documented. Syncsort's SYNCTOOL is NOT equivalent to DFSORT's ICETOOL. DFSORT's ICETOOL has functions that are NOT available with Syncsort's SYNCTOOL.
Quote: |
DFSORT ( by IBM ) installs as:
ICEMAN ( with aliases SORT AND DFSORT )
ICETOOL |
DFSORT does not ship "DFSORT" as an alias. It does ship "SORT" as an alias.
Quote: |
many shops create aliases
SORT and ICEMAN for SYNCSORT
ICETOOL for SYNTOOL |
AFAIK, Syncsort ships these aliases itself. Some shops that migrate from Syncsort to DFSORT do create "SYNCSORT" as an alias for "ICEMAN" since DFSORT does not ship "SYNCSORT" as an alias.
Quote: |
I think that ICETOOL doesn't do anything that you couldn't do via coding multiple DFSORT steps -- it just makes coding them a bit easier. |
This is a ridiculous statement. "A bit easier"? Try a whole lot easier. Even if you could do "anything" ICETOOL does with just sort steps (unlikely unless you're talking about writing your own E15 or E35 exit with the required logic), you would have to spend a great deal of time figuring out how to do it and it would take several passes in many cases and be less efficient. DFSORT's ICETOOL performs a whole host of functions that are significantly easier to do with ICETOOL then with just sort steps. Why not just say that DFSORT's ICETOOL can't do anything a COBOL program can't do (that at least would be true although it would ignore the fact that people would rather NOT write their own code to do things that they can do with a utility).
I don't understand why anyone would "belittle" the usefulness of DFSORT's ICETOOL or say that it just makes things "a bit easier". There's no question that DFSORT's ICETOOL has become a very important tool for many, many customers and made their jobs easier. I've added new functions to it frequently to allow it to do more and more since I first introduced it in 1991. Just look at the z/OS DFSORT V1R5 PTF UK90013 material to see the significant new functions I just added to DFSORT's ICETOOL including DATASORT, SUBSET, WITHANY, BCOUNT, FIRST(n), FIRSTDUP(n), WRITE(countdd), and so on. |
|
Back to top |
|
|
|