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

SYNCTOOL-JCL getting ABEND=S000 U0016


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

New User


Joined: 29 Jul 2005
Posts: 14
Location: Mysore

PostPosted: Tue Apr 03, 2007 1:27 pm
Reply with quote

Hi,
I am getting ABEND=S000 U0016 by executing the Syncsort code which is as below:

//ICETOOL1 EXEC PGM=ICETOOL
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//*
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD DSN=TSSEQ.TEST.AUD.POHDR,DISP=SHR
//IN2 DD DSN=TSSEQ.TEST.AUD.PODTL,DISP=SHR
//OUT DD DSN=TSSEQ.TEST.POHDRDT.BASE,
// DISP=(,CATLG,DELETE),
// SPACE=(CYL,(50,50),RLSE),
// DCB=(RECFM=FB,LRECL=615)
//T1 DD DSN=TSSEQ.TEST.POHDRDT.TEMP01,
// DISP=(MOD,CATLG,DELETE),
// SPACE=(CYL,(50,50),RLSE),
// DCB=(RECFM=FB,LRECL=615)
//TOOLIN DD DSN=TSPDS.SORTPARM(TPSORT04),DISP=SHR
//CTL1CNTL DD DSN=TSPDS.SORTPARM(TPSORT01),DISP=SHR
//CTL2CNTL DD DSN=TSPDS.SORTPARM(TPSORT02),DISP=SHR
//*
// IF (ICETOOL1.RC ?= 0) THEN
// EXEC PGM=DUMBO
// ENDIF

in1 has LRECL=500
In2 Has LRECL=115
TPSORT01-OUTREC FIELDS=(1,500,501:115X)
TPSORT02- OUTREC FIELDS=(1,500,501:01,115)
TPSORT04-
COPY FROM(IN1) TO(T1) USING(CTL1)
COPY FROM(IN2) TO(T1) USING(CTL2)
SPLICE FROM(T1) TO(OUT) ON(1,9,CH) WITH(501,115)

The abend message is as follows:
CALLER-PROVIDED IDENTIFIER IS "0002"
SYSDIAG= 242063, 844334, 844334, 608677
8,964K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
0 BYTES RESERVE REQUESTED, 3M BYTES USED
IN2 : RECFM=FB ; LRECL= 115; BLKSIZE= 27945
OUTREC FIELD OUTSIDE RANGE

Anybody please guide me where I am going wrong?
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Tue Apr 03, 2007 1:38 pm
Reply with quote

I think it may have to do with the 115 byte record. It looks as though your OUTREC may be incorrect.

The code below is coded from memory so may need a little tweak, but this is how I see it-
1,115 = original 115 byte record
385X = 385 spaces to build up to 500 bytes
1,115 = append original record after spaces

OUTREC=(1,115,385X,1,115)
Back to top
View user's profile Send private message
Girija

New User


Joined: 29 Jul 2005
Posts: 14
Location: Mysore

PostPosted: Tue Apr 03, 2007 3:39 pm
Reply with quote

Thanks it's working, not getting any abend.

In1 - Has key field Purchase order with 9 bytes and not containing item number
In2 - Has key field Purchase order with 9 bytes and Item number with 10 bytes

if I have considered only PO number as key for SPLICE, then we may not get all records from 2nd file

Ex: In1, infile1 containing following records

Po - 001111111
002222222
003333333

In2, infile2 containing following records


Po - 001111111 Item - 0000000010
- 0000000011

002222222 Item - 0000000010
- 0000000011
- 0000000020
- 0000000021

003333333 Item - 0000000010
- 0000000011
- 0000000020
- 0000000021

In the output i need to get the records as follows :

a) Output
001111111 001111111 0000000010
001111111 001111111 0000000011
002222222 001111111 0000000010
002222222 001111111 0000000011
002222222 001111111 0000000020
002222222 001111111 0000000021
003333333 001111111 0000000010
003333333 001111111 0000000011
003333333 001111111 0000000020
003333333 001111111 0000000021

Using SPLICE , getting only one record

001111111 001111111 0000000010
002222222 001111111 0000000010
003333333 001111111 0000000010

Is there any other way, so that we can get the ouput as stated in the output.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Tue Apr 03, 2007 3:55 pm
Reply with quote

Try ading the WITHALL keyword
Back to top
View user's profile Send private message
Girija

New User


Joined: 29 Jul 2005
Posts: 14
Location: Mysore

PostPosted: Tue Apr 03, 2007 5:38 pm
Reply with quote

I am not able to understand, can you please explain me with syntax
Back to top
View user's profile Send private message
guptae

Moderator


Joined: 14 Oct 2005
Posts: 1208
Location: Bangalore,India

PostPosted: Tue Apr 03, 2007 5:49 pm
Reply with quote

Hi Girija,

I think expat mean to replace 'WITH' of ur sortcard to 'WITHALL'


Code:
COPY FROM(IN1) TO(T1) USING(CTL1)
COPY FROM(IN2) TO(T1) USING(CTL2)
SPLICE FROM(T1) TO(OUT) ON(1,9,CH) WITHALL(501,115)
Back to top
View user's profile Send private message
Girija

New User


Joined: 29 Jul 2005
Posts: 14
Location: Mysore

PostPosted: Tue Apr 03, 2007 6:14 pm
Reply with quote

SPLICE FROM(T1) To(OUT) on(1,9,CH) WITHALL(501,115)

using the above code, gives JCL error as SPLICE always should contain WITH Keyword and after WITHALL keyword, should contain space instead of position mentioned above.

PLease correct me if I am wrong.

I saw in one of the tutor, it says ICETOOL works with matching keys, Hence in my case second file contains both po and Item fields and first File contains only PO. The keys between these two files are not in sync hence we won't get the records mentioned in the output.

Please let me know is there any other best method so that I can use the same.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Tue Apr 03, 2007 6:45 pm
Reply with quote

This is a card that I have used in the past to get the results I wanted.
Code:
SPLICE FROM(INFILE) TO(OUFILE) ON(1,44,CH) WITH(80,40) WITHALL
Back to top
View user's profile Send private message
Girija

New User


Joined: 29 Jul 2005
Posts: 14
Location: Mysore

PostPosted: Tue Apr 03, 2007 7:26 pm
Reply with quote

Thank you very much, it's working
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Tue Apr 03, 2007 7:37 pm
Reply with quote

Great stuff ......

And I'll say my thanks to Frank for guiding me in this topic many years ago.
Back to top
View user's profile Send private message
Girija

New User


Joined: 29 Jul 2005
Posts: 14
Location: Mysore

PostPosted: Wed Apr 04, 2007 4:38 pm
Reply with quote

Thank you very Much

One more clarification is required.

//KILLFF EXEC PGM=DSKILLER,PARM='&TRS.SEQ.TEST1.AU2100.BASE'
//KILLGG EXEC PGM=DSKILLER,PARM='&TRS.SEQ.TEST1.AU2100.TEMP01'
//*
//ICETOOL1 EXEC PGM=ICETOOL
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//*
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD DSN=&TRS.SEQ.AU.MASTER.VEND,DISP=SHR
//IN2 DD DSN=&TRS.SEQ.AU.AU2100.OUTREC.SORT,DISP=SHR
//OUT DD DSN=&TRS.SEQ.TEST1.AU2100.BASE,
// DISP=(,CATLG,DELETE),
// SPACE=(CYL,(50,50),RLSE),
// DCB=(RECFM=FB,LRECL=200)
//T1 DD DSN=&TRS.SEQ.TEST1.AU2100.TEMP01,
// DISP=(MOD,CATLG,DELETE),
// DISP=(MOD,CATLG,DELETE),
// SPACE=(CYL,(50,50),RLSE),
// DCB=(RECFM=FB,LRECL=200)
//TOOLIN DD DSN=&TSP.PDS.SORTPARM(TPSORT08),DISP=SHR
//CTL1CNTL DD DSN=&TSP.PDS.SORTPARM(TPSORT06),DISP=SHR
//CTL2CNTL DD DSN=&TSP.PDS.SORTPARM(TPSORT07),DISP=SHR
//*
// IF (ICETOOL1.RC ?= 0) THEN
// EXEC PGM=DUMBO
// ENDIF
//



TPSORT06 -
OUTREC FIELDS=(1,31,32:166X)

TPSORT07 -
OUTREC FIELDS=(1,166,167:1,31)

TPSORT08 -
COPY FROM(IN1) TO(T1) USING(CTL1)
COPY FROM(IN2) TO(T1) USING(CTL2)
SPLICE FROM(T1) TO(OUT) ON(1,6,CH) WITH(32,166) WITHALL

Output is coming without any abend, data format is not correct. Please let me know where i am making wrong.

Output data is as follows:
1-31 bytes - 2nd file data
32-166 bytes - first file data
1-31 - first file data displaying at the end means after 167th byte

I need the output as follows:

Second file has to display with 31 bytes, then first file should be concatenated and should be displayed from 32nd position till 197 position
Back to top
View user's profile Send private message
Girija

New User


Joined: 29 Jul 2005
Posts: 14
Location: Mysore

PostPosted: Wed Apr 04, 2007 6:10 pm
Reply with quote

anybody answer this question please
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

 


Similar Topics
Topic Forum Replies
No new posts ISAM and abend S03B JCL & VSAM 9
No new posts Synctool-dynamic split job for varyin... JCL & VSAM 7
No new posts Abend S0C4 11 (Page Translation Excep... PL/I & Assembler 16
No new posts WER999A - UNSUCCESSFUL SORT 8ED U Ab... SYNCSORT 5
No new posts the system or user abend SF0F R=NULL COBOL Programming 0
Search our Forums:

Back to Top