Rashmi Nijaguni Mogali wrote on 03/19/2007 05:51:18 AM:
> I have the following requirement:
>
> Input file:
>
---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8

> 400000000910024892          123                 234
> 400000000100324890          456                 567
> 400000000910024891          789                 890
>
> Output file:

>
---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8

> 400000000910024892     123                 234
> 400000000100324890     456                 567
> 400000000910024891     789                 890
>
> Whenever there the value in column 1 of input file is 4 I need the data
> at position 30 shifted to 25 and data at position 50 shifted to 45. The
> length of this data is fixed i.e. 3 bytes.
>
> The length of the input file is 250 bytes.
>
> How can I do this using SORT?

Here's a DFSORT job that will do what you asked for:

//S1    EXEC  PGM=ICEMAN
//SYSOUT    DD  SYSOUT=*
//SORTIN DD DSN=...  input file (FB/250)
//SORTOUT DD DSN=...  output file (FB/250)
//SYSIN    DD    *
  OPTION COPY
  INREC IFTHEN=(WHEN=(1,1,CH,EQ,C'4'),
    OVERLAY=(25:30,3,30:3X,45:50,3,50:3X))
/*

Frank Yaeger - DFSORT Team (IBM) - [EMAIL PROTECTED]
Specialties: PARSE, JFY, SQZ, ICETOOL, IFTHEN, OVERLAY, Symbols, Migration

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

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

Reply via email to