Re: How do I issue a command with a blank in it?
On Tue, 12 Jul 2022 12:56:35 +, Seymour J Metz wrote: >JCL is quite consistent; an unquoted space terminates the field. > If that space is preceded by a comma, doesn't it indicate a continuation? But perhaps I misunderstand the definition of "field". -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
JCL is quite consistent; an unquoted space terminates the field. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Charles Mills [charl...@mcn.org] Sent: Monday, July 11, 2022 1:11 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? App received HOW NOW, BROWN COW Quoting the command preserves the lower case, even with the embedded blanks. (No, I did not test every permutation.) /F procname,'How now, Brown Cow' App received 'How now, Brown Cow' Note that the quotes are included in what the app receives. JCL PARM= is a little more consistent. //S1 EXEC FOO,PARM=HOW NOW BROWN COW Will pass only HOW to the app. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Paul Gilmartin Sent: Monday, July 11, 2022 9:44 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? how about: /F procname,How now, Brown Cow (multiple spaces?) -- 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: How do I issue a command with a blank in it?
Hey mainframers is Rob Jackson still doing updates? On Monday, July 11, 2022 at 01:12:05 PM EDT, Charles Mills wrote: App received HOW NOW, BROWN COW Quoting the command preserves the lower case, even with the embedded blanks. (No, I did not test every permutation.) /F procname,'How now, Brown Cow' App received 'How now, Brown Cow' Note that the quotes are included in what the app receives. JCL PARM= is a little more consistent. //S1 EXEC FOO,PARM=HOW NOW BROWN COW Will pass only HOW to the app. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Paul Gilmartin Sent: Monday, July 11, 2022 9:44 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? how about: /F procname,How now, Brown Cow (multiple spaces?) -- 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: How do I issue a command with a blank in it?
On Mon, 11 Jul 2022 10:11:51 -0700, Charles Mills wrote: >... >/F procname,'How now, Brown Cow' >App received 'How now, Brown Cow' > >Note that the quotes are included in what the app receives. > But how did you enter the command? o From an operator's console? o From HLASM MGCRE? o From an SDSF panel? o From ISFSLASH? The "/F" narrows the choice. But there's still a cascade of interfaces. The treatment of quotes resembles HLASM macro argument processing. What does it do with: o Internal apostrophes, single, doubled, and unbalanced? o Internal amperrsandss, single, doubled? It suffices to say, "not documented." In which case it should be -- experiment should be only a validation. "As enny fool kin plainly see!" is not documentation. >JCL PARM= is a little more consistent. //S1 EXEC FOO,PARM=HOW NOW BROWN COW >Will pass only HOW to the app. > BTDT. -- Thanks, gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
App received HOW NOW, BROWN COW Quoting the command preserves the lower case, even with the embedded blanks. (No, I did not test every permutation.) /F procname,'How now, Brown Cow' App received 'How now, Brown Cow' Note that the quotes are included in what the app receives. JCL PARM= is a little more consistent. //S1 EXEC FOO,PARM=HOW NOW BROWN COW Will pass only HOW to the app. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Paul Gilmartin Sent: Monday, July 11, 2022 9:44 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? how about: /F procname,How now, Brown Cow (multiple spaces?) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
On Mon, 11 Jul 2022 09:12:45 -0700, Charles Mills wrote: >The problem is that there just is no generic MODIFY format, and I guess there >really is no universal console command format. Yes, yes, the next time they >write MVS they should do a single parser shared among all commands, but >unfortunately they did not do it for this MVS. > It's only half as bad as you make it sound. But there should have been some lexical uniformity, such as: "Apostrophes always protect speciall characters." >For MODIFY, the command I am most familiar with, EVERYTHING after the procname >and so forth is passed to the application. I just verified this. For a test >app I have, I entered > >/F procname,how now brown cow > how about: /F procname,How now, Brown Cow (multiple spaces?) >And verified that what the application received in the CIB was > >HOW NOW BROWN COW > Who forces upper case? What If I want: /F procname,PATH: /dev/null >What a given application might choose to do with that is entirely up to that >application, of course. No MVS-generic documentation is possible. (Other than >"your results may vary.") > That's proper provided that the application's documentation specified the behavior, even as the JCL Ref. doesn't specify every program's interpretation of PARM. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
The problem is that there just is no generic MODIFY format, and I guess there really is no universal console command format. Yes, yes, the next time they write MVS they should do a single parser shared among all commands, but unfortunately they did not do it for this MVS. For MODIFY, the command I am most familiar with, EVERYTHING after the procname and so forth is passed to the application. I just verified this. For a test app I have, I entered /F procname,how now brown cow And verified that what the application received in the CIB was HOW NOW BROWN COW What a given application might choose to do with that is entirely up to that application, of course. No MVS-generic documentation is possible. (Other than "your results may vary.") Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Paul Gilmartin Sent: Monday, July 11, 2022 8:00 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? On Mon, 11 Jul 2022 13:42:07 +, Peter Relson wrote: >Shmuel write >> A space in an operator command is the separator between operand and comment. > >"Can be", not "is". It depends on the command. > Is this clearly documented for each command? Does the doc cover the case of passing a string containing a blank as a command operand? "Don't do that!" is not a satisfactory answer. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
On Mon, 11 Jul 2022 11:52:40 +, Seymour J Metz wrote: >ObNit Why don't you want to quoute the stem name? The statement address SDSF >"ISFSLASH (mycmd.) (WAIT)" will work regardless of whether you give mycomd. a >default value. > The flaw occurs in the User's Guide. RCF submitted. Another in progress about an error in the syntax diagram. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
On Mon, 11 Jul 2022 13:42:07 +, Peter Relson wrote: >Shmuel write >> A space in an operator command is the separator between operand and comment. > >"Can be", not "is". It depends on the command. > Is this clearly documented for each command? Does the doc cover the case of passing a string containing a blank as a command operand? "Don't do that!" is not a satisfactory answer. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
Shmuel write > A space in an operator command is the separator between operand and comment. "Can be", not "is". It depends on the command. Peter Relson z/OS Core Technology Design -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
On Mon, 11 Jul 2022 12:29:15 +, Rob Scott wrote: >True - however I think the original author of the exec was alternating between >using the stem form and a variable replacement form. > How does it behave with SIGNAL ON NOVALUE in effect? How does it behave with MYCMD.='Preseet' in effect? >For my sins, this was cut+paste from a REXX PDS that we have for unit testing. > Has it been tested under both those condidions? I suppose it's OK as long as you don't expose it in end user documentation. (Or post it to a public forum.) >From: Seymour J Metz >Sent: 11 July 2022 12:53 > >ObNit Why don't you want to quoute the stem name? The statement address SDSF >"ISFSLASH (mycmd.) (WAIT)" will work regardless of whether you give mycomd. a >default value. > If not quoted, it depends on the value assigned to the stem. > >From: Rob Scott >Sent: Monday, July 11, 2022 3:38 AM > >For what it is worth, SDSF REXX API already accepts an alternate form of input >for the ISFSLASH verb where you can pass the name of a stem variable that >holds one or more z/OS operator commands. > >For example : > >/* REXX */ >x=ISFCALLS("ON") >ISFDELAY = 3 >mycmd.0 = 2 >mycmd.1 = "D A,L" >mycmd.2 = "D T" >address SDSF "ISFSLASH ("mycmd.") (WAIT)" >do respindex = 1 to ISFULOG.0 >say ISFULOG.respindex >end >exit -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
True - however I think the original author of the exec was alternating between using the stem form and a variable replacement form. For my sins, this was cut+paste from a REXX PDS that we have for unit testing. Rob From: IBM Mainframe Discussion List On Behalf Of Seymour J Metz Sent: 11 July 2022 12:53 To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? EXTERNAL EMAIL ObNit Why don't you want to quoute the stem name? The statement address SDSF "ISFSLASH (mycmd.) (WAIT)" will work regardless of whether you give mycomd. a default value. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3<http://mason.gmu.edu/~smetz3> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Rob Scott [rsc...@rocketsoftware.com] Sent: Monday, July 11, 2022 3:38 AM To: IBM-MAIN@LISTSERV.UA.EDU<mailto:IBM-MAIN@LISTSERV.UA.EDU> Subject: Re: How do I issue a command with a blank in it? For what it is worth, SDSF REXX API already accepts an alternate form of input for the ISFSLASH verb where you can pass the name of a stem variable that holds one or more z/OS operator commands. For example : /* REXX */ x=ISFCALLS("ON") ISFDELAY = 3 mycmd.0 = 2 mycmd.1 = "D A,L" mycmd.2 = "D T" address SDSF "ISFSLASH ("mycmd.") (WAIT)" do respindex = 1 to ISFULOG.0 say ISFULOG.respindex end exit Rob Scott Rocket Software -Original Message- From: IBM Mainframe Discussion List mailto:IBM-MAIN@LISTSERV.UA.EDU>> On Behalf Of Paul Gilmartin Sent: 10 July 2022 18:19 To: IBM-MAIN@LISTSERV.UA.EDU<mailto:IBM-MAIN@LISTSERV.UA.EDU> Subject: Re: How do I issue a command with a blank in it? EXTERNAL EMAIL On Sun, 10 Jul 2022 11:51:29 -0400, David Spiegel wrote: >Hi Gil, >You said: "..as XEDIT and "sed" do ..." >IIRC, TSO Edit should be included in this list. > Not in my list. On Sun, 10 Jul 2022 16:06:18 +, Seymour J Metz wrote: >A space in an operator command is the separator between operand and comment. >That means that space has to be treated differently from other characters. >What the RFE would ask for is to suspend that special treatment for spaces >within framiong characters. > Within an apostrophe-framed string the special treatment of numerous characters such as comma, parentheses, and the apostrophe itself is suspended, perhaps using TRT. It should be simple to add to the list. >I don't know how difficult it would be to change MGCR to allow, e.g., /text/, >as an alternative to 'text'. > I was focusing more on the SDSF API than on MGCR. But both may need changes, for similar reasons: SDSF to allow an arbitrary string as an operator command; MGCR tp allow an arbitrary string as a parameter value. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu<mailto:lists...@listserv.ua.edu> with the message: INFO IBM-MAIN Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ Main Office Toll Free Number: +1 855.577.4323 Contact Customer Support: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmy.rocketsoftware.com%2FRocketCommunity%2FRCEmailSupport&data=05%7C01%7Csmetz3%40gmu.edu%7Cb9093384306b44b6369b08da63106e95%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637931219486552276%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=aNovhepzOOFX9oFnENhA8ANbaN6vrx6XxGNI8YYSrkA%3D&reserved=0<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmy.rocketsoftware.com%2FRocketCommunity%2FRCEmailSupport&data=05%7C01%7Csmetz3%40gmu.edu%7Cb9093384306b44b6369b08da63106e95%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637931219486552276%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=aNovhepzOOFX9oFnENhA8ANbaN6vrx6XxGNI8YYSrkA%3D&reserved=0> Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rocketsoftware.com%2Fmanage-your-email-preferences&data=05%7C01%7Csmetz3%40gmu.edu%7Cb9093384306b44b6369b08da63106e95%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637931219486552276%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=c7eC9P36It97xMVm2b5pLCJAZWC%2FA4plj4Ssof%2BwQP0%3D&reserved=0<https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rocketsoftware.com%2Fmanage-your-email-preferences&data=05%7C01%7Csmetz3%40gmu.edu%7Cb9093384306b44b6369b08da63106e95%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637
Re: How do I issue a command with a blank in it?
ObNit Why don't you want to quoute the stem name? The statement address SDSF "ISFSLASH (mycmd.) (WAIT)" will work regardless of whether you give mycomd. a default value. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Rob Scott [rsc...@rocketsoftware.com] Sent: Monday, July 11, 2022 3:38 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? For what it is worth, SDSF REXX API already accepts an alternate form of input for the ISFSLASH verb where you can pass the name of a stem variable that holds one or more z/OS operator commands. For example : /* REXX */ x=ISFCALLS("ON") ISFDELAY = 3 mycmd.0 = 2 mycmd.1 = "D A,L" mycmd.2 = "D T" address SDSF "ISFSLASH ("mycmd.") (WAIT)" do respindex = 1 to ISFULOG.0 say ISFULOG.respindex end exit Rob Scott Rocket Software -Original Message- From: IBM Mainframe Discussion List On Behalf Of Paul Gilmartin Sent: 10 July 2022 18:19 To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? EXTERNAL EMAIL On Sun, 10 Jul 2022 11:51:29 -0400, David Spiegel wrote: >Hi Gil, >You said: "..as XEDIT and "sed" do ..." >IIRC, TSO Edit should be included in this list. > Not in my list. On Sun, 10 Jul 2022 16:06:18 +, Seymour J Metz wrote: >A space in an operator command is the separator between operand and comment. >That means that space has to be treated differently from other characters. >What the RFE would ask for is to suspend that special treatment for spaces >within framiong characters. > Within an apostrophe-framed string the special treatment of numerous characters such as comma, parentheses, and the apostrophe itself is suspended, perhaps using TRT. It should be simple to add to the list. >I don't know how difficult it would be to change MGCR to allow, e.g., /text/, >as an alternative to 'text'. > I was focusing more on the SDSF API than on MGCR. But both may need changes, for similar reasons: SDSF to allow an arbitrary string as an operator command; MGCR tp allow an arbitrary string as a parameter value. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ Main Office Toll Free Number: +1 855.577.4323 Contact Customer Support: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmy.rocketsoftware.com%2FRocketCommunity%2FRCEmailSupport&data=05%7C01%7Csmetz3%40gmu.edu%7Cb9093384306b44b6369b08da63106e95%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637931219486552276%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=aNovhepzOOFX9oFnENhA8ANbaN6vrx6XxGNI8YYSrkA%3D&reserved=0 Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rocketsoftware.com%2Fmanage-your-email-preferences&data=05%7C01%7Csmetz3%40gmu.edu%7Cb9093384306b44b6369b08da63106e95%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637931219486552276%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=c7eC9P36It97xMVm2b5pLCJAZWC%2FA4plj4Ssof%2BwQP0%3D&reserved=0 Privacy Policy - https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rocketsoftware.com%2Fcompany%2Flegal%2Fprivacy-policy&data=05%7C01%7Csmetz3%40gmu.edu%7Cb9093384306b44b6369b08da63106e95%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637931219486552276%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=zpN4t7STskqcohMreMgA8vzaGq%2BD%2FjGGO6n%2Bs6r4yUI%3D&reserved=0 This communication and any attachments may contain confidential information of Rocket Software, Inc. All unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please notify Rocket Software immediately and destroy all copies of this communication. Thank you. -- 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: How do I issue a command with a blank in it?
For what it is worth, SDSF REXX API already accepts an alternate form of input for the ISFSLASH verb where you can pass the name of a stem variable that holds one or more z/OS operator commands. For example : /* REXX */ x=ISFCALLS("ON") ISFDELAY = 3 mycmd.0 = 2 mycmd.1 = "D A,L" mycmd.2 = "D T" address SDSF "ISFSLASH ("mycmd.") (WAIT)" do respindex = 1 to ISFULOG.0 say ISFULOG.respindex end exit Rob Scott Rocket Software -Original Message- From: IBM Mainframe Discussion List On Behalf Of Paul Gilmartin Sent: 10 July 2022 18:19 To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? EXTERNAL EMAIL On Sun, 10 Jul 2022 11:51:29 -0400, David Spiegel wrote: >Hi Gil, >You said: "..as XEDIT and "sed" do ..." >IIRC, TSO Edit should be included in this list. > Not in my list. On Sun, 10 Jul 2022 16:06:18 +, Seymour J Metz wrote: >A space in an operator command is the separator between operand and comment. >That means that space has to be treated differently from other characters. >What the RFE would ask for is to suspend that special treatment for spaces >within framiong characters. > Within an apostrophe-framed string the special treatment of numerous characters such as comma, parentheses, and the apostrophe itself is suspended, perhaps using TRT. It should be simple to add to the list. >I don't know how difficult it would be to change MGCR to allow, e.g., /text/, >as an alternative to 'text'. > I was focusing more on the SDSF API than on MGCR. But both may need changes, for similar reasons: SDSF to allow an arbitrary string as an operator command; MGCR tp allow an arbitrary string as a parameter value. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ Main Office Toll Free Number: +1 855.577.4323 Contact Customer Support: https://my.rocketsoftware.com/RocketCommunity/RCEmailSupport Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - http://www.rocketsoftware.com/manage-your-email-preferences Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy This communication and any attachments may contain confidential information of Rocket Software, Inc. All unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please notify Rocket Software immediately and destroy all copies of this communication. Thank you. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
On Sun, 10 Jul 2022 11:51:29 -0400, David Spiegel wrote: >Hi Gil, >You said: "..as XEDIT and "sed" do ..." >IIRC, TSO Edit should be included in this list. > Not in my list. On Sun, 10 Jul 2022 16:06:18 +, Seymour J Metz wrote: >A space in an operator command is the separator between operand and comment. >That means that space has to be treated differently from other characters. >What the RFE would ask for is to suspend that special treatment for spaces >within framiong characters. > Within an apostrophe-framed string the special treatment of numerous characters such as comma, parentheses, and the apostrophe itself is suspended, perhaps using TRT. It should be simple to add to the list. >I don't know how difficult it would be to change MGCR to allow, e.g., /text/, >as an alternative to 'text'. > I was focusing more on the SDSF API than on MGCR. But both may need changes, for similar reasons: SDSF to allow an arbitrary string as an operator command; MGCR tp allow an arbitrary string as a parameter value. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
A space in an operator command is the separator between operand and comment. That means that space has to be treated differently from other characters. What the RFE would ask for is to suspend that special treatment for spaces within framiong characters. I don't know how difficult it would be to change MGCR to allow, e.g., /text/, as an alternative to 'text'. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Paul Gilmartin [042bfe9c879d-dmarc-requ...@listserv.ua.edu] Sent: Sunday, July 10, 2022 11:31 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? On Sun, 10 Jul 2022 13:11:17 +, Seymour J Metz wrote: >... > if someone were able to do an RFE with a compelling business case to allow > embedded spaces within all quoted text. > Why should that be hard? It's simply a matter of *not* treating as an exception. >... It would also be nice if they could justify allowing quotes as an > alternative framing character to apostrophes. > Or, as XEDIT and "sed" do, allowing the command itself to imply the framing character from a very large set such as all special characters. >I like the suggestion of having SDSF support (name) in the REXX API. > The hard part would be selecting a lead-in that doesn't otherwise exist in SDSF commands. It restricts the choice of scripting language to one that supports IRXEXCOM. It may be reasonably easy. In CMS I once wrote glue code to interface SQL/DS to Mainsail's scriptable debugger. -- gil -- 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: How do I issue a command with a blank in it?
Hi Gil, You said: "..as XEDIT and "sed" do ..." IIRC, TSO Edit should be included in this list. Regards, David On 2022-07-10 11:31, Paul Gilmartin wrote: On Sun, 10 Jul 2022 13:11:17 +, Seymour J Metz wrote: ... if someone were able to do an RFE with a compelling business case to allow embedded spaces within all quoted text. Why should that be hard? It's simply a matter of *not* treating as an exception. ... It would also be nice if they could justify allowing quotes as an alternative framing character to apostrophes. Or, as XEDIT and "sed" do, allowing the command itself to imply the framing character from a very large set such as all special characters. I like the suggestion of having SDSF support (name) in the REXX API. The hard part would be selecting a lead-in that doesn't otherwise exist in SDSF commands. It restricts the choice of scripting language to one that supports IRXEXCOM. It may be reasonably easy. In CMS I once wrote glue code to interface SQL/DS to Mainsail's scriptable debugger. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
On Sun, 10 Jul 2022 13:11:17 +, Seymour J Metz wrote: >... > if someone were able to do an RFE with a compelling business case to allow > embedded spaces within all quoted text. > Why should that be hard? It's simply a matter of *not* treating as an exception. >... It would also be nice if they could justify allowing quotes as an > alternative framing character to apostrophes. > Or, as XEDIT and "sed" do, allowing the command itself to imply the framing character from a very large set such as all special characters. >I like the suggestion of having SDSF support (name) in the REXX API. > The hard part would be selecting a lead-in that doesn't otherwise exist in SDSF commands. It restricts the choice of scripting language to one that supports IRXEXCOM. It may be reasonably easy. In CMS I once wrote glue code to interface SQL/DS to Mainsail's scriptable debugger. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
Well, MODIFY is handled entirely by MGCR inside the Communication Task, while START is also processed by the Master Scheduler. I'm not sure at what point in the processing the fourth START parameter goes into the START CIB. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Charles Mills [charl...@mcn.org] Sent: Friday, July 8, 2022 1:45 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? As does MODIFY, which I think of as very analogous to START, since the data ends up in more or less the same place. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Seymour J Metz Sent: Friday, July 8, 2022 10:24 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? I had assumed that START would accept spaces as long as they are framed in apostrophes, but the OS/360 documentation only mentions parentheses. I've submitted an RCF, citing REPLY and SEND as commands that definitely accept embedded spaces. -- 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: How do I issue a command with a blank in it?
My primary concern was to not leave newbies guessing, although I would certainly be pleased if someone were able to do an RFE with a compelling business case to allow embedded spaces within all quoted text. It would also be nice if they could justify allowing quotes as an alternative framing character to apostrophes. I like the suggestion of having SDSF support (name) in the REXX API. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Paul Gilmartin [042bfe9c879d-dmarc-requ...@listserv.ua.edu] Sent: Friday, July 8, 2022 2:27 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? On Fri, 8 Jul 2022 17:23:53 +, Seymour J Metz wrote: >I had assumed that START would accept spaces as long as they are framed in >apostrophes, but the OS/360 documentation only mentions parentheses. I've >submitted an RCF, citing REPLY and SEND as commands that definitely accept >embedded spaces. > If RCF doesn't provide an effective resolution (i.e. *not* "You can't do that!"), the next step is an RFE on Operator Commands. No avail to the command line user, but the SDSF Rexx API should provide a scheme akin to SYSCALL's "(variable_name)" (you corrected me on that lately) to use IRXEXCOM to access an arbitrary string not subject to parsing by Rexx. -- gil -- 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: How do I issue a command with a blank in it
The modify command with quotes gives it as typed on the console ( including the quotes) Without quotes it is upper cased Colin -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
On Sat, 9 Jul 2022 12:58:35 +, Peter Relson wrote: > >... If you want my guess (without trying to figure out if true or not), >support for single quotation marks came later, was done by someone who didn't >know about the 4th positional parameter who didn't notice in the doc update >that there were two cases that this doc update applies to (even though the >code update covered only one). > "didn't know ... though the code update covered only one" sounds like a case for an RFE to fix the omission of the 4th parameter. A responsible design would have employed a reusable lexical analyzer so a code update would have applied to all parameters alike. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
Charles M wrote As does MODIFY, which I think of as very analogous to START, since the data ends up in more or less the same place. In implementation, MODIFY is nothing like START (because of what parsing is done by the system of the command itself). Each individual modify "owner" parses according to whatever rules they have chosen (and, one hopes, documented). The system's parsing responsibility largely ends after determining the "name". The system passes whatever you typed (possibly morphed to upper-case). I'm not sure just when the upper-casing is done (it might even be done before anything even attempts to analyze what the command is). Charles M wrote parameters Program parameters passed to the started program. This might be a list in parentheses or a string in single quotation marks. That is the part I'm referring to (it is under "Starting a system task from a console"). It is incorrect for the 4th positional parameter. It is correct for PARM= . We will update to make that clear. If you want my guess (without trying to figure out if true or not), support for single quotation marks came later, was done by someone who didn't know about the 4th positional parameter who didn't notice in the doc update that there were two cases that this doc update applies to (even though the code update covered only one). Bill G wrote On this page of the z/OS MVS System Commands manual, under "operands" it says "no embedded blanks". It refers to commands in general, not just the "start" command. This shows the danger of an incomplete reference without necessary context. This is within a section "Typical format" and that section starts with "Most system commands". Yes, this is indeed the typical format. It is not the only format. It might be close to correct to think of this as the default format, or to think of it as "this, unless the specific command documents otherwise". There are commands which happily accept embedded blanks (typically, those do not require separation of parameters by a comma) and for which comments are delimited by /*...*/. Peter Relson z/OS Core Technology Design -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
The $VS JES command requires a string that when parsed for double quotes to single quotes ('''' -> '') is a valid MVS command. The proper nesting of duplicated quotes can be tricky > -Original Message- > From: IBM Mainframe Discussion List On > Behalf Of Rob Schramm > Sent: Friday, July 08, 2022 2:04 PM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: How do I issue a command with a blank in it? > > [EXTERNAL EMAIL] DO NOT CLICK links or attachments unless you recognize > the sender and know the content is safe. > > Here is an example of a command with a space. > > F CICS,CEMT PER,SHUT > > Rob > > On Fri, Jul 8, 2022 at 3:28 PM Tony Harminc wrote: > > > On Fri, 8 Jul 2022 at 13:03, Seymour J Metz wrote: > > > > > > Time for an RCF; embedded blanks are bog common in, e.g., SEND. > > > > Though those on SEND must be within a quoted string. Blanks otherwise > > are highly significant. Many's the poor person who's conflated the TSO > > SEND command with console SEND, and entered on the console/SDSF > > something like > > > > send 'Lunch at the usual place today?' user(fred) > > > > and found it's gone out to all logged on TSO users. > > > > But the DUMP command accepts an unquoted but parenthesized string > > containing blanks: > > > > DUMP COMM=(A TEST DUMP) > > *05 IEE094D SPECIFY OPERAND(S) FOR DUMP COMMAND > > > > but > > > > DUMP COMM=(NO CLOSING PAREN ON THIS ONE > > IEE307I DUMP DELIMITER ERROR > > IEE711I SYSTEM DUMP NOT TAKEN. DUMP SPECIFICATION NOT VALID > > > > These were both issued from SDSF, btw. It didn't complain about either of > > them. > > > > Tony H. > > > > -- > > 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: How do I issue a command with a blank in it?
Here is an example of a command with a space. F CICS,CEMT PER,SHUT Rob On Fri, Jul 8, 2022 at 3:28 PM Tony Harminc wrote: > On Fri, 8 Jul 2022 at 13:03, Seymour J Metz wrote: > > > > Time for an RCF; embedded blanks are bog common in, e.g., SEND. > > Though those on SEND must be within a quoted string. Blanks otherwise > are highly significant. Many's the poor person who's conflated the TSO > SEND command with console SEND, and entered on the console/SDSF > something like > > send 'Lunch at the usual place today?' user(fred) > > and found it's gone out to all logged on TSO users. > > But the DUMP command accepts an unquoted but parenthesized string > containing blanks: > > DUMP COMM=(A TEST DUMP) > *05 IEE094D SPECIFY OPERAND(S) FOR DUMP COMMAND > > but > > DUMP COMM=(NO CLOSING PAREN ON THIS ONE > IEE307I DUMP DELIMITER ERROR > IEE711I SYSTEM DUMP NOT TAKEN. DUMP SPECIFICATION NOT VALID > > These were both issued from SDSF, btw. It didn't complain about either of > them. > > Tony H. > > -- > 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: How do I issue a command with a blank in it?
On Fri, 8 Jul 2022 at 13:03, Seymour J Metz wrote: > > Time for an RCF; embedded blanks are bog common in, e.g., SEND. Though those on SEND must be within a quoted string. Blanks otherwise are highly significant. Many's the poor person who's conflated the TSO SEND command with console SEND, and entered on the console/SDSF something like send 'Lunch at the usual place today?' user(fred) and found it's gone out to all logged on TSO users. But the DUMP command accepts an unquoted but parenthesized string containing blanks: DUMP COMM=(A TEST DUMP) *05 IEE094D SPECIFY OPERAND(S) FOR DUMP COMMAND but DUMP COMM=(NO CLOSING PAREN ON THIS ONE IEE307I DUMP DELIMITER ERROR IEE711I SYSTEM DUMP NOT TAKEN. DUMP SPECIFICATION NOT VALID These were both issued from SDSF, btw. It didn't complain about either of them. Tony H. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
On Fri, 8 Jul 2022 17:23:53 +, Seymour J Metz wrote: >I had assumed that START would accept spaces as long as they are framed in >apostrophes, but the OS/360 documentation only mentions parentheses. I've >submitted an RCF, citing REPLY and SEND as commands that definitely accept >embedded spaces. > If RCF doesn't provide an effective resolution (i.e. *not* "You can't do that!"), the next step is an RFE on Operator Commands. No avail to the command line user, but the SDSF Rexx API should provide a scheme akin to SYSCALL's "(variable_name)" (you corrected me on that lately) to use IRXEXCOM to access an arbitrary string not subject to parsing by Rexx. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
In the MVS System Commands manual I see parameters Program parameters passed to the started program. This might be a list in parentheses or a string in single quotation marks. It does not specifically mention blanks, but it does mention quotation marks. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Peter Relson Sent: Friday, July 8, 2022 9:29 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? You generalize at your own risk. The subject of the post is very general, and the processing likely differs across commands. And might even vary depending on how you issue the command (e.g., operator console, SDSF, mgcre). This might be a "how do I issue any command with a blank in it, using SDSF" question. This might be a "how do I issue a start command with a blank in it, using SDSF" question. This might be a "how do I issue a start command with the parameter having a blank" question. Many system commands do not terminate upon finding blank. I'd expect that SDSF would not terminate any input that is provided but would provide all the input text to the system (including comments). I'll assume that this is really just a question about "start" and that SDSF is not getting in the way. Regarding the initial post, most programs would prefer not having to use QEDIT to access the parameter data (that's how you access the parameter specification via the 4th positional parameter of Start). I was thinking that a parameter of (COLINs,Data) might have sort of worked but that uses the commas, not blanks in between, and would upper-case both so passing COLINS,DATA to the program (to be extracted by QEDIT. If your proc provides parameters to the program via PARM= this all would work as you desire. It appears that the parsing for the 4th positional parameter of the START command does not support quotes as special characters. That is not documented but can/should be. And maybe it should be enhanced to support them. Do a lot of you use the START command with the 4th positional parameter? I'll admit that I didn't even know that you could do this. Peter Relson z/OS Core Technology Design -- 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: How do I issue a command with a blank in it?
As does MODIFY, which I think of as very analogous to START, since the data ends up in more or less the same place. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Seymour J Metz Sent: Friday, July 8, 2022 10:24 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? I had assumed that START would accept spaces as long as they are framed in apostrophes, but the OS/360 documentation only mentions parentheses. I've submitted an RCF, citing REPLY and SEND as commands that definitely accept embedded spaces. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
I had assumed that START would accept spaces as long as they are framed in apostrophes, but the OS/360 documentation only mentions parentheses. I've submitted an RCF, citing REPLY and SEND as commands that definitely accept embedded spaces. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Colin Paice [colinpai...@gmail.com] Sent: Friday, July 8, 2022 1:08 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? Thanks to everyone who answered. I'll raise the RCF. If I issue the start... command on the console (non sdsf) it loses the stuff after the blank. If I use f PYT,'COLIN D3ta' it is fine. I was doing it as a unit test, and I do not think most people know this capability exists. Colin On Fri, 8 Jul 2022 at 18:03, Seymour J Metz wrote: > Time for an RCF; embedded blanks are bog common in, e.g., SEND. > > > -- > Shmuel (Seymour J.) Metz > http://mason.gmu.edu/~smetz3 > > > From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf > of Bill Godfrey [bgodfrey...@gmail.com] > Sent: Friday, July 8, 2022 12:28 PM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: How do I issue a command with a blank in it? > > On this page of the z/OS MVS System Commands manual, under "operands" it > says "no embedded blanks". > It refers to commands in general, not just the "start" command. > > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.com%2Fdocs%2Fen%2Fzos%2F2.5.0%3Ftopic%3Dformats-typical-format&data=05%7C01%7Csmetz3%40gmu.edu%7Cdcef3e3e3ad444ee16d308da61048926%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637928969363870418%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=YVKRjLboCL03ylXovMwjwpl1mDyb6I%2FZx6frqMFWz0M%3D&reserved=0 > > -- > 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 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
Thanks to everyone who answered. I'll raise the RCF. If I issue the start... command on the console (non sdsf) it loses the stuff after the blank. If I use f PYT,'COLIN D3ta' it is fine. I was doing it as a unit test, and I do not think most people know this capability exists. Colin On Fri, 8 Jul 2022 at 18:03, Seymour J Metz wrote: > Time for an RCF; embedded blanks are bog common in, e.g., SEND. > > > -- > Shmuel (Seymour J.) Metz > http://mason.gmu.edu/~smetz3 > > > From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf > of Bill Godfrey [bgodfrey...@gmail.com] > Sent: Friday, July 8, 2022 12:28 PM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: How do I issue a command with a blank in it? > > On this page of the z/OS MVS System Commands manual, under "operands" it > says "no embedded blanks". > It refers to commands in general, not just the "start" command. > > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.com%2Fdocs%2Fen%2Fzos%2F2.5.0%3Ftopic%3Dformats-typical-format&data=05%7C01%7Csmetz3%40gmu.edu%7C8b58d469d0654637b49a08da60fee067%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637928945066943143%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=PYT6Utvm%2BwLS3ovEupVsL6Arv5Psg0EE0FNRxy2Lwek%3D&reserved=0 > > -- > 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: How do I issue a command with a blank in it?
Time for an RCF; embedded blanks are bog common in, e.g., SEND. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Bill Godfrey [bgodfrey...@gmail.com] Sent: Friday, July 8, 2022 12:28 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? On this page of the z/OS MVS System Commands manual, under "operands" it says "no embedded blanks". It refers to commands in general, not just the "start" command. https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.com%2Fdocs%2Fen%2Fzos%2F2.5.0%3Ftopic%3Dformats-typical-format&data=05%7C01%7Csmetz3%40gmu.edu%7C8b58d469d0654637b49a08da60fee067%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637928945066943143%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=PYT6Utvm%2BwLS3ovEupVsL6Arv5Psg0EE0FNRxy2Lwek%3D&reserved=0 -- 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: How do I issue a command with a blank in it?
The fourth positional parameter of START has been around since the early days of OS/360; the documentation mentions parentheses but not apostrophes as framing characters. Separately, what are the SDSF rules for / when the command operand contains a space, e.g., to enter the command F FOO,'BAR BAZ', is it / F FOO,'BAR BAZ', or / 'F FOO,''BAR BAZ'''? -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Peter Relson [rel...@us.ibm.com] Sent: Friday, July 8, 2022 12:28 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? You generalize at your own risk. The subject of the post is very general, and the processing likely differs across commands. And might even vary depending on how you issue the command (e.g., operator console, SDSF, mgcre). This might be a "how do I issue any command with a blank in it, using SDSF" question. This might be a "how do I issue a start command with a blank in it, using SDSF" question. This might be a "how do I issue a start command with the parameter having a blank" question. Many system commands do not terminate upon finding blank. I'd expect that SDSF would not terminate any input that is provided but would provide all the input text to the system (including comments). I'll assume that this is really just a question about "start" and that SDSF is not getting in the way. Regarding the initial post, most programs would prefer not having to use QEDIT to access the parameter data (that's how you access the parameter specification via the 4th positional parameter of Start). I was thinking that a parameter of (COLINs,Data) might have sort of worked but that uses the commas, not blanks in between, and would upper-case both so passing COLINS,DATA to the program (to be extracted by QEDIT. If your proc provides parameters to the program via PARM= this all would work as you desire. It appears that the parsing for the 4th positional parameter of the START command does not support quotes as special characters. That is not documented but can/should be. And maybe it should be enhanced to support them. Do a lot of you use the START command with the 4th positional parameter? I'll admit that I didn't even know that you could do this. Peter Relson z/OS Core Technology Design -- 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: How do I issue a command with a blank in it?
You generalize at your own risk. The subject of the post is very general, and the processing likely differs across commands. And might even vary depending on how you issue the command (e.g., operator console, SDSF, mgcre). This might be a "how do I issue any command with a blank in it, using SDSF" question. This might be a "how do I issue a start command with a blank in it, using SDSF" question. This might be a "how do I issue a start command with the parameter having a blank" question. Many system commands do not terminate upon finding blank. I'd expect that SDSF would not terminate any input that is provided but would provide all the input text to the system (including comments). I'll assume that this is really just a question about "start" and that SDSF is not getting in the way. Regarding the initial post, most programs would prefer not having to use QEDIT to access the parameter data (that's how you access the parameter specification via the 4th positional parameter of Start). I was thinking that a parameter of (COLINs,Data) might have sort of worked but that uses the commas, not blanks in between, and would upper-case both so passing COLINS,DATA to the program (to be extracted by QEDIT. If your proc provides parameters to the program via PARM= this all would work as you desire. It appears that the parsing for the 4th positional parameter of the START command does not support quotes as special characters. That is not documented but can/should be. And maybe it should be enhanced to support them. Do a lot of you use the START command with the 4th positional parameter? I'll admit that I didn't even know that you could do this. Peter Relson z/OS Core Technology Design -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
On this page of the z/OS MVS System Commands manual, under "operands" it says "no embedded blanks". It refers to commands in general, not just the "start" command. https://www.ibm.com/docs/en/zos/2.5.0?topic=formats-typical-format -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
On Thu, 7 Jul 2022 08:17:11 -0700, Charles Mills wrote: > >Yes, the blank is apparently a factor (as you note). But I think it has to be >more than just a simple naïve scan (TRT or otherwise; TRT is just a software >loop written in micro- or millicode) for a blank. > I'll assume (and OCO won't dispute me) that there are several tables, selected by parse state, and either the designer never expected a blank in that particular operand or a coder chose the wrong table. >If it is a bug IBM is not going to fix it in time to get his task started, so >a workaround is the key. > But if it's not reported it remains a pitfall for the next guy. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
I hear you. If it were an app written by some guy down the hall I would totally agree with you. But blanks in START command parameters have to be pretty commonly used, and the syntax has not changed in decades, so I think it must be something more subtle than that, or in addition to that. Yes, the blank is apparently a factor (as you note). But I think it has to be more than just a simple naïve scan (TRT or otherwise; TRT is just a software loop written in micro- or millicode) for a blank. If it is a bug IBM is not going to fix it in time to get his task started, so a workaround is the key. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Paul Gilmartin Sent: Thursday, July 7, 2022 7:34 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How do I issue a command with a blank in it? On Thu, 7 Jul 2022 06:58:47 -0700, Charles Mills wrote: > >Maybe too many commas? >... Too many blanks. The OP reports that the error does not occur if he changes one blank to an underscore. I deem this the malign progeny of TRT. The designer knew (correctly) that every command ends with a blank so reasoned (fallaciously) that any blank ends a command. (Aristotle knew better.) And believed that using a TRT to find the first blank would avoid the expense of a left-to-right lexical parse. It doesn't; it actually adds the cost of the TRT. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
On Thu, 7 Jul 2022 06:58:47 -0700, Charles Mills wrote: > >Maybe too many commas? >... Too many blanks. The OP reports that the error does not occur if he changes one blank to an underscore. I deem this the malign progeny of TRT. The designer knew (correctly) that every command ends with a blank so reasoned (fallaciously) that any blank ends a command. (Aristotle knew better.) And believed that using a TRT to find the first blank would avoid the expense of a left-to-right lexical parse. It doesn't; it actually adds the cost of the TRT. >-Original Message- >From: Colin Paice >Sent: Wednesday, July 6, 2022 3:47 AM >... >/s PYT,,,'COLINs Data',p=CONSNEW >... >It works fine with 'COLINS_DATA' -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How do I issue a command with a blank in it?
Parentheses are inappropriate; never appropriate for blanks -- you need quotes. Maybe too many commas? S membername[.identifier] [,[devicetype|[/]devnum][,volumeserial]] [,parameters] [,JOBNAME=jobname] [,JOBACCT=acct_info] [,SUB=subsystemname] [,REUSASID=YES] [,keyword=option[,keyword=option]...] The first two commas appear to be optional and go with their associated options. What happens if you omit them? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Colin Paice Sent: Wednesday, July 6, 2022 3:47 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: How do I issue a command with a blank in it? I've issued a command from SDSF with a blank it ,but it is not working properly. I issue /s PYT,,,'COLINs Data',p=CONSNEW and get on the system console IBMUSER 0290 S PYT,,,'COLINs Data',P=CONSNEW - p=CONSNEW is being ignored - I am trapping the command using QEDIT, and getting "COLINs." . hex(length 0007 7DC3D6D3 C9D5A21F COLINs. It works fine with 'COLINS_DATA' The doc says *parameters: Program parameters passed to the started program. This might be a list in parentheses or a string in single quotation marks. The documentation for the started program should state which of the following techniques the program supports:* Parenthesis do not work... I get S PYT,,,(COLINS DATA) IEE307I STARTDELIMITER ERROR what am I missing? Colin -- 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: How do I issue a command with a blank in it?
Try adding some apostrophes, e.g. $TA,T=12.08,'$VS,''D T''' works, but $TA,T=12.08,'$VS,D T' does not. On Wed, 6 Jul 2022 at 20:47, Colin Paice wrote: > I've issued a command from SDSF with a blank it ,but it is not working > properly. > I issue > /s PYT,,,'COLINs Data',p=CONSNEW > > and get on the system console > IBMUSER 0290 S PYT,,,'COLINs Data',P=CONSNEW > > >- p=CONSNEW is being ignored >- I am trapping the command using QEDIT, and getting "COLINs." . >hex(length 0007 7DC3D6D3 C9D5A21F COLINs. > > > It works fine with 'COLINS_DATA' > > The doc says > > *parameters: Program parameters passed to the started program. This might > be a list in parentheses or a string in single quotation marks. The > documentation for the started program should state which of the following > techniques the program supports:* > > Parenthesis do not work... I get > > S PYT,,,(COLINS DATA) > IEE307I STARTDELIMITER ERROR > > > what am I missing? > > Colin > > -- > 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: How do I issue a command with a blank in it?
On Wed, 6 Jul 2022 11:47:17 +0100, Colin Paice wrote: >I've issued a command from SDSF with a blank it ,but it is not working >properly. ... > >The doc says > Which doc? SDSF? System Commands? Other (specify)? >*parameters: Program parameters passed to the started program. This might >be a list in parentheses or a string in single quotation marks. ... > What happens if you issue the command with MGCR? What happens for "//STEP EXEC PGM=PYT,PARM='COLINs Data'"? Submit an SR. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN