Re: PIPE, CMS kind of question.
Steve, We use LASTING GLOBALV with a DEFSTOR EXEC and our PROFILE EXECs. An extract of DEFSTOR has: Arg size CMDLINE 73 line(s) not displayed 'GLOBALV SELECT DEFSTOR SETLP CMDLINE' cmdline 'FINIS * * *' parse value diagrc(8,"DEFINE STOR" size "15"x "IPL" system "PARM" , "AUTOCR") with rc . the_rest /* Following line will only be executed if the above commands fail */ say the_rest Exit RC Then in the PROFILE EXEC: "GLOBALV SELECT DEFSTOR GET CMDLINE" if cmdline ^= "" then do "GLOBALV SELECT DEFSTOR SETLP CMDLINE" queue cmdline end exit 0 Therefore, you can do: DEFSTOR 50M srgmod Jim -Original Message- From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED] On Behalf Of Steve Gentry Sent: Wednesday, January 10, 2007 4:14 PM To: IBMVM@LISTSERV.UARK.EDU Subject: PIPE, CMS kind of question. I have an EXEC I want to run but I need to be sure the user has a certain amount of virtual storage before it can run. I can get this information with PIPE and a Q V STOR. If the storage is less than 50M then I want to increase the storage to 50M. Then I want the EXEC to continue on. Here is the code snippet. 'cp define stor 50m' || '15'x || 'I CMS' || '15'x || 'srgmod' mod_name The define stor works ok, the I CMS works ok but it won't run the srgmod EXEC (mod_name is an arg I supply) Is this because when the I CMS runs it clears storage, resets pointers or something? If so, is there a way I can accomplish this? Thanks, Steve G. If you are not an intended recipient of this e-mail, please notify the sender, delete it and do not read, act upon, print, disclose, copy, retain or redistribute it. Click here for important additional terms relating to this e-mail. http://www.ml.com/email_terms/
Re: PIPE, CMS kind of question.
Now that is scary!!! Regards, Richard Schuh From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED] On Behalf Of David Kreuter Sent: Wednesday, January 10, 2007 4:24 PM To: IBMVM@LISTSERV.UARK.EDU Subject: Re: PIPE, CMS kind of question. PUT2PROD SEGMENTS uses this architecture more or less, fires up the BLDSEG virtual machine, FORCE it off, logs it on again for a different segment. Same for BLDCMS machine but that is single purpose. How about that - admiring PUT2PROD ! David -Original Message- From: The IBM z/VM Operating System on behalf of Schuh, Richard Sent: Wed 1/10/2007 5:06 PM To: IBMVM@LISTSERV.UARK.EDU Subject: Re: [IBMVM] PIPE, CMS kind of question. We have a REIPL EXEC that will change the storage size and IPL whatever was last IPLed. It does not, at the current time, pass any command to the PROFILE, but it would not be rocket surgery to add that functionality. Regards, Richard Schuh From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED] On Behalf Of Huegel, Thomas Sent: Wednesday, January 10, 2007 1:56 PM To: IBMVM@LISTSERV.UARK.EDU Subject: Re: PIPE, CMS kind of question. A different approach might be to send a message to operator (PROP or some other automation) and then logoff. PROP would then issue an XAUTOLOG specifying a storage size of 50m and passing console input with the exec name and the parm for the exec. -Original Message- From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED] Behalf Of Steve Gentry Sent: Wednesday, January 10, 2007 3:14 PM To: IBMVM@LISTSERV.UARK.EDU Subject: PIPE, CMS kind of question. I have an EXEC I want to run but I need to be sure the user has a certain amount of virtual storage before it can run. I can get this information with PIPE and a Q V STOR. If the storage is less than 50M then I want to increase the storage to 50M. Then I want the EXEC to continue on. Here is the code snippet. 'cp define stor 50m' || '15'x || 'I CMS' || '15'x || 'srgmod' mod_name The define stor works ok, the I CMS works ok but it won't run the srgmod EXEC (mod_name is an arg I supply) Is this because when the I CMS runs it clears storage, resets pointers or something? If so, is there a way I can accomplish this? Thanks, Steve G. << ella for Spam Control >> has removed 9430 VSE-List messages and set aside 6685 VM-List for me You can use it too - and it's FREE! www.ellaforspam.com
Re: PIPE, CMS kind of question.
On Thursday, 01/11/2007 at 08:05 EST, Steve Gentry <[EMAIL PROTECTED]> wrote: > Thank you all for the excellent suggestions. This EXEC is for a single > user(me) who should remember > to change the storage size in the first place. It's nothing mission critical, > so I'll just have to remember to change the > storage size. I guess I was hoping for a double-secret diag code or something > that only Chuckie knew. When I do this, my PROFILE EXEC will query the virtual storage size and re-IPL using the DEFINE STORAGE #IPL CMS PARM AUTOCR trick. Naturally you pass the test on the second trip through the profile, so it doesn't do it again. And, unlike when issued from the command line, a failure in DEFINE STOR (e.g. exceeeds maxstor) will suppress the IPL. That is, the DIAG ends when one of the commands gives a non-zero RC. -- Chuckie
Re: PIPE, CMS kind of question.
Steve - I wrote my VMSTOR EXEC in 1985 to change storage and IPL CMS or CMSL and then invoke an EXEC or CMS command. Here's an example: /* << SPSS EXEC >> FJH 01/14/85 SRU */ /* Change VM machine size if necessary for SPSS */ parse arg PARAMETERS 'VMSIZE' /* VM machine size is returned in RC */ if RC > 4095 & RC < 10241 /* Must run in 4M to 10M machine */ then push SPSSX PARAMETERS else push 'VMSTOR 4096K' SPSSX PARAMETERS exit In your case you would use: VMSTOR 50M SRGMOD MOD_NAME The EXEC still works in z/VM 3.1 . It is extremely fast and there is no manual intervention of any kind. I am sending the exec to Steve offline. I will send it to anyone first thing Friday morning to anyone who requests it today. /Fran Hensler at Slippery Rock University of Pennsylvania USA for 43 years [EMAIL PROTECTED] +1.724.738.2153 "Yes, Virginia, there is a Slippery Rock" - On Wed, 10 Jan 2007 16:14:26 -0500 Steve Gentry said: >I have an EXEC I want to run but I need to be sure the user has a certain >amount of virtual storage before it can run. >I can get this information with PIPE and a Q V STOR. >If the storage is less than 50M then I want to increase the storage to >50M. Then I want the EXEC to continue on. >Here is the code snippet. > >'cp define stor 50m' || '15'x || 'I CMS' || '15'x || 'srgmod' mod_name > > >The define stor works ok, the I CMS works ok but it won't run the srgmod >EXEC (mod_name is an arg I supply) >Is this because when the I CMS runs it clears storage, resets pointers or >something? >If so, is there a way I can accomplish this? > >Thanks, >Steve G.
Re: PIPE, CMS kind of question.
Thank you all for the excellent suggestions. This EXEC is for a single user(me) who should remember to change the storage size in the first place. It's nothing mission critical, so I'll just have to remember to change the storage size. I guess I was hoping for a double-secret diag code or something that only Chuckie knew. Again, thanks to all who responded. Steve G.
Re: PIPE, CMS kind of question.
PUT2PROD SEGMENTS uses this architecture more or less, fires up the BLDSEG virtual machine, FORCE it off, logs it on again for a different segment. Same for BLDCMS machine but that is single purpose. How about that - admiring PUT2PROD ! David -Original Message- From: The IBM z/VM Operating System on behalf of Schuh, Richard Sent: Wed 1/10/2007 5:06 PM To: IBMVM@LISTSERV.UARK.EDU Subject: Re: [IBMVM] PIPE, CMS kind of question. We have a REIPL EXEC that will change the storage size and IPL whatever was last IPLed. It does not, at the current time, pass any command to the PROFILE, but it would not be rocket surgery to add that functionality. Regards, Richard Schuh From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED] On Behalf Of Huegel, Thomas Sent: Wednesday, January 10, 2007 1:56 PM To: IBMVM@LISTSERV.UARK.EDU Subject: Re: PIPE, CMS kind of question. A different approach might be to send a message to operator (PROP or some other automation) and then logoff. PROP would then issue an XAUTOLOG specifying a storage size of 50m and passing console input with the exec name and the parm for the exec. -Original Message- From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED] Behalf Of Steve Gentry Sent: Wednesday, January 10, 2007 3:14 PM To: IBMVM@LISTSERV.UARK.EDU Subject: PIPE, CMS kind of question. I have an EXEC I want to run but I need to be sure the user has a certain amount of virtual storage before it can run. I can get this information with PIPE and a Q V STOR. If the storage is less than 50M then I want to increase the storage to 50M. Then I want the EXEC to continue on. Here is the code snippet. 'cp define stor 50m' || '15'x || 'I CMS' || '15'x || 'srgmod' mod_name The define stor works ok, the I CMS works ok but it won't run the srgmod EXEC (mod_name is an arg I supply) Is this because when the I CMS runs it clears storage, resets pointers or something? If so, is there a way I can accomplish this? Thanks, Steve G. << ella for Spam Control >> has removed 9430 VSE-List messages and set aside 6685 VM-List for me You can use it too - and it's FREE! www.ellaforspam.com
Re: PIPE, CMS kind of question.
Here's an exec I wrote back in 1986, called SYSEXEC EXEC, to easily and flexibly customize what code would run on various userids when they started up. It will adapt easily to what you want to do. /* This exec checks for a file with filename=userid filetype=SYSEXEC */ /* If found, this file is loaded into storage as SYSUSE EXEC. */ /* After execution of the SYSUSE EXEC it is removed from storage. */ set cmstype ht 'EXECLOAD' userid() 'SYSEXEC X SYSUSE EXEC ( PUSH' IF rc=0 THEN DO set cmstype rt 'SYSUSE' 'EXECDROP SYSUSE EXEC' END set cmstype rt You will need to have the userid(s) that need this feature run the SYSEXE C EXEC at some point during their SYSPROF/PROFILE processing. The above is geared to only use SYSEXEC filetypes on the X-disk, and I had it hooked i n such that I could insure what the X-disk was when it was called. If your needs are simple you could use it only on the userid in question and modify it to look on the userid's A-disk instead. You'll want to modify your srgmod EXEC to copy itself to file "userid SYSEXEC" before you IPL CMS and to otherwise delete "userid SYSEXEC". Of course, the file name pattern of "userid SYSEXEC" fit my needs and you ar e free to change it if a different pattern suits you (perhaps "srgmod SYSEXEC"). Brian Nielsen On Wed, 10 Jan 2007 16:14:26 -0500, Steve Gentry <[EMAIL PROTECTED]> wrote: >I have an EXEC I want to run but I need to be sure the user has a certai n >amount of virtual storage before it can run. >I can get this information with PIPE and a Q V STOR. >If the storage is less than 50M then I want to increase the storage to >50M. Then I want the EXEC to continue on. >Here is the code snippet. > >'cp define stor 50m' || '15'x || 'I CMS' || '15'x || 'srgmod' mod_name > > >The define stor works ok, the I CMS works ok but it won't run the srgmo d >EXEC (mod_name is an arg I supply) >Is this because when the I CMS runs it clears storage, resets pointers o r >something? >If so, is there a way I can accomplish this? > >Thanks, >Steve G.
Re: PIPE, CMS kind of question.
On 1/10/07, Kris Buelens <[EMAIL PROTECTED]> wrote: You'd need to fiddle with the user's PROFILE EXEC to make it run the EXEC. I guess Neale would wish you things that involve a big black dog ;-) If trying to be helpful involves messing with the user's PROFILE EXEC, to me that means you need to rethink what you're trying to achieve. Depending on the complexity of the user's PROFILE EXEC your trick may or may not work. Even when you add the code to handle the case when the DEFINE does not work. And what are you going to do after the program finished? Change it back to something the old value or leave it like this? Would it be an option to set the directory default for those users? If you really have to do it like this, I would consider to establish a safe environment by a rename of the original PROFILE and creation of a new one that only does its things, and rename back again after you're done. And prepare to take calls from users who lost their PROFILE EXEC without knowing why.. If you could plan well ahead, you might be able to add logic to the SYSPROF to recognize various situations and properly deal with them (through some exits). Rob
Re: PIPE, CMS kind of question.
We have a REIPL EXEC that will change the storage size and IPL whatever was last IPLed. It does not, at the current time, pass any command to the PROFILE, but it would not be rocket surgery to add that functionality. Regards, Richard Schuh From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED] On Behalf Of Huegel, Thomas Sent: Wednesday, January 10, 2007 1:56 PM To: IBMVM@LISTSERV.UARK.EDU Subject: Re: PIPE, CMS kind of question. A different approach might be to send a message to operator (PROP or some other automation) and then logoff. PROP would then issue an XAUTOLOG specifying a storage size of 50m and passing console input with the exec name and the parm for the exec. -Original Message- From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED] Behalf Of Steve Gentry Sent: Wednesday, January 10, 2007 3:14 PM To: IBMVM@LISTSERV.UARK.EDU Subject: PIPE, CMS kind of question. I have an EXEC I want to run but I need to be sure the user has a certain amount of virtual storage before it can run. I can get this information with PIPE and a Q V STOR. If the storage is less than 50M then I want to increase the storage to 50M. Then I want the EXEC to continue on. Here is the code snippet. 'cp define stor 50m' || '15'x || 'I CMS' || '15'x || 'srgmod' mod_name The define stor works ok, the I CMS works ok but it won't run the srgmod EXEC (mod_name is an arg I supply) Is this because when the I CMS runs it clears storage, resets pointers or something? If so, is there a way I can accomplish this? Thanks, Steve G. << ella for Spam Control >> has removed 9430 VSE-List messages and set aside 6685 VM-List for me You can use it too - and it's FREE! www.ellaforspam.com
Re: PIPE, CMS kind of question.
A different approach might be to send a message to operator (PROP or some other automation) and then logoff. PROP would then issue an XAUTOLOG specifying a storage size of 50m and passing console input with the exec name and the parm for the exec. -Original Message- From: The IBM z/VM Operating System [mailto:[EMAIL PROTECTED] Behalf Of Steve Gentry Sent: Wednesday, January 10, 2007 3:14 PM To: IBMVM@LISTSERV.UARK.EDU Subject: PIPE, CMS kind of question. I have an EXEC I want to run but I need to be sure the user has a certain amount of virtual storage before it can run. I can get this information with PIPE and a Q V STOR. If the storage is less than 50M then I want to increase the storage to 50M. Then I want the EXEC to continue on. Here is the code snippet. 'cp define stor 50m' || '15'x || 'I CMS' || '15'x || 'srgmod' mod_name The define stor works ok, the I CMS works ok but it won't run the srgmod EXEC (mod_name is an arg I supply) Is this because when the I CMS runs it clears storage, resets pointers or something? If so, is there a way I can accomplish this? Thanks, Steve G. _ << ella for Spam Control >> has removed 9430 VSE-List messages and set aside 6685 VM-List for me You can use it too - and it's FREE! www.ellaforspam.com <http://www.ellaforspam.com>
Re: PIPE, CMS kind of question.
"Fiddling" with the user's PROFILE EXEC might be easier using the following code (I don't remember where I got it - but probably from someone on this list). The initiating command could 'CP DEFINE STOR 50M' || '15'x || 'CP IPL CMS PARM AUTOCR RUNCMD{EXEC SRGMOD' mod_name'}' The code added to the user's PROFILE EXEC (and it can't, as written, be some EXEC called from PROFILE) could look like... -- /* Find how far back SYSPROF is in calling chain (if at all) */ level = -1 do i = 1 call csl 'DMSCALLR cslrc callee i' if cslrc = 0 then do if space(callee) = 'EXEC SYSPROF' then do level = i-1 leave end end else leave end /* If SYSPROF is a caller, get its vars */ if level >= 0 then do 'PIPE (endchar ! name iplparms)', '| rexxvars' level, '| drop 1', '| specs 3-* 1', '| join 1 Xfe', '| specs Xfe 1 /SYSPROF._/ next 1-* next', '| varload' /* Some things you might do with SYSPROF's vars: */ insparms = strip(left(sysprof._insparms,64)) say 'IPL parms:' insparms /* Just to show some SYSPROF stuff */ if sysprof._insflags <> '' & sysprof._insflags <> 'AUTOCR' then say 'INSFLAGS:' sysprof._insflags /* Just to show some SYSPROF stuff */ insflags=sysprof._insflags if sysprof._cp_keyword <> 'NOTREIPL' then say 'CP_KEYWORD:' sysprof._cp_keyword /* Just to show some SYSPROF stuff */ if symbol('SYSPROF._USR_CMD') = 'VAR' then if sysprof._usr_cmd <> '' then say 'First command:' sysprof._usr_cmd /* Just to show some SYSPROF stuff */ end -- in the user's PROFILE EXEC, you should then be able to (untested): -- parse var iplparms left 'RUNCMD{'runcmd'}' right /* Extract just the command */ iplparms=left right /* Replace IPLPARMS var without runcmd stuff */ runcmd /* Execute passed command, or NOP */ -- Mike Walter Hewitt Associates Any opinions expressed herein are mine alone and do not necessarily represent the opinions or policies of Hewitt Associates. "Kris Buelens" <[EMAIL PROTECTED]> Sent by: "The IBM z/VM Operating System" 01/10/2007 03:21 PM Please respond to "The IBM z/VM Operating System" To IBMVM@LISTSERV.UARK.EDU cc Subject Re: PIPE, CMS kind of question. You can only chain CP commands together... You'd need to fiddle with the user's PROFILE EXEC to make it run the EXEC. And, you should use IPL CMS PARM AUTOCR as to avoid the user ends in VM READ -- Kris Buelens, IBM Belgium, VM customer support 2007/1/10, Steve Gentry <[EMAIL PROTECTED]>: I have an EXEC I want to run but I need to be sure the user has a certain amount of virtual storage before it can run. I can get this information with PIPE and a Q V STOR. If the storage is less than 50M then I want to increase the storage to 50M. Then I want the EXEC to continue on. Here is the code snippet. 'cp define stor 50m' || '15'x || 'I CMS' || '15'x || 'srgmod' mod_name The define stor works ok, the I CMS works ok but it won't run the srgmod EXEC (mod_name is an arg I supply) Is this because when the I CMS runs it clears storage, resets pointers or something? If so, is there a way I can accomplish this? Thanks, Steve G. The information contained in this e-mail and any accompanying documents may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient of this message, or if this message has been addressed to you in error, please immediately alert the sender by reply e-mail and then delete this message, including any attachments. Any dissemination, distribution or other use of the contents of this message by anyone other than the intended recipient is strictly prohibited.
Re: PIPE, CMS kind of question.
On 10 Jan 2007 at 16:14, Steve Gentry wrote: > > > I have an EXEC I want to run but I need to be sure the user has a > certain amount of virtual storage before it can run. > I can get this information with PIPE and a Q V STOR. > If the storage is less than 50M then I want to increase the storage > to 50M. Then I want the EXEC to continue on. > Here is the code snippet. > > 'cp define stor 50m' || '15'x || 'I CMS' || '15'x || 'srgmod' > mod_name > > > The define stor works ok, the I CMS works ok but it won't run the > srgmod EXEC (mod_name is an arg I supply) > Is this because when the I CMS runs it clears storage, resets > pointers or something? > If so, is there a way I can accomplish this? > > Thanks, > Steve G. How about: 1) adding ''srgmod" to the user's PROFILE EXEC 2) 'cp define stor 50m' || '15'x || 'I CMS PARM AUTOCR' 3) have the exec REMOVE ITSELF from the profile!! (Or set up a front end to do all three) Shimon -- ** ** Shimon Lebowitzmailto:[EMAIL PROTECTED] VM System Programmer . Israel Police National HQ. http://www.poboxes.com/shimonpgp Jerusalem, Israel phone: +972 2 542-9877 fax: 542-9308 ** **
Re: PIPE, CMS kind of question.
You can only chain CP commands together... You'd need to fiddle with the user's PROFILE EXEC to make it run the EXEC. And, you should use IPL CMS PARM AUTOCR as to avoid the user ends in VM READ -- Kris Buelens, IBM Belgium, VM customer support 2007/1/10, Steve Gentry <[EMAIL PROTECTED]>: I have an EXEC I want to run but I need to be sure the user has a certain amount of virtual storage before it can run. I can get this information with PIPE and a Q V STOR. If the storage is less than 50M then I want to increase the storage to 50M. Then I want the EXEC to continue on. Here is the code snippet. 'cp define stor 50m' || '15'x || 'I CMS' || '15'x || 'srgmod' mod_name The define stor works ok, the I CMS works ok but it won't run the srgmod EXEC (mod_name is an arg I supply) Is this because when the I CMS runs it clears storage, resets pointers or something? If so, is there a way I can accomplish this? Thanks, Steve G.
PIPE, CMS kind of question.
I have an EXEC I want to run but I need to be sure the user has a certain amount of virtual storage before it can run. I can get this information with PIPE and a Q V STOR. If the storage is less than 50M then I want to increase the storage to 50M. Then I want the EXEC to continue on. Here is the code snippet. 'cp define stor 50m' || '15'x || 'I CMS' || '15'x || 'srgmod' mod_name The define stor works ok, the I CMS works ok but it won't run the srgmod EXEC (mod_name is an arg I supply) Is this because when the I CMS runs it clears storage, resets pointers or something? If so, is there a way I can accomplish this? Thanks, Steve G.