Joe_Song Currently Banned New User
Joined: 22 Jan 2008 Posts: 53 Location: china
|
|
|
|
when i write below statement
Code: |
OUTFIL FNAMES=DEPT1,INCLUDE=(5,50,CH,EQ,C'@''),
|
since i want to input over 50 character '@' when i do the EQ condition.
So i must input 50 @ ? any easy way ? maybe like (50) @ ? |
|
Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
Here are two ways to avoid coding 50 @ characters with DFSORT. For method 1, I assumed your input file has RECFM=FB and LRECL=80, but the job can be changed appropriately for other attributes. For method 2, the input file can have any RECFM and LRECL.
Method 1
Code: |
//S1 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=... input file (FB/80)
//DEPT1 DD DSN=... output file (FB/80)
//SYSIN DD *
OPTION COPY
INREC OVERLAY=(81:50C'@')
OUTFIL FNAMES=DEPT1,INCLUDE=(5,50,CH,EQ,81,50,CH),
BUILD=(1,80)
/*
|
Method 2
Code: |
//S1 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD *
RECORD
/*
//SORTOUT DD DSN=&&S1,UNIT=SYSDA,SPACE=(TRK,(1,1)),DISP=(,PASS)
//SYSIN DD *
OPTION COPY
INREC BUILD=(C'TARG,''',50C'@',C'''',80:X)
/*
//S2 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SYMNAMES DD DSN=&&S1,DISP=(OLD,PASS)
//SORTIN DD DSN=... input file
//DEPT1 DD DSN=... output file
//SYSIN DD *
OPTION COPY
OUTFIL FNAMES=DEPT1,INCLUDE=(5,50,CH,EQ,TARG)
/*
|
|
|