Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Merge two files with different lenght

13 views
Skip to first unread message

Hilario G.

unread,
Jul 8, 2011, 5:13:08 AM7/8/11
to
Hi folks,

I solve the problem using next JCL:

//STEP1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD DSN=file80,DISP=SHR
//IN2 DD DSN=file210,DISP=SHR
//OUT DD DSN=file210.output,
// DISP=(MOD,CATLG,DELETE),UNIT=SYSDA,
// DCB=(LRECL=210,RECFM=FB)
//TOOLIN DD *
COPY FROM(IN1) TO(OUT)
COPY FROM(IN2) TO(OUT) USING(CTL1)
//CTL1CNTL DD *
INREC FIELDS=(1,210)
/*

I thank all who have given me ideas.

Thank you very much everyone.

Regards

Hilario Garcia

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to list...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Frank Yaeger

unread,
Jul 8, 2011, 12:58:08 PM7/8/11
to
Hilario G. at IBM Mainframe Discussion List <IBM-...@bama.ua.edu> wrote on
07/08/2011 02:12:33 AM:

> I solve the problem using next JCL:
>
> //STEP1 EXEC PGM=ICETOOL
> //TOOLMSG DD SYSOUT=*
> //DFSMSG DD SYSOUT=*
> //IN1 DD DSN=file80,DISP=SHR
> //IN2 DD DSN=file210,DISP=SHR
> //OUT DD DSN=file210.output,
> // DISP=(MOD,CATLG,DELETE),UNIT=SYSDA,
> // DCB=(LRECL=210,RECFM=FB)
> //TOOLIN DD *
> COPY FROM(IN1) TO(OUT)
> COPY FROM(IN2) TO(OUT) USING(CTL1)
> //CTL1CNTL DD *
> INREC FIELDS=(1,210)
> /*
>
> I thank all who have given me ideas.
>
> Thank you very much everyone.

Hilario,

You don't need the INREC statement since the input in that case (file2)
is 120 bytes.

Are you aware that your job pads the 80-byte records on the right with
binary zeros (X'00'). Is that what you really want?

Normally blank padding (X'40') is preferred and if that's what you want,
I'd suggest using the following DFSORT/ICETOOL job:

//STEP1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD DSN=file80,DISP=SHR
//IN2 DD DSN=file210,DISP=SHR
//OUT DD DSN=file210.output,
// DISP=(MOD,CATLG,DELETE),UNIT=SYSDA

//TOOLIN DD *
COPY FROM(IN1) TO(OUT) USING(CTL1)
COPY FROM(IN2) TO(OUT)
//CTL1CNTL DD *
INREC OVERLAY=(210:X)
/*

Note that DFSORT will automatically set RECFM=FB and LRECL=210
for the output data set.

Frank Yaeger - DFSORT Development Team (IBM) - yae...@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration

=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort

0 new messages