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

Fileaid JCL to replace Charcters


IBM Mainframe Forums -> Compuware & Other Tools
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
rn0033452
Currently Banned

New User


Joined: 17 Jul 2008
Posts: 1
Location: pune

PostPosted: Fri Aug 01, 2008 7:25 pm
Reply with quote

We have One Problem Regarding Fileaid JCL to replace Charcters following is the Detail Given by us

Following Fileaid used to Replace Characters

Code:
                     
//STEP01 EXEC PGM=FILEAID                               
//SYSPRINT DD SYSOUT=*                                 
//SYSLIST DD SYSOUT=*                                   
//DD01 DD DSN=MM333V.CHAR.CNTL(XYZ),DISP=SHR           
//DD01O DD DSN=MM333V.CHAR.CNTL(XYZ),DISP=SHR           
//SYSIN DD *                                           
$$DD01 COPYALL EDIT=(1,2,X86A5',X9588'), 
/*


Our Control Card Contains Hexadecimal Format Of First Two Bytes of Controlcard
which is shown in above DD01 COPYALL Edit Statement.

INPUT IS AS BELOW:


'fv' need to be replaced with 'nh'

So when we run JCL we are getting following Error Description



$$DD01 COPYALL EDIT=(1,2,X86A5',X9588'),
1...5...10...15...20...25.
INVALID DATA IDENTIFIER IN EDIT, CHECK DATA STARTING IN COLUMN 26
.....SKIPPING TO NEXT $$DD CARD

0 RECORDS WRITTEN TO DD01O-MM333V.CHAR.CNTL
VOL=PAP104

/*
Back to top
View user's profile Send private message
Garry Carroll

Senior Member


Joined: 08 May 2006
Posts: 1193
Location: Dublin, Ireland

PostPosted: Fri Aug 01, 2008 7:32 pm
Reply with quote

Quote:
$$DD01 COPYALL EDIT=(1,2,X86A5',X9588'),


Shouldn't this read :
Code:
$$DD01 COPYALL EDIT=(1,2,X'86A5',X'9588'),


Also, please use the code tags when cutting/pasting Code, JCL, Control Cards, Messages as it makes it easier to read.

Regards,
Garry.
Back to top
View user's profile Send private message
prangya
Currently Banned

New User


Joined: 12 Jul 2008
Posts: 7
Location: pune

PostPosted: Sat Aug 02, 2008 12:27 pm
Reply with quote

We've changed our code like this:
$$DD01 COPYALL EDIT=(1,2,X'86A5',X'9588'),
But still facing the error.

$$DD01 COPYALL EDIT=(1,2,X'86A5',X'9588'),
1...5...10...15...20...25...30
INVALID DATA IDENTIFIER IN EDIT, CHECK DATA STARTING IN COLUMN 31
.....SKIPPING TO NEXT $$DD CARD

Thanks
Prangys
Back to top
View user's profile Send private message
Anuj Dhawan

Superior Member


Joined: 22 Apr 2006
Posts: 6250
Location: Mumbai, India

PostPosted: Sat Aug 02, 2008 1:45 pm
Reply with quote

Hi,

Try this-
Code:
//STEP0001 EXEC PGM=FILEAID                                             
//SYSPRINT DD SYSOUT=*                                                 
//DD01     DD DSN=I/P FILE                                             
//DD01O    DD DSN=O/P FILE                                             
//SYSIN    DD *                                                         
*                                                                       
$$DD01 COPY OUT=0,                                                     
              EDITALL=(1,0,C'86A5',
                             C'9588',)             
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Sun Aug 03, 2008 10:57 am
Reply with quote

Hi,

is the request to change the first 2 bytes only or is it to change all occurrences.


Also Anuj's example is changing a Character string and not a HEX string.


Gerry
Back to top
View user's profile Send private message
Anuj Dhawan

Superior Member


Joined: 22 Apr 2006
Posts: 6250
Location: Mumbai, India

PostPosted: Mon Aug 04, 2008 11:26 am
Reply with quote

Hi,
gcicchet wrote:
Also Anuj's example is changing a Character string and not a HEX string.
Bummer.. icon_smile.gif

I missed this detail -
Quote:
Our Control Card Contains Hexadecimal Format Of First Two Bytes of Controlcard


Let's wait what OP has to say about your queris..
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Mon Aug 04, 2008 11:34 am
Reply with quote

Hi,

I think the original thread has been amended.

Anyhow this should do the trick
Code:
$$DD01 COPYALL EDIT=(1,EQ,X'86A5',X'9588')



Gerry
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 -> Compuware & Other Tools

 


Similar Topics
Topic Forum Replies
No new posts Replace each space in cobol string wi... COBOL Programming 3
No new posts Search two or more word with FILEAID Compuware & Other Tools 15
No new posts Replace Multiple Field values to Othe... DFSORT/ICETOOL 12
No new posts replace word 'MONTH' with current mon... SYNCSORT 11
No new posts To replace jobname in a file with ano... SYNCSORT 12
Search our Forums:

Back to Top