Lizette, I cannot use a mask in the SET command. Later I realized that the substr function to find text is there of course, but the replace is what I am missing, like in code to convert old management classes to new ones, while providing transparacy to JCL roaming around in the company.
Example to convert the old Byxxnnnn managementclasses to B1DAnnnn, where y can be 1,2 or 3 and xx can be DA, EA, IA or VA,. Thanks to the %%% masking in the WHEN clause, I can need only 17 clauses i.s.o. 17*3*4. The same goes for the S* and W* groups. WHEN(&MGMTCLAS EQ B%%% ) SET &MGMTCLAS = 'B1DA' WHEN(&MGMTCLAS EQ B%%%0002 ) SET &MGMTCLAS = 'B1DA0002' WHEN(&MGMTCLAS EQ B%%%0005 ) SET &MGMTCLAS = 'B1DA0005' WHEN(&MGMTCLAS EQ B%%%0010 ) SET &MGMTCLAS = 'B1DA0010' WHEN(&MGMTCLAS EQ B%%%0015 ) SET &MGMTCLAS = 'B1DA0015' WHEN(&MGMTCLAS EQ B%%%0030 ) SET &MGMTCLAS = 'B1DA0030' WHEN(&MGMTCLAS EQ B%%%0040 ) SET &MGMTCLAS = 'B1DA0040' WHEN(&MGMTCLAS EQ B%%%0060 ) SET &MGMTCLAS = 'B1DA0060' WHEN(&MGMTCLAS EQ B%%%0070 ) SET &MGMTCLAS = 'B1DA0070' WHEN(&MGMTCLAS EQ B%%%0100 ) SET &MGMTCLAS = 'B1DA0100' WHEN(&MGMTCLAS EQ B%%%0200 ) SET &MGMTCLAS = 'B1DA0200' WHEN(&MGMTCLAS EQ B%%%0400 ) SET &MGMTCLAS = 'B1DA0400' WHEN(&MGMTCLAS EQ B%%%0800 ) SET &MGMTCLAS = 'B1DA0800' WHEN(&MGMTCLAS EQ B%%%1200 ) SET &MGMTCLAS = 'B1DA1200' WHEN(&MGMTCLAS EQ B%%%2000 ) SET &MGMTCLAS = 'B1DA2000' WHEN(&MGMTCLAS EQ B%%%3000 ) SET &MGMTCLAS = 'B1DA3000' If masing in the SET command was available, this group could be brought down to: SET &MGMTCLAS = &MGMTCLAS (set the managementclass to the current value) WHEN(&MGMTCLAS EQ B%%%%%%% ) SET &MGMTCLAS = 'B1DA%%%%' (replace positions 2 - 4 and leave the last 4) Kees. -----Original Message----- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Lizette Koehler Sent: Monday, July 15, 2013 17:28 To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: ACS routine imbed/include function? Kees, Could you expand on the 15 WHEN clauses? Provide a snippet? How does the * vs. % not help? Are you really parsing it down that granularly? Lizette -----Original Message----- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Vernooij, CP - SPLXM Sent: Monday, July 15, 2013 7:05 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: ACS routine imbed/include function? Bingo! This is what I had stored many years ago somewhere in migrated memory: the COPYFILT macro. It is not completely automatic, but it takes only one command to fire the automation of updating multiple tables in multiple routines. I will have a look at it again to see if it helps me this time. A function like the FILTERDD would even be more convenient. And,by the way, if someone is making up a wishlist for ACS routines: subroutines would be very helpful and also a substring function (find and replace), like in: when (&mgmtclas eq B2DA%%%%)set &mgtmclas = B1DA%%%%. This now takes 15 WHEN clauses for each of the %%%% values. Thanks, Kees. -----Original Message----- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Elardus Engelbrecht Sent: Monday, July 15, 2013 15:21 To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: ACS routine imbed/include function? Vernooij, CP wrote: >So I probably mixed some historical info in my memory. It would be nice to >have, e.g. for dsname- of volser-filtlists used in more than one routine. >However, there are not many enhancements in ACS routines the last decades, so >I expect this will remain a wish. You've got my curiousity turned on and I searched my *ss off since your first post! It was indeed a long time I saw any announcement for ACS enhancements if at all. But then I wonder if you were thinking about 'COPYFILT macro: COPYLIB facility for FILTLISTs'. Granted that is for initial SMS setup. On the otherside, I wonder if you were refering to FILTERDD in DFDSS. There you can probably concatenate at your leisure... Hmmm, perhaps time for a Share thing? Think of it: one set of Include/exclude for DB2 folks, another for other dbas, etc. Groete / Greetings Elardus Engelbrecht ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ******************************************************** For information, services and offers, please visit our web site: http://www.klm.com. This e-mail and any attachment may contain confidential and privileged material intended for the addressee only. If you are not the addressee, you are notified that no part of the e-mail or any attachment may be disclosed, copied or distributed, and that any other action related to this e-mail or attachment is strictly prohibited, and may be unlawful. If you have received this e-mail by error, please notify the sender immediately by return e-mail, and delete this message. Koninklijke Luchtvaart Maatschappij NV (KLM), its subsidiaries and/or its employees shall not be liable for the incorrect or incomplete transmission of this e-mail or any attachments, nor responsible for any delay in receipt. Koninklijke Luchtvaart Maatschappij N.V. (also known as KLM Royal Dutch Airlines) is registered in Amstelveen, The Netherlands, with registered number 33014286 ******************************************************** ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN