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

Syncsort - Modifying a report. Line break logic


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
ScottUrban

New User


Joined: 23 Apr 2007
Posts: 50
Location: Jefferson City, Mo

PostPosted: Tue Jul 01, 2008 7:04 pm
Reply with quote

Is there any way you can pass this on to the resident syncsort expert? Or should I just start a topic from the beginning on the JCL forum?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Tue Jul 01, 2008 7:12 pm
Reply with quote

Hello,

There is no need to start a new topic. . .

There is a need for you slow down, pay more attention to what you post/test and to follow suggestions. . . (i.e. Is there some reason you have not yet "Code"ed your jcl/control statements?).
Back to top
View user's profile Send private message
ScottUrban

New User


Joined: 23 Apr 2007
Posts: 50
Location: Jefferson City, Mo

PostPosted: Tue Jul 01, 2008 7:19 pm
Reply with quote

Excuse me... you may want to check what you have read... I have coded and executed the suggested code from Kolusu.. I was unaware my new company was not using DFSORT I have only been at this shop for 2 1.5 months. They use Syncsort. So the suggested code using ICETOOL will not work. I was merely asking how to get this thread connected to the syncsort expert to try an accomplish the same thing. If that's a problem then I guess I'm on the wrong website.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Tue Jul 01, 2008 9:57 pm
Reply with quote

Hello,

Quote:
you may want to check what you have read...
Yup, did that - and so should you. . .

Notice that your topic has been changed to include Syncsort in the title seen to the forum and it has been moved from the DFSORT part of the forum to where Syncsort topics are answered.

Quote:
I have coded and executed the suggested code from Kolusu
My comment had nothing to do with the code from "Kolusu" (it is Skolusu - as i suggested, slow down and pay attention), but rather with how you post jcl and "code". Look back over your topic and notice the easy-to-read "Code"ed posts versus the way you continue to post.

Quote:
If that's a problem then I guess I'm on the wrong website.
If you're looking for help or wanting to share something you know, this is a great website. If you bring an attitude, you may not think so icon_wink.gif
Back to top
View user's profile Send private message
ScottUrban

New User


Joined: 23 Apr 2007
Posts: 50
Location: Jefferson City, Mo

PostPosted: Tue Jul 01, 2008 10:52 pm
Reply with quote

I have not brought attitude...I have not had one issue on this website until you decided to cut in to the middle of the communication between Skolusu and myself with what I felt were condesending remarks. If there was an issue with my posts and explaining things clearly, it was addressed when I was asked to provide more information.

You could have a little more tact and a little less ego with your choice of words rather than speaking down to someone as if they were a child with your "slow down and pay attention" remark. I was attempting to post a topic that was hard to explain (for me) as I have not had to deal with it before. If I posted incomplete information and it was not to your liking my apologies.

I posted the JCL as I know how to post the JCL. I tried to do a screen capture but it did not take when I pasted it. It went back to text. I did it the same way I posted the first time and the screen capture worked but it hasn't since.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Tue Jul 01, 2008 11:53 pm
Reply with quote

Hello,

Quote:
you decided to cut in to the middle of the communication between Skolusu and myself with what I felt were condesending remarks
There are several of us who interject when we believe we should. . . If you detected condescending, that would be completely in the "eye of the beholder". I've neither the time nor the motivation to condescend. . .

Quote:
I posted the JCL as I know how to post the JCL.
Which is why i explained how to use the "Code" tag - which you still seem to want to avoid. Do not use "screen capture" for entries here- it typically just makes a mess. Using copy/paste and the "Code" tag will present your info aligned and quite readable.

Another feature you might want to try is the "Preview". If you click Preview, you can see your post as it will appear to the forum, rather than how it appears in the Reply editor.
Back to top
View user's profile Send private message
Alissa Margulies

SYNCSORT Support


Joined: 25 Jul 2007
Posts: 496
Location: USA

PostPosted: Wed Jul 02, 2008 1:20 am
Reply with quote

ScottUrban wrote:
Code:
SPLICE FROM(IN) TO(OUT) ON(106,8,CH) KEEPNODUPS WITHALL -
WITH(1,105) KEEPBASE USING(CTL1)
SYT050E INVALID OPERAND ON "SPLICE" STATEMENT
SYT030I OPERATION COMPLETED WITH RETURN CODE 12
Is there any way you can pass this on to the resident syncsort expert?

Which release and maintenance level of SyncSort for z/OS is running on this system?
Back to top
View user's profile Send private message
ScottUrban

New User


Joined: 23 Apr 2007
Posts: 50
Location: Jefferson City, Mo

PostPosted: Wed Jul 02, 2008 1:28 am
Reply with quote

SYNCSORT FOR Z/OS 1.2.0.1R

z/OS 1.6.0

RELEASE 1.2 BATCH 0453 TPF LEVEL 0.1
Back to top
View user's profile Send private message
Alissa Margulies

SYNCSORT Support


Joined: 25 Jul 2007
Posts: 496
Location: USA

PostPosted: Wed Jul 02, 2008 2:07 am
Reply with quote

Scott,

Support for KEEPBASE was included in SyncSort for z/OS 1.2.1.0 and later.
Based on your post, you are running an older release of the product which does not contain the necessary support.
Back to top
View user's profile Send private message
ScottUrban

New User


Joined: 23 Apr 2007
Posts: 50
Location: Jefferson City, Mo

PostPosted: Wed Jul 02, 2008 2:18 am
Reply with quote

ok thx. would there be a different solution using syncsort?
Back to top
View user's profile Send private message
Alissa Margulies

SYNCSORT Support


Joined: 25 Jul 2007
Posts: 496
Location: USA

PostPosted: Wed Jul 02, 2008 2:43 am
Reply with quote

Honestly, I have not reviewed the entire thread so I cannot answer your question just now. The SYNCTOOL error message was brought to my attention so I logged in to address it. I'm pretty tied up right now, but I will try to get to it soon for you.
Back to top
View user's profile Send private message
ScottUrban

New User


Joined: 23 Apr 2007
Posts: 50
Location: Jefferson City, Mo

PostPosted: Wed Jul 02, 2008 6:48 pm
Reply with quote

no hurry thx...
Back to top
View user's profile Send private message
sril.krishy

Active User


Joined: 30 Jul 2005
Posts: 183
Location: hyderabad

PostPosted: Fri Jul 04, 2008 4:28 pm
Reply with quote

ScottUrban,
Please check the below code which will work without KEEPBASE option.The solution has more passes of the data,but the o/p as required can be achived.Most of the control cards are taken/modifed from Kolusu's
suggestion.
Code:

//STEP010 EXEC PGM=SYNCSORT                                         
//SYSOUT   DD SYSOUT=*                                             
//TOOLMSG  DD SYSOUT=*                                             
//DFSMSG   DD SYSOUT=*                                             
//IN       DD *                                                     
010135408ST JOHNS REGIONAL    #                                     
00012352496541967ELSIE ACHOTT 03/26/2008                           
580155109MADISON MEDICAL CENT #                                     
00148363431725019MAXINE CSTEVERSON 03/19/2008                       
00148363431725019MAXINE CSTEVERSON 03/19/2008                       
580155109SOME MEDICAL CENTER  #                                     
0011111111172503BLAH BLAH                                           
0011111111172503BLAH BLAH                                           
//CTL1JNF1 DD DSN=XXXX.DUMMY.FILE,                               
//            DISP=(NEW,CATLG,DELETE),                             
//            SPACE=(CYL,(01,01),RLSE),UNIT=SCRPK                   
//CTL1JNF2 DD DSN=XXXX.DUMMY.FIL,                               
//            DISP=(NEW,CATLG,DELETE),                             
//            SPACE=(CYL,(01,01),RLSE),UNIT=SCRPK                   
//CTL1OF01 DD DSN=XXXX.DUMMY.FIL1,                               
//            DISP=(NEW,CATLG,DELETE),                             
//            SPACE=(CYL,(01,01),RLSE),UNIT=SCRPK                   
//OUT2     DD DSN=XXXX.DUMMY.FIL2,                               
//            DISP=(NEW,CATLG,DELETE),                             
//            SPACE=(CYL,(01,01),RLSE),UNIT=SCRPK                   
//TOOLIN   DD *                                                     
  SORT FROM(IN) TO(CTL1JNF1) USING(CTLA)                           
  COPY FROM(CTL1JNF1) TO(CTL1JNF2) USING(CTLB)                     
  SORT FROM(CTL1JNF1) USING(CTL1)                                   
  SORT FROM(CTL1OF01) TO(OUT2) USING(CTL2)                         
//CTLACNTL DD *   
  SORT FIELDS=COPY                                               
  INREC IFTHEN=(WHEN=INIT,OVERLAY=(106:SEQNUM,8,ZD)),           
  IFTHEN=(WHEN=(31,1,CH,EQ,C'#'),OVERLAY=(106:SEQNUM,8,ZD,1,30)),
  IFTHEN=(WHEN=NONE,OVERLAY=(114:SEQNUM,8,ZD,                   
           106:106,8,ZD,SUB,114,8,ZD,M11,LENGTH=8,114:8C' '))   
//CTLBCNTL DD *                                                 
  SORT FIELDS=COPY                                               
//CTL1CNTL DD *                                                 
  JOINKEYS FILES=F1,FIELDS=(106,08,A)                           
  JOINKEYS FILES=F2,FIELDS=(106,08,A)                           
  REFORMAT FIELDS=(F1:1,105,114,30,                             
                   F2:1,105,114,30)                             
  SORT FIELDS=COPY                                               
  OUTFIL FILES=01,OUTREC=(136,105,8X,106,30),                   
  OMIT=(106,1,CH,EQ,C' ')                                       
//CTL2CNTL DD *                                                 
 SORT FIELDS=COPY                                               
  OUTFIL FNAMES=OUT2,REMOVECC,                                   
  OMIT=(31,1,CH,EQ,C'#'),                                       
  BUILD=(01:01,08,              * DCN                           
         11:09,09,              * PARTIP SSN                     
         23:18,12,              * PARTIP FNAME                   
         38:30,01,              * PARTIP MID INTL               
         41:31,19,              * PARTIP LNAME                   
         64:50,10,              * DATE OF DEATH                 
         77:60,13,              * ADJICN                         
         93:73,13,              * ICN                           
         108:86,10,              * FDOS                         
         121:96,10,              * LDOS                         
         132:C' '),                                             
  SECTIONS=(114,30,                                             
  HEADER3=(1:'PROVIDER ',12:' PROVIDER NAME',/,                 
           1:114,09,12:123,20,/,                                 
           1:'DCN',                                             
          11:'SSN',                                             
          23:'NAME',                                             
          64:'DOD',                                             
          77:'ORIG ICN',                                         
          93:'ADJ ICN',                                         
          108:'FDOS',                                           
        121:'LDOS')),                                     
  HEADER2=(1:'GMBM9700-R001',                               
         46:'MEDICAID MANAGEMENT INFORMATION SYSTEM',     
        121:'PAGE',                                       
        126:&PAGE,/,                                       
          1:'AS OF ',                                     
          7:&DATE,                                         
         46:'ADJUSTED CLAIMS FOR DECEASED PARTICIPANTS',   
        114:'RUN DATE',                                   
        124:&DATE,//)                                                                                       


The OUT2 will contain the desired output.

Thaks
Krishy
Back to top
View user's profile Send private message
ScottUrban

New User


Joined: 23 Apr 2007
Posts: 50
Location: Jefferson City, Mo

PostPosted: Tue Jul 08, 2008 5:44 pm
Reply with quote

Sorry I was out on Vacation. Thank you very much for the solution...
Back to top
View user's profile Send private message
ScottUrban

New User


Joined: 23 Apr 2007
Posts: 50
Location: Jefferson City, Mo

PostPosted: Mon Jul 14, 2008 8:18 pm
Reply with quote

I am getting a sort statement not found error U0016.. Any help would be great.
Code:
WER415B  DSM FACILITY DISABLED                                   
WER164B  1,028K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
WER164B     0 BYTES RESERVE REQUESTED, 1,000K BYTES USED         
WER146B  20K BYTES OF EMERGENCY SPACE ALLOCATED                   
WER267A  SORT STATEMENT    : STATEMENT NOT FOUND                 
WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000   


This is my jcl

Code:
000100 //V612499A JOB (T,ZDAV,HSGD0001,JEFFE),'S URBAN',                   
 000200 //  MSGCLASS=X,CLASS=A,NOTIFY=V612499                               
 000300 //*******************************************************************
 001100 //STEP0100 EXEC PGM=SYNCSORT                                         
 001101 //SYSOUT   DD SYSOUT=*                                               
 001110 //TOOLMSG  DD SYSOUT=*                                               
 001120 //DFSMSG   DD SYSOUT=*                                               
 001200 //IN       DD DSN=MMITMMO.BMBR9730.TEST,                             
 001300 //            DISP=SHR                                               
 001510 //CTL1JNF1 DD DSN=V612499.DUMMY.FILE,                               
 001520 //            DISP=(NEW,CATLG,DELETE),                               
 001530 //            SPACE=(CYL,(01,01),RLSE),UNIT=WORK                     
 001540 //CTL1JNF2 DD DSN=V612499.DUMMY.FIL,                                 
 001550 //            DISP=(NEW,CATLG,DELETE),                               
 001560 //            SPACE=(CYL,(01,01),RLSE),UNIT=WORK                     
 001570 //CTL1OF01 DD DSN=V612499.DUMMY.FIL1,                               
 001580 //            DISP=(NEW,CATLG,DELETE),                               
001590 //            SPACE=(CYL,(01,01),RLSE),UNIT=WORK           
001591 //OUT2     DD DSN=V612499.DUMMY.FIL2,                     
001592 //            DISP=(NEW,CATLG,DELETE),                     
001594 //            SPACE=(CYL,(01,01),RLSE),UNIT=WORK           
001595 //TOOLIN   DD DSN=MMITMMO.V612499.MACLIB(TOOLIN),DISP=SHR 
001600 //CTLACNTL DD DSN=MMITMMO.V612499.MACLIB(CTLA),DISP=SHR   
001610 //CTLBCNTL DD DSN=MMITMMO.V612499.MACLIB(CTLB),DISP=SHR   
001620 //CTL1CNTL DD DSN=MMITMMO.V612499.MACLIB(CTL1),DISP=SHR   
001630 //CTL2CNTL DD DSN=MMITMMO.V612499.MACLIB(CTL2),DISP=SHR   
001700 //*                                                       


This is the contents of the control statements

CTLA
Code:
000010     SORT FIELDS=COPY                                               
000100     INREC IFTHEN=(WHEN=INIT,OVERLAY=(106:SEQNUM,8,ZD)),             
000200     IFTHEN=(WHEN=(31,1,CH,EQ,C'#'),OVERLAY=(106:SEQNUM,8,ZD,1,30)),
000300     IFTHEN=(WHEN=NONE,OVERLAY=(114:SEQNUM,8,ZD,                     
000400              106:106,8,ZD,SUB,114,8,ZD,M11,LENGTH=8))               


CTLB
Code:
000100     SORT FIELDS=COPY   


CTL1
Code:
000100     JOINKEYS FILES=F1,FIELDS=(106,08,A)             
000200     JOINKEYS FILES=F2,FIELDS=(106,08,A)             
000300     REFORMAT FIELDS=(F1:1,105,114,30,               
000400                     F2:1,105,114,30)                 
000500     SORT FIELDS=COPY                                 
000600     OUTFIL FILES=01,OUTREC=(136,105,8X,106,30),     
000700     OMIT=(106,1,CH,EQ,C' ')                         


CTL2
Code:
000010     SORT FIELDS=COPY                                     
 000100     OUTFIL FNAMES=OUT,REMOVECC,                         
 000200     OMIT=(31,1,CH,EQ,C'#'),                             
 000300     BUILD=(01:01,08,              * DCN                 
 000400            11:09,09,              * PARTIP SSN           
 000500            23:18,12,              * PARTIP FNAME         
 000600            38:30,01,              * PARTIP MID INTL     
 000700            41:31,19,              * PARTIP LNAME         
 000800            64:50,10,              * DATE OF DEATH       
 000900            77:60,13,              * ADJICN               
 001000            93:73,13,              * ICN                 
 001100            108:86,10,              * FDOS               
 001200            121:96,10,              * LDOS               
 001300            132:C' '),                                   
 001400     SECTIONS=(114,30,                                   
 001500     HEADER3=(1:'PROVIDER ',12:' PROVIDER NAME',/,       
 001600              1:114,09,12:123,20,/,                       
 001700              1:'DCN',                                   
 001800             11:'SSN',                                   
001900             23:'NAME',                                     
002000             64:'DOD',                                       
002100             77:'ORIG ICN',                                 
002200             93:'ADJ ICN',                                   
002300             108:'FDOS',                                     
002400             121:'LDOS',////)),                             
002500     HEADER2=(1:'GMBM9700-R001',                             
002600              46:'MEDICAID MANAGEMENT INFORMATION SYSTEM',   
002700             121:'PAGE',                                     
002800             126:&PAGE,/,                                   
002900               1:'AS OF ',                                   
003000               7:&DATE,                                     
003100              46:'ADJUSTED CLAIMS FOR DECEASED PARTICIPANTS',
003200             114:'RUN DATE',                                 
003300             124:&DATE,//)                                   


TOOLIN
Code:
 000100     SORT FROM(IN) TO(CTL1JNF1) USING(CTLA)             
 000200     COPY FROM(CTL1JNF1) TO(CTL1JNF2) USING(CTLB)       
 000300     SORT FROM(CTL1JNF1) USING(CTL1)                     
 000400     SORT FROM(CTL1OF01) TO(OUT2) USING(CTL2)           
Back to top
View user's profile Send private message
Alissa Margulies

SYNCSORT Support


Joined: 25 Jul 2007
Posts: 496
Location: USA

PostPosted: Tue Jul 15, 2008 9:04 pm
Reply with quote

Hi Scott,

I believe the problem is with the second line of your REFORMAT statement:

Quote:
CTL1
Code:
 
000100     JOINKEYS FILES=F1,FIELDS=(106,08,A)             
000200     JOINKEYS FILES=F2,FIELDS=(106,08,A)             
000300     REFORMAT FIELDS=(F1:1,105,114,30,               
000400                     F2:1,105,114,30)                 
000500     SORT FIELDS=COPY                                 
000600     OUTFIL FILES=01,OUTREC=(136,105,8X,106,30),     
000700     OMIT=(106,1,CH,EQ,C' ')       

Try moving F2:1,105,114,30) to the left, starting before position 16...
Back to top
View user's profile Send private message
ScottUrban

New User


Joined: 23 Apr 2007
Posts: 50
Location: Jefferson City, Mo

PostPosted: Thu Jul 17, 2008 6:07 pm
Reply with quote

Same error even after I corrected the continuation before column 16

Code:
SYNCSORT FOR Z/OS  1.2.0.1R    U.S. PATENTS: 4210961, 5117495   (C) 2005 SYNCSO
                                  *** INFOCROSSING HEALTH CARE ***   z/OS   1.6
PRODUCT LICENSED FOR CPU SERIAL NUMBER 2B21E, MODEL 2086 440              LICEN
WER415B  DSM FACILITY DISABLED                                                 
WER164B  1,028K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,             
WER164B     0 BYTES RESERVE REQUESTED, 1,000K BYTES USED                       
WER146B  20K BYTES OF EMERGENCY SPACE ALLOCATED                               
WER267A  SORT STATEMENT    : STATEMENT NOT FOUND                               
WER211B  SYNCSMF  CALLED BY SYNCSORT; RC=0000                                 
Back to top
View user's profile Send private message
Alissa Margulies

SYNCSORT Support


Joined: 25 Jul 2007
Posts: 496
Location: USA

PostPosted: Thu Jul 17, 2008 7:40 pm
Reply with quote

Scott,

Please send me the complete job listing offline and I would be happy to further investigate this issue for you. You can email it as a text attachment to alissa.margulies@syncsort.com.
Back to top
View user's profile Send private message
Terry Heinze

JCL Moderator


Joined: 14 Jul 2008
Posts: 1248
Location: Richfield, MN, USA

PostPosted: Thu Jul 17, 2008 7:50 pm
Reply with quote

The line numbers for lines 100-1800 in CTL2 extend into position 7. Could that be a problem?
Back to top
View user's profile Send private message
ScottUrban

New User


Joined: 23 Apr 2007
Posts: 50
Location: Jefferson City, Mo

PostPosted: Thu Jul 17, 2008 8:00 pm
Reply with quote

Quote:
The line numbers for lines 100-1800 in CTL2 extend into position 7. Could that be a problem?


That's just the way it pasted when I posted it....
Back to top
View user's profile Send private message
Alissa Margulies

SYNCSORT Support


Joined: 25 Jul 2007
Posts: 496
Location: USA

PostPosted: Thu Jul 17, 2008 8:15 pm
Reply with quote

Scott,

I missed this before -- change your EXEC statement from PGM=SYNCSORT to PGM=SYNCTOOL. That should resolve the problem.
Back to top
View user's profile Send private message
ScottUrban

New User


Joined: 23 Apr 2007
Posts: 50
Location: Jefferson City, Mo

PostPosted: Sat Jul 19, 2008 2:14 am
Reply with quote

Question related to virtual tape mount versus manual tape mount.

Is there a way to tell in the JESMSGLG when the tape mount message is a manual mount and when it's a virtual mount?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Sat Jul 19, 2008 8:58 am
Reply with quote

Hello,

Is this question related to your/this current report topic?

Did you try the change Alissa suggested? Did it work?

If this is a new question, it can be moved to a topic for this question. Just let us know.

When you mention "virtual mount" is your system using something like CA/V-Tape? If so, the ucb's for the virtual drives will be a different series of addresses than the "real" tape/cart drives. There will also be different pools of volsers for the physical tapes versus the virtual volmes.

The best source of an answer is your storage management people. They will know all of the particlars for your system(s).
Back to top
View user's profile Send private message
ScottUrban

New User


Joined: 23 Apr 2007
Posts: 50
Location: Jefferson City, Mo

PostPosted: Mon Jul 21, 2008 5:51 pm
Reply with quote

thx.
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 -> JCL & VSAM Goto page Previous  1, 2

 


Similar Topics
Topic Forum Replies
No new posts Syncsort help SYNCSORT 3
No new posts Overwriting SSN Digits in Easytrieve ... CA Products 0
No new posts SYNCSORT-DB2 interface SYNCSORT 0
No new posts Modifying Date Format Using DFSORT DFSORT/ICETOOL 9
No new posts Write line by line from two files DFSORT/ICETOOL 7
Search our Forums:

Back to Top