Re: Utility to replace occurrences of string in PDS?
In 00b301d018c4$5b2655c0$11730140$@mcn.org, on 12/15/2014 at 04:08 PM, Charles Mills charl...@mcn.org said: I'm looking for a reasonable way to replace all occurrences of a given string in a dataset. Can you live with equal length replacements? it has to be easier than writing a Rexx program. Even a REXX that uses TSO EDIT of ISPF/PDF EDIT to do the actual changes? The FIXPDS subcommand of PDS, or StarTool, is probably the easiest way. -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see http://patriot.net/~shmuel/resume/brief.html We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
PDS or STARTOOL Usage The PDS package (free from CBT file 182) and Serena's STARTOOL product were mentioned earlier. Here's a note about their syntax. The TSO command PDS pdsname REPL : !stringA!stringB! WRITE is all you need. As a TSO command it is easy to put in a batch job. [Use the STARTOOL command instead of PDS if you have the Serena product.] The ! character is a delimiter. It can be any character that is not in either of the strings. People often use / as the delimiter, but avoid / if using it as a line command in ISPF option 3.4 since / of course substitutes to the dataset name in the ISPF 3.4 dataset list. Omit the WRITE keyword to get a simulated replacement run without any actual updates. PDS pdsname FIND : !stringA! is the command to do a FIND across the PDS (useful prior to REPLacement). Interactively you can use the PDS pdsname TSO command to get into PDS (or STARTOOL) and then use the REPL or FIND subcommands from there. From within ISPF you get nice panels showing the member list. From true READY mode you get the TSO line mode experience. The colon character : specifies ALL members. You can instead specify a subset of members such as ABC:DEF (all members beginning with ABC through to those beginning with DEF) or throw some * wildcards into the mix. Edit Macro Across All Members Edit Macros were also mentioned earlier in the thread as an alternative. Consider the ISPF sample edit macro ISRMBRS which is both documented and shipped with ISPF. Mainly for interactive use. If you edit a non-existent member in your PDS, for example TEMPXYZ, and then invoke the edit macro as ISRMBRS MYMACRO then your edit macro MYMACRO will be applied to every member (except the member you are editing from). However, make sure your edit macro has the ISPF 'END' command in it, or you will be pressing PF3 for every member. Hope that helps, dap -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
You may also use FileAid if you have that installed instead of FileManager. /Kjelle -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
... and also PGM=PDSM18 (possibly part of PDSMAN) if you have it. Kjell Holmborg wrote: You may also use FileAid if you have that installed instead of FileManager. /Kjelle -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
I think the requirement for a member name $$$COIBM has been removed. I have used IPOUPDTE on 3 different sites in the past few years without this restriction. Many of the other utilities are great, but some cost money or may not be installed at some sites, so IPPOUPDTE is a great option. It also allows for updating multiple pds/pdse's in one execution and provides a PARM=CHECK or UPDATE to allow checking your changes before doing the actual UPDATE. The DD name(s) must start with @. A JCL example: //IPOUPDTE JOB (24186),'CHANGE JCL',CLASS=P,MSGCLASS=O //* //* //* MASS CHANGE TO LIBRARY MEMBERS * //STEP EXEC PGM=IPOUPDTE,PARM=CHECK will simulate changes //*STEP EXEC PGM=IPOUPDTE,PARM=UPDATEwill perform changes //SYSPRINT DD SYSOUT=* //@TESTDD DSN=GRT.GIOIDXM.JCL,DISP=SHR can use more than one LIB //@TEST2 DD DSN=GRP.GIOIDXM.JCL,DISP=SHR //SYSINDD * CLASS=PCLASS=A *ASYSOUT= AFOPERBMC /* There is a 4k? limit on the total bytes in the control cards, so if a large number of control cards is used, more than one run would be needed. David Mingee Mainframe Consulting 9206 Aintree Drive Indianapolis, IN 46250 317 288-9588 Home 317 903-9455 Cell From: Charles Mills charl...@mcn.org To: IBM-MAIN@LISTSERV.UA.EDU Sent: Monday, December 15, 2014 7:29 PM Subject: Re: Utility to replace occurrences of string in PDS? Hmmm. Also Important: For CPPUPDTE and IPOUPDTE to work, each PDS to be searched MUST contain a member named $$$COIBM. Obviously that is something I could create but that creates problems of its own. May keep looking a little. Not sure if I have File Manager. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Lizette Koehler Sent: Monday, December 15, 2014 4:14 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? Server Pac CPPUPDTE is a program that enables you to search for a string across all the members of a PDS and replace that string with another string. CPPUPDTE is loaded into the LOADLIB data set (hlq.order_number.LOADLIB) during ServerPac installation. It also has an alias name of IPOUPDTE because the job is actually the same job that was shipped with CBIPO. Lizette -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of John McKown Sent: Monday, December 15, 2014 5:11 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? Is IPOUPDTE still around? I'm at home right now can't easily look. On Dec 15, 2014 6:08 PM, Charles Mills charl...@mcn.org wrote: I'm looking for a reasonable way to replace all occurrences of a given string in a dataset. UNIX shell command? DFSMS utility that I have forgotten about? CBT program? Nothing fancy. I have a PDS with seven or so members. I want to replace all instances of $REPLACEME$ with NEWSTRING. I know which members contain the pattern so I could live with *either* something that did the whole PDS, or something where I had to specify the specific members. First choice would be something that copied the PDS, but I can make my own copy and live with a replace-in-place. I could write Rexx to do it so that's my bottom line -- it has to be easier than writing a Rexx program. Any suggestions? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
When I tried IPOUPDTE on my PDS I got an error IPO006 FILE @PDS INVALID FOR IPOUPDTE that I resolved by adding a member $$$COIBM, so I conclude that the restriction is still there, at least on the copy on my V2R1 system. It's a GREAT little utility except for the stupid kneecapping. FWIW, here is the resolution of my requirement: No FileAid, no File Manager. CBT 040 is really complex, lightly-commented assembler code from the dark ages (31 bit? reentrance? what's that?) and way overkill for what I want. IPOUPDTE would be *perfect* except for the $$$COIBM restriction. Yes, I can work around that, but the result is kind of an offensive kludge. I wrote a little Rexx program, cannibalizing some Rexx I had lying around. Problem solved. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of David Mingee Sent: Tuesday, December 16, 2014 10:17 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? I think the requirement for a member name $$$COIBM has been removed. I have used IPOUPDTE on 3 different sites in the past few years without this restriction. Many of the other utilities are great, but some cost money or may not be installed at some sites, so IPPOUPDTE is a great option. It also allows for updating multiple pds/pdse's in one execution and provides a PARM=CHECK or UPDATE to allow checking your changes before doing the actual UPDATE. The DD name(s) must start with @. A JCL example: //IPOUPDTE JOB (24186),'CHANGE JCL',CLASS=P,MSGCLASS=O //* //* //* MASS CHANGE TO LIBRARY MEMBERS * //STEP EXEC PGM=IPOUPDTE,PARM=CHECK will simulate changes //*STEP EXEC PGM=IPOUPDTE,PARM=UPDATEwill perform changes //SYSPRINT DD SYSOUT=* //@TESTDD DSN=GRT.GIOIDXM.JCL,DISP=SHR can use more than one LIB //@TEST2 DD DSN=GRP.GIOIDXM.JCL,DISP=SHR //SYSINDD * CLASS=PCLASS=A *ASYSOUT= AFOPERBMC /* There is a 4k? limit on the total bytes in the control cards, so if a large number of control cards is used, more than one run would be needed. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
There used to be a zap for IPOUPDTE to get rid of the $$$COIBM requirement. Google IPOUPDTE ZAP. Don't know if they still work. But it is likely worth the quick search and test if you need the functionality. Bart -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Charles Mills Sent: Tuesday, December 16, 2014 2:01 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? When I tried IPOUPDTE on my PDS I got an error IPO006 FILE @PDS INVALID FOR IPOUPDTE that I resolved by adding a member $$$COIBM, so I conclude that the restriction is still there, at least on the copy on my V2R1 system. It's a GREAT little utility except for the stupid kneecapping. FWIW, here is the resolution of my requirement: No FileAid, no File Manager. CBT 040 is really complex, lightly-commented assembler code from the dark ages (31 bit? reentrance? what's that?) and way overkill for what I want. IPOUPDTE would be *perfect* except for the $$$COIBM restriction. Yes, I can work around that, but the result is kind of an offensive kludge. I wrote a little Rexx program, cannibalizing some Rexx I had lying around. Problem solved. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of David Mingee Sent: Tuesday, December 16, 2014 10:17 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? I think the requirement for a member name $$$COIBM has been removed. I have used IPOUPDTE on 3 different sites in the past few years without this restriction. Many of the other utilities are great, but some cost money or may not be installed at some sites, so IPPOUPDTE is a great option. It also allows for updating multiple pds/pdse's in one execution and provides a PARM=CHECK or UPDATE to allow checking your changes before doing the actual UPDATE. The DD name(s) must start with @. A JCL example: //IPOUPDTE JOB (24186),'CHANGE JCL',CLASS=P,MSGCLASS=O //* //* //* MASS CHANGE TO LIBRARY MEMBERS * //STEP EXEC PGM=IPOUPDTE,PARM=CHECK will simulate changes //*STEP EXEC PGM=IPOUPDTE,PARM=UPDATEwill perform changes //SYSPRINT DD SYSOUT=* //@TESTDD DSN=GRT.GIOIDXM.JCL,DISP=SHR can use more than one LIB //@TEST2 DD DSN=GRP.GIOIDXM.JCL,DISP=SHR //SYSINDD * CLASS=PCLASS=A *ASYSOUT= AFOPERBMC /* There is a 4k? limit on the total bytes in the control cards, so if a large number of control cards is used, more than one run would be needed. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
Yeah, thanks, down at the bottom of https://groups.google.com/forum/#!topic/bit.listserv.ibm-main/473KcCMYWNk. I've got it solved. Thanks, Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of van der Grijn, Bart (B) Sent: Tuesday, December 16, 2014 11:30 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? There used to be a zap for IPOUPDTE to get rid of the $$$COIBM requirement. Google IPOUPDTE ZAP. Don't know if they still work. But it is likely worth the quick search and test if you need the functionality. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
This thread brings back a memory from back in the day when they actually paid me to be a SYSPROG. IPOUPDTE was all we had so we added a step to load the sacred member, do the changes, delete the member in a following step. Annoying, like my new Keurig coffee machine. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of van der Grijn, Bart (B) Sent: Tuesday, December 16, 2014 1:30 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? There used to be a zap for IPOUPDTE to get rid of the $$$COIBM requirement. Google IPOUPDTE ZAP. Don't know if they still work. But it is likely worth the quick search and test if you need the functionality. Bart -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Charles Mills Sent: Tuesday, December 16, 2014 2:01 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? When I tried IPOUPDTE on my PDS I got an error IPO006 FILE @PDS INVALID FOR IPOUPDTE that I resolved by adding a member $$$COIBM, so I conclude that the restriction is still there, at least on the copy on my V2R1 system. It's a GREAT little utility except for the stupid kneecapping. FWIW, here is the resolution of my requirement: No FileAid, no File Manager. CBT 040 is really complex, lightly-commented assembler code from the dark ages (31 bit? reentrance? what's that?) and way overkill for what I want. IPOUPDTE would be *perfect* except for the $$$COIBM restriction. Yes, I can work around that, but the result is kind of an offensive kludge. I wrote a little Rexx program, cannibalizing some Rexx I had lying around. Problem solved. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of David Mingee Sent: Tuesday, December 16, 2014 10:17 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? I think the requirement for a member name $$$COIBM has been removed. I have used IPOUPDTE on 3 different sites in the past few years without this restriction. Many of the other utilities are great, but some cost money or may not be installed at some sites, so IPPOUPDTE is a great option. It also allows for updating multiple pds/pdse's in one execution and provides a PARM=CHECK or UPDATE to allow checking your changes before doing the actual UPDATE. The DD name(s) must start with @. A JCL example: //IPOUPDTE JOB (24186),'CHANGE JCL',CLASS=P,MSGCLASS=O //* //* //* MASS CHANGE TO LIBRARY MEMBERS * //STEP EXEC PGM=IPOUPDTE,PARM=CHECK will simulate changes //*STEP EXEC PGM=IPOUPDTE,PARM=UPDATEwill perform changes //SYSPRINT DD SYSOUT=* //@TESTDD DSN=GRT.GIOIDXM.JCL,DISP=SHR can use more than one LIB //@TEST2 DD DSN=GRP.GIOIDXM.JCL,DISP=SHR //SYSINDD * CLASS=PCLASS=A *ASYSOUT= AFOPERBMC /* There is a 4k? limit on the total bytes in the control cards, so if a large number of control cards is used, more than one run would be needed. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
I am going to suggest something very silly here Why not write an edit macro to make the change(s) to one member And then write a rexx to execute this macro against every member?? ISREDIT MACRO ISREDIT (STATUS) = USER_STATE ISREDIT RESET SPECIAL ISREDIT CHANGE ALL YOUR.OLD YOUR.NEW /* ISREDIT USER_STATE = (STATUS) EXIT Chris hoelscher Technology Architect | Database Infrastructure Services Technology Solution Services 123 East Main Street |Louisville, KY 40202 choelsc...@humana.com Humana.com (502) 476-2538 - office (502) 714-8615 - blackberry HumanaVitality LEAD STATUS e access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN The information transmitted is intended only for the person or entity to which it is addressed and may contain CONFIDENTIAL material. If you receive this material/information in error, please contact the sender and delete or destroy the material/information. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
Yup. Pretty much done. I actually had some Rexx around to do some of the changes itself so I am not using edit any more. Requirement was for batch. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Chris Hoelscher Sent: Tuesday, December 16, 2014 1:29 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? I am going to suggest something very silly here Why not write an edit macro to make the change(s) to one member And then write a rexx to execute this macro against every member?? ISREDIT MACRO ISREDIT (STATUS) = USER_STATE ISREDIT RESET SPECIAL ISREDIT CHANGE ALL YOUR.OLD YOUR.NEW /* ISREDIT USER_STATE = (STATUS) EXIT -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
Annoying indeed. I played with insert $$$COIBM and then delete it again, and I played with leaving a $$$COIBM in there but with our copyright message rather than IBM's. I don't think the name $$$COIBM has any particular legal standing. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Tony's Basement Computer Sent: Tuesday, December 16, 2014 12:31 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? This thread brings back a memory from back in the day when they actually paid me to be a SYSPROG. IPOUPDTE was all we had so we added a step to load the sacred member, do the changes, delete the member in a following step. Annoying, like my new Keurig coffee machine. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
On Tue, 16 Dec 2014 13:53:49 -0800, Charles Mills wrote: Yup. Pretty much done. I actually had some Rexx around to do some of the changes itself so I am not using edit any more. Requirement was for batch. That shouldn't be an obstacle; I believe ISPF EDIT works in batch. (It's just complicated.) -Original Message- From: Chris Hoelscher Sent: Tuesday, December 16, 2014 1:29 PM I am going to suggest something very silly here Why not write an edit macro to make the change(s) to one member And then write a rexx to execute this macro against every member?? -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
See if you have IPOUPDTE in your system. Linklib maybe. Or if you have the TAPETOOLS from IBM - it has an equivalent. Lizette -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Charles Mills Sent: Monday, December 15, 2014 5:08 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Utility to replace occurrences of string in PDS? I'm looking for a reasonable way to replace all occurrences of a given string in a dataset. UNIX shell command? DFSMS utility that I have forgotten about? CBT program? Nothing fancy. I have a PDS with seven or so members. I want to replace all instances of $REPLACEME$ with NEWSTRING. I know which members contain the pattern so I could live with *either* something that did the whole PDS, or something where I had to specify the specific members. First choice would be something that copied the PDS, but I can make my own copy and live with a replace-in-place. I could write Rexx to do it so that's my bottom line -- it has to be easier than writing a Rexx program. Any suggestions? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
Is IPOUPDTE still around? I'm at home right now can't easily look. On Dec 15, 2014 6:08 PM, Charles Mills charl...@mcn.org wrote: I'm looking for a reasonable way to replace all occurrences of a given string in a dataset. UNIX shell command? DFSMS utility that I have forgotten about? CBT program? Nothing fancy. I have a PDS with seven or so members. I want to replace all instances of $REPLACEME$ with NEWSTRING. I know which members contain the pattern so I could live with *either* something that did the whole PDS, or something where I had to specify the specific members. First choice would be something that copied the PDS, but I can make my own copy and live with a replace-in-place. I could write Rexx to do it so that's my bottom line -- it has to be easier than writing a Rexx program. Any suggestions? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
Server Pac CPPUPDTE is a program that enables you to search for a string across all the members of a PDS and replace that string with another string. CPPUPDTE is loaded into the LOADLIB data set (hlq.order_number.LOADLIB) during ServerPac installation. It also has an alias name of IPOUPDTE because the job is actually the same job that was shipped with CBIPO. Lizette -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of John McKown Sent: Monday, December 15, 2014 5:11 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? Is IPOUPDTE still around? I'm at home right now can't easily look. On Dec 15, 2014 6:08 PM, Charles Mills charl...@mcn.org wrote: I'm looking for a reasonable way to replace all occurrences of a given string in a dataset. UNIX shell command? DFSMS utility that I have forgotten about? CBT program? Nothing fancy. I have a PDS with seven or so members. I want to replace all instances of $REPLACEME$ with NEWSTRING. I know which members contain the pattern so I could live with *either* something that did the whole PDS, or something where I had to specify the specific members. First choice would be something that copied the PDS, but I can make my own copy and live with a replace-in-place. I could write Rexx to do it so that's my bottom line -- it has to be easier than writing a Rexx program. Any suggestions? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
If you have File Manager at your shop you can find and replace quite easily like shown below. //STEP0100 EXEC PGM=FILEMGR //SYSPRINT DD SYSOUT=* //MYPDSDD DISP=SHR,DSN=Your PDS to be updated/replaced //SYSINDD * $$FILEM FCH INPUT=MYPDS C '$REPLACEME$' 'Updated string' Thanks, Kolusu IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU wrote on 12/15/2014 04:10:13 PM: From: Lizette Koehler stars...@mindspring.com To: IBM-MAIN@LISTSERV.UA.EDU Date: 12/15/2014 04:10 PM Subject: Re: Utility to replace occurrences of string in PDS? Sent by: IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU See if you have IPOUPDTE in your system. Linklib maybe. Or if you have the TAPETOOLS from IBM - it has an equivalent. Lizette -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Charles Mills Sent: Monday, December 15, 2014 5:08 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Utility to replace occurrences of string in PDS? I'm looking for a reasonable way to replace all occurrences of a given string in a dataset. UNIX shell command? DFSMS utility that I have forgotten about? CBT program? Nothing fancy. I have a PDS with seven or so members. I want to replace all instances of $REPLACEME$ with NEWSTRING. I know which members contain the pattern so I could live with *either* something that did the whole PDS, or something where I had to specify the specific members. First choice would be something that copied the PDS, but I can make my own copy and live with a replace-in-place. I could write Rexx to do it so that's my bottom line -- it has to be easier than writing a Rexx program. Any suggestions? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
I typically use the PDSPDS program from CBT file 40. Uncertain who to credit that too. Ant. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Charles Mills Sent: Tuesday, 16 December 2014 9:38 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Utility to replace occurrences of string in PDS? I'm looking for a reasonable way to replace all occurrences of a given string in a dataset. UNIX shell command? DFSMS utility that I have forgotten about? CBT program? Nothing fancy. I have a PDS with seven or so members. I want to replace all instances of $REPLACEME$ with NEWSTRING. I know which members contain the pattern so I could live with *either* something that did the whole PDS, or something where I had to specify the specific members. First choice would be something that copied the PDS, but I can make my own copy and live with a replace-in-place. I could write Rexx to do it so that's my bottom line -- it has to be easier than writing a Rexx program. Any suggestions? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
Bingo! You guys and gals are the best! http://www-03.ibm.com/systems/z/os/zos/installation/cppupdte.txt Seems to be around somewhere: BATCH JCL TAILORING AIDUPDATE CONTROL STATEMENTS MEMBER COMMENTS |1|2|3|4|5| MESSAGEIPO011 IPOUPDTE ENDED. CODE=04 Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Lizette Koehler Sent: Monday, December 15, 2014 4:10 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? See if you have IPOUPDTE in your system. Linklib maybe. Or if you have the TAPETOOLS from IBM - it has an equivalent. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
Hmmm. Also Important: For CPPUPDTE and IPOUPDTE to work, each PDS to be searched MUST contain a member named $$$COIBM. Obviously that is something I could create but that creates problems of its own. May keep looking a little. Not sure if I have File Manager. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Lizette Koehler Sent: Monday, December 15, 2014 4:14 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? Server Pac CPPUPDTE is a program that enables you to search for a string across all the members of a PDS and replace that string with another string. CPPUPDTE is loaded into the LOADLIB data set (hlq.order_number.LOADLIB) during ServerPac installation. It also has an alias name of IPOUPDTE because the job is actually the same job that was shipped with CBIPO. Lizette -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of John McKown Sent: Monday, December 15, 2014 5:11 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Utility to replace occurrences of string in PDS? Is IPOUPDTE still around? I'm at home right now can't easily look. On Dec 15, 2014 6:08 PM, Charles Mills charl...@mcn.org wrote: I'm looking for a reasonable way to replace all occurrences of a given string in a dataset. UNIX shell command? DFSMS utility that I have forgotten about? CBT program? Nothing fancy. I have a PDS with seven or so members. I want to replace all instances of $REPLACEME$ with NEWSTRING. I know which members contain the pattern so I could live with *either* something that did the whole PDS, or something where I had to specify the specific members. First choice would be something that copied the PDS, but I can make my own copy and live with a replace-in-place. I could write Rexx to do it so that's my bottom line -- it has to be easier than writing a Rexx program. Any suggestions? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
On 12/15/2014 7:08 PM, Charles Mills wrote: I'm looking for a reasonable way to replace all occurrences of a given string in a dataset. UNIX shell command? DFSMS utility that I have forgotten about? CBT program? Nothing fancy. I have a PDS with seven or so members. I want to replace all instances of $REPLACEME$ with NEWSTRING. I know which members contain the pattern so I could live with *either* something that did the whole PDS, or something where I had to specify the specific members. First choice would be something that copied the PDS, but I can make my own copy and live with a replace-in-place. I could write Rexx to do it so that's my bottom line -- it has to be easier than writing a Rexx program. Any suggestions? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN FILE182 on your CBTTAPE dial, www.cbttape.org. The one, the only, PDS. Regards, Tom Conley -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
Bruce and Steve over at Startools might disagree! Anybody heard from JK since retirement? In a message dated 12/15/2014 6:54:49 P.M. Central Standard Time, pinnc...@rochester.rr.com writes: FILE182 on your CBTTAPE dial, www.cbttape.org. The one, the only, PDS. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Utility to replace occurrences of string in PDS?
If you have SimpList take a look at the CHGALL command. Enter it on a member list command line and a pop-up panel prompts you for required and optional parameters. If there are any members you don't want changed you can filter the member list many different ways before entering the CHGALL command. Dave Salt SimpList(tm) - try it; you'll get it! http://www.mackinney.com/products/program-development/simplist.html Date: Mon, 15 Dec 2014 20:02:49 -0500 From: 000248cce9f3-dmarc-requ...@listserv.ua.edu Subject: Re: Utility to replace occurrences of string in PDS? To: IBM-MAIN@LISTSERV.UA.EDU Bruce and Steve over at Startools might disagree! Anybody heard from JK since retirement? In a message dated 12/15/2014 6:54:49 P.M. Central Standard Time, pinnc...@rochester.rr.com writes: FILE182 on your CBTTAPE dial, www.cbttape.org. The one, the only, PDS. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN