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

Using sort card how to replace/change binary value


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

New User


Joined: 06 Jan 2008
Posts: 3
Location: hyd'bad

PostPosted: Wed Aug 13, 2008 12:24 pm
Reply with quote

Using sort card how to replace binary value of '200807' to '200606' for the length of 4 bytes binary.

Requirement :

1) I have a file of record length 737.
2) With a field of length 4 bytes binary from starting position 1 to length of 4 bytes binary.
3) Need to change value from '200807' to '200606' (Note : i need to change only first 4 bytes that to from binary to binary of 4 bytes )
4) remaining field from position 5 to 737 need to written as it is from input file.

For example :
From >>>>>>> i need to change LD-MEAS-PRD-ID from '200807'

Code:
LD-MEAS-PRD-ID LD-ARR-ID-CHAIN LD-BUS-UNIT-COR
4/BI                    6/PS                     6/AN           
(1-4)                   (5-10)                   (11-16)       
1-------------        2--------------         3--------------
********************************* TOP OF DATA
        200807        400000004               ABC           



TO >>>>>>>> LD-MEAS-PRD-ID to '200606'

Code:
LD-MEAS-PRD-ID LD-ARR-ID-CHAIN LD-BUS-UNIT-COR
4/BI                    6/PS                     6/AN           
(1-4)                   (5-10)                   (11-16)       
1-------------        2--------------         3--------------
********************************* TOP OF DATA
        200606        400000004               ABC           


Note : I could not find any solution in the search that's the reason i am posting my query into the forum.


I hope you got my query.
Back to top
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2481
Location: @my desk

PostPosted: Wed Aug 13, 2008 2:27 pm
Reply with quote

Shrinivas,

The below SORT job will do what you asked for.


Code:
//STEP01   EXEC PGM=SORT                                       
//*                                                             
//SYSOUT   DD SYSOUT=*                                         
//SORTIN   DD DSN=your.input.file,DISP=SHR                 
//SORTOUT  DD DSN=your.output.file,DISP=SHR               
//*                                                             
//SYSIN    DD *                                                 
  INREC IFTHEN=(WHEN=(1,4,BI,EQ,200807),OVERLAY=(1:X'00030F9E'))
  SORT FIELDS=COPY                                             
//*


Thanks,
Arun
Back to top
View user's profile Send private message
ssgauli
Warnings : 1

New User


Joined: 06 Jan 2008
Posts: 3
Location: hyd'bad

PostPosted: Wed Aug 13, 2008 3:18 pm
Reply with quote

Arun , Thanks very much for the help.
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Developer


Joined: 15 Feb 2005
Posts: 7129
Location: San Jose, CA

PostPosted: Wed Aug 13, 2008 10:28 pm
Reply with quote

Or you could use this INREC statement which uses a decimal constant instead of a hex constant for better readability:

Code:

  INREC IFTHEN=(WHEN=(1,4,BI,EQ,200807),
      OVERLAY=(1:+200606,TO=BI,LENGTH=4))
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 Need to set RC4 through JCL SORT DFSORT/ICETOOL 5
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Replace each space in cobol string wi... COBOL Programming 3
No new posts Replace Multiple Field values to Othe... DFSORT/ICETOOL 12
No new posts JCL sort card - get first day and las... JCL & VSAM 9
Search our Forums:

Back to Top