Re: REXX Question

2023-01-18 Thread Bob Bridges
I have (though not recently) written both Help dialogues in ISPF and TSO Help 
files, for some of the utilities I created for my employers over the years.  
Not sure anyone but me ever used them, though.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Most people who have been to school have heard the master declare that this 
is the worst fifth form in all his experience: most people who have been to the 
university have heard their tutor sigh and observe that in his youth 
undergraduates used to read hard, very hard, much harder than they do now.  It 
seems to me that humanity has always been tottering on the edge of an abyss, 
perpetually looking back to happier generations, when people knew how to build, 
paint, and write, when children sat up at table, mute and never touching the 
back of their chairs. I view the present with distress, but not with despair.  
-Patrick O'Brian in an interview 1994 */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of Tom 
Brennan
Sent: Wednesday, January 18, 2023 10:59

This brings back old memories.  I clicked on the "text" link on your page and 
it comes up with what looks like a file formatted for the tso HELP command.  I 
barely remember the )F and other marks.

)F Function to check access to RACF resource

I don't think I've typed up a HELP member in 30 years.  I wrote some TSO 
commands of course, but well, you know, HELP comes later or more likely not at 
all.

--- On 1/18/2023 4:52 AM, Willy Jensen wrote:
> For asking RACF from a REXX, check RXSAFCHK at http://harders-jensen.com.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX Question

2023-01-18 Thread Tom Brennan

Oh no, please don't!  It's our history.

On 1/18/2023 10:10 AM, Willy Jensen wrote:

Yeah I know, I really should strip that from the web text.

--
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: REXX Question

2023-01-18 Thread Willy Jensen
Yeah I know, I really should strip that from the web text.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX Question

2023-01-18 Thread Carmen Vitullo
indeed, ever since Quick-ref provided TSO help also, I rarely use TSO 
HELP - I have created some user based help for site commands.


Carmen

On 1/18/2023 9:58 AM, Tom Brennan wrote:
This brings back old memories.  I clicked on the "text" link on your 
page and it comes up with what looks like a file formatted for the tso 
HELP command.  I barely remember the )F and other marks.


)F Function to check access to RACF resource

I don't think I've typed up a HELP member in 30 years.  I wrote some 
TSO commands of course, but well, you know, HELP comes later or more 
likely not at all.


On 1/18/2023 4:52 AM, Willy Jensen wrote:
For asking RACF from a REXX, check RXSAFCHK at 
http://harders-jensen.com.

--
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

--
Carmen

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX Question

2023-01-18 Thread Tom Brennan
This brings back old memories.  I clicked on the "text" link on your 
page and it comes up with what looks like a file formatted for the tso 
HELP command.  I barely remember the )F and other marks.


)F Function to check access to RACF resource

I don't think I've typed up a HELP member in 30 years.  I wrote some TSO 
commands of course, but well, you know, HELP comes later or more likely 
not at all.


On 1/18/2023 4:52 AM, Willy Jensen wrote:

For asking RACF from a REXX, check RXSAFCHK at http://harders-jensen.com.
--
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: REXX Question

2023-01-18 Thread Allan Staller
Classification: Confidential

Dee the RACROUTE macro. IIRC, the parameter is TEST(AUTH)?

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Farley, Peter
Sent: Tuesday, January 17, 2023 3:44 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX Question

[CAUTION: This Email is from outside the Organization. Unless you trust the 
sender, Don’t click links or open attachments as it may be a Phishing email, 
which can steal your Information and compromise your Computer.]

I don't know about Cameron, but I would be interested in a way to ask RACF (or 
TSS if possible) from Rexx whether I have read access to a DSN.

Is that possible for a non-authorized "ordinary" user, or is that road the kind 
that is normally blocked to prevent "insider snooping"?

If you posted here about it previously, can you pinpoint the date (or at least 
the year and month) so one could effectively search the IBM-MAIN archives?

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of Bob 
Bridges
Sent: Tuesday, January 17, 2023 4:35 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX Question

EXTERNAL EMAIL

If it works, great.  But since I was all primed to offer another kind of 
solution, I'm remembering an explanation I sent once about how to ask RACF (and 
I take it from your symptoms that you are running RACF) whether you have READ 
access to a particular dataset.  It seems to me it can be adapted to check 
whether you have UPDATE access.  It's more complicated than the below, but if 
you're interested

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* When I was ten, I read fairy tales in secret and would have been ashamed if 
I had been found doing so. Now that I am fifty I read them openly. When I 
became a man I put away childish things, including the fear of childishness and 
the desire to be very grown up.  -C.S. Lewis */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Cameron Conacher
Sent: Tuesday, January 17, 2023 15:41

Thank you.
This looks like just what I needed.
Appreciate the assistance.

---
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Tuesday, January 17, 2023 3:03 PM

Did you try CONTROL ERRORS RETURN?


From: Cameron Conacher
Sent: Tuesday, January 17, 2023 2:48 PM

I have some REXX statements that use LMCOPY to copy members from one library to 
another.
This is pretty straight forward stuff.
Recently, I ran into a situation where I was not authorized to access the 
output library.
And when the REXX ran, it ABENDed with a 913 error message.
My REXX checks the return code value from the LMCOPY, but apparently, the 
LMCOPY does not return. I can't seem to trap the not authorized error, and 
generate a polite message for the JOB.

After issuing the LMCOPY command, I check, and if the return code is not one of 
0, 8, or 12 I generate an error message.
On the other hand
if it is zero I generate a success message if it is 8 I generate a success 
message if it is 12 I generate a message indicating I did not replace the 
member in the target library because the member already existed and the REPLACE 
flag was not set.

The other return codes documented for LMCOPY are
16 = TRUNCATION Error
20 = Sever Error; unable to continue.

I was kind of expecting to see the LMCOPY return set as 20.
Is there something I can set to trap the 913 (Not Authorized error) ?
I can live with what I have. I was just looking to polish things up a little 
bit.

I wanted to send out a message that literally says "You do not have the 
authority to access Library . Please reach out to the Security team at... 
and have them authorize your RACF ID. Then restart this JOB at step If you 
have additional questions, please see ."

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN
::DISCLAIMER::

The contents of this e-mail and any attachment(s) are confidential and intended 
for the named recipient(s) only. E-mail transm

Re: REXX Question

2023-01-18 Thread Willy Jensen
For asking RACF from a REXX, check RXSAFCHK at http://harders-jensen.com.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX Question

2023-01-17 Thread Bob Bridges
I was pleased with the original email so I stashed it in a folder where I
keep useful explanations (sometimes mine, sometimes others').  It says here
I sent it 2013-02-23, it was to the TSO-REXX listserv and the subject line
was "sysdsn - dataset protected".  It was strictly about RACF; I'll give TSS
some thought.  A writer is never quite satisfied when rereading afterward,
so herewith a slight rewrite:

It's not true that ALL shops restrict the use of the RACF commands to the
RACF jocks, but I've been at some that do.  Personally, as a RACF jock
myself, I side with the other folks; there's nothing wrong with non-RACF
people attempting to check their access ahead of time.  But if your
installation has different ideas, all I can do is sigh sympathetically.

Still, IMO there's a good chance you'll be able to do it, using the LISTDSD
command.  (That's assuming you're a RACF shop, of course.)  LISTDSD is
abbreviated LD.  For the following discussion, remember that the purpose of
the LD command, from RACF's point of view, is not for you to ask "do I have
access to this dataset?" but for ~me~ to ask "please show me the RACF
profile protecting this dataset".  Still, you can use it to get your
information.

The syntax of the command is simple but there's a wrinkle to it.  RACF has
both discrete and generic profiles.  If you'll allow me to oversimplify a
bit, a generic profile is one with wildcard characters in it (perhaps
"SYS1.*"), and a discrete profile matches the exact DSN.  RACF always picks
the most exact profile to protect a given dataset; but you may not know
ahead of time whether that profile will be discrete or generic.

Here's the basic form of the LISTDSD command as it might look in a REXX
program:

  /* Let's say dsn="'HLQ.ISPF.ISPPLIB'" */
  call outtrap 'LD.'
  'LD DA('dsn')'
  call outtrap 'OFF'

(Note that the DSN follows TSO conventions, ie single quotes around it if it
doesn't start with your prefix.)  The wrinkle is this:  The command above
asks for RACF to display a discrete profile, and if the best match is a
generic profile RACF will claim it couldn't find a matching profile.  You
can get RACF to show you the most exact generic profile by adding the
GENERIC argument, like this:

  'LD DA('dsn') GEN'

But if the profile that protects the dataset is discrete, again RACF will
come back empty.

Now, RACF is always willing to show me, as a security admin, any profile
that protects any dataset, so I can always see who has what access.  But
most people can still try the command and get some information back.  Here's
what the manual says:  If you're not an admin, you can still get a response
if "You are on the profile's access list with at least READ authority".  In
other words, if the profile that protects this dataset lets you read the
dataset, then you'll get a profile listing from the LD command.  And if it
doesn't let you read it - I had to experiment a little to figure this out -
you can tell from the RC and the message you get back.

Here are the responses that I think your program needs to worry about:

RC=0, and LD. contains a listing:  The listed profile applies to the dataset
you named, but you don't need to look at it; its mere presence proves that
it grants you at least READ access to the dataset.  (But if you want to know
whether you have UPDATE access, see below.)

RC=4 and LD.1 contains message ICH35003I ("NO RACF DESCRIPTION FOUND
FOR..."):  You didn't specify the GENERIC argument and there was no discrete
profile, or you did specify GENERIC and there was no generic profile.

RC=4 and LD.1 contains message ICH35002I ("NOT AUTHORIZED TO LIST..."):
RACF found a profile matching your command, but you don't have READ access
to the dataset.

So I'd write the program to ask the question twice, like this:

  vr=AskRACF(dsn)
  if vr=4 then vr=AskRACF(dsn 'GEN')
  if vr=4 then /* the dataset is not protected; VERY unlikely */
  MyAccessAllowed = (vr=0)
  /* Now you can decide whether to try to read the DS. */

  AskRACF:
parse arg dsn gen
call outtrap 'LD.'
'LD DA('dsn')' gen
call outtrap 'OFF'
if rc=0 then return 0 /* access allowed */
if rc=4 & abbrev(ld.1,"ICH35002I") then return 8 /* not allowed */
if rc=4 & abbrev(ld.1,"ICH35003I") then return 4 /* can't tell */
/* if some other outcome, diagnose error here */

---

Ok, that's about READ access.  If you want to know whether you have UPDATE
access, it seems to me that you can still get there. 

1) If you don't have READ access then you don't have UPDATE access.  That's
a feature of RACF (one that is not shared by TSS and ACF2):  In RACF, the
greater access automatically implies that you also have the lesser access.

2) If you do have READ access, then you get back RC 0 and the profile will
be in the OUTTRAP results; you can then read it to see what access you have.
Keep in mind, though, that the access may be assigned not to your ID
specifically but to a group, so you may have to know what groups your ID h

Re: REXX Question

2023-01-17 Thread Jack Zukt
Hi,

A long, long time ago, in another century, I asked a colleague of mine to
write an assembler program to do just that. It resides on a LINKLIB PDS,
and it is not APF authorized. I have been using it ever since, without
recompiling, since OS/390 1.1 up to z/OS 4.2. (I Have not tried it on a
more recent z/OS).

It is used like this:
class="FACILITY"
profile="BPX.SUPERUSER"

parse value checkaut(class,profile),
with 1 rk1 3 rk2 5 rk3 7 .
if  (rk1=00 & rk2=20 &rk3>=0) then
do
say "you do not have that access"
end

RK1 and RK2 has to have those values (SAF standard return codes for
existing profiles). RK3 has the RACF level access, zero for none, four for
READ, etc.

If anyone is interested I can send you the source code.
Regards,
Jack

On Tue, 17 Jan 2023 at 21:44, Farley, Peter <
031df298a9da-dmarc-requ...@listserv.ua.edu> wrote:

> I don't know about Cameron, but I would be interested in a way to ask RACF
> (or TSS if possible) from Rexx whether I have read access to a DSN.
>
> Is that possible for a non-authorized "ordinary" user, or is that road the
> kind that is normally blocked to prevent "insider snooping"?
>
> If you posted here about it previously, can you pinpoint the date (or at
> least the year and month) so one could effectively search the IBM-MAIN
> archives?
>
> Peter
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Bob Bridges
> Sent: Tuesday, January 17, 2023 4:35 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: REXX Question
>
> EXTERNAL EMAIL
>
> If it works, great.  But since I was all primed to offer another kind of
> solution, I'm remembering an explanation I sent once about how to ask RACF
> (and I take it from your symptoms that you are running RACF) whether you
> have READ access to a particular dataset.  It seems to me it can be adapted
> to check whether you have UPDATE access.  It's more complicated than the
> below, but if you're interested
>
> ---
> Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313
>
> /* When I was ten, I read fairy tales in secret and would have been
> ashamed if I had been found doing so. Now that I am fifty I read them
> openly. When I became a man I put away childish things, including the fear
> of childishness and the desire to be very grown up.  -C.S. Lewis */
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Cameron Conacher
> Sent: Tuesday, January 17, 2023 15:41
>
> Thank you.
> This looks like just what I needed.
> Appreciate the assistance.
>
> ---
> From: IBM Mainframe Discussion List  On Behalf
> Of Seymour J Metz
> Sent: Tuesday, January 17, 2023 3:03 PM
>
> Did you try CONTROL ERRORS RETURN?
>
> 
> From: Cameron Conacher
> Sent: Tuesday, January 17, 2023 2:48 PM
>
> I have some REXX statements that use LMCOPY to copy members from one
> library to another.
> This is pretty straight forward stuff.
> Recently, I ran into a situation where I was not authorized to access the
> output library.
> And when the REXX ran, it ABENDed with a 913 error message.
> My REXX checks the return code value from the LMCOPY, but apparently, the
> LMCOPY does not return. I can't seem to trap the not authorized error, and
> generate a polite message for the JOB.
>
> After issuing the LMCOPY command, I check, and if the return code is not
> one of 0, 8, or 12 I generate an error message.
> On the other hand
> if it is zero I generate a success message if it is 8 I generate a success
> message if it is 12 I generate a message indicating I did not replace the
> member in the target library because the member already existed and the
> REPLACE flag was not set.
>
> The other return codes documented for LMCOPY are
> 16 = TRUNCATION Error
> 20 = Sever Error; unable to continue.
>
> I was kind of expecting to see the LMCOPY return set as 20.
> Is there something I can set to trap the 913 (Not Authorized error) ?
> I can live with what I have. I was just looking to polish things up a
> little bit.
>
> I wanted to send out a message that literally says "You do not have the
> authority to access Library . Please reach out to the Security team
> at... and have them authorize your RACF ID. Then restart this JOB at
> step If you have additional questions, please see ."
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email
> to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> This message and any attachments are intended only for the use of the

Re: REXX Question

2023-01-17 Thread Farley, Peter
I don't know about Cameron, but I would be interested in a way to ask RACF (or 
TSS if possible) from Rexx whether I have read access to a DSN.

Is that possible for a non-authorized "ordinary" user, or is that road the kind 
that is normally blocked to prevent "insider snooping"?

If you posted here about it previously, can you pinpoint the date (or at least 
the year and month) so one could effectively search the IBM-MAIN archives?

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of Bob 
Bridges
Sent: Tuesday, January 17, 2023 4:35 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX Question

EXTERNAL EMAIL

If it works, great.  But since I was all primed to offer another kind of 
solution, I'm remembering an explanation I sent once about how to ask RACF (and 
I take it from your symptoms that you are running RACF) whether you have READ 
access to a particular dataset.  It seems to me it can be adapted to check 
whether you have UPDATE access.  It's more complicated than the below, but if 
you're interested

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* When I was ten, I read fairy tales in secret and would have been ashamed if 
I had been found doing so. Now that I am fifty I read them openly. When I 
became a man I put away childish things, including the fear of childishness and 
the desire to be very grown up.  -C.S. Lewis */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Cameron Conacher
Sent: Tuesday, January 17, 2023 15:41

Thank you.
This looks like just what I needed.
Appreciate the assistance.

---
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Tuesday, January 17, 2023 3:03 PM

Did you try CONTROL ERRORS RETURN?


From: Cameron Conacher
Sent: Tuesday, January 17, 2023 2:48 PM

I have some REXX statements that use LMCOPY to copy members from one library to 
another.
This is pretty straight forward stuff.
Recently, I ran into a situation where I was not authorized to access the 
output library.
And when the REXX ran, it ABENDed with a 913 error message.
My REXX checks the return code value from the LMCOPY, but apparently, the 
LMCOPY does not return. I can't seem to trap the not authorized error, and 
generate a polite message for the JOB.

After issuing the LMCOPY command, I check, and if the return code is not one of 
0, 8, or 12 I generate an error message.
On the other hand
if it is zero I generate a success message if it is 8 I generate a success 
message if it is 12 I generate a message indicating I did not replace the 
member in the target library because the member already existed and the REPLACE 
flag was not set.

The other return codes documented for LMCOPY are
16 = TRUNCATION Error
20 = Sever Error; unable to continue.

I was kind of expecting to see the LMCOPY return set as 20.
Is there something I can set to trap the 913 (Not Authorized error) ?
I can live with what I have. I was just looking to polish things up a little 
bit.

I wanted to send out a message that literally says "You do not have the 
authority to access Library . Please reach out to the Security team at... 
and have them authorize your RACF ID. Then restart this JOB at step If you 
have additional questions, please see ."

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX Question

2023-01-17 Thread Cameron Conacher
Hello Bob,
I probably SHOULD probably read what you have and try to understand things.
If for no other reason than understanding.
I am certain I will see this again.

Thanks

…….Cameron

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of Bob 
Bridges
Sent: Tuesday, January 17, 2023 4:35 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: [External] Re: REXX Question

If it works, great.  But since I was all primed to offer another kind of 
solution, I'm remembering an explanation I sent once about how to ask RACF (and 
I take it from your symptoms that you are running RACF) whether you have READ 
access to a particular dataset.  It seems to me it can be adapted to check 
whether you have UPDATE access.  It's more complicated than the below, but if 
you're interested

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* When I was ten, I read fairy tales in secret and would have been ashamed if 
I had been found doing so. Now that I am fifty I read them openly. When I 
became a man I put away childish things, including the fear of childishness and 
the desire to be very grown up.  -C.S. Lewis */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Cameron Conacher
Sent: Tuesday, January 17, 2023 15:41

Thank you.
This looks like just what I needed.
Appreciate the assistance.

---
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Tuesday, January 17, 2023 3:03 PM

Did you try CONTROL ERRORS RETURN?


From: Cameron Conacher
Sent: Tuesday, January 17, 2023 2:48 PM

I have some REXX statements that use LMCOPY to copy members from one library to 
another.
This is pretty straight forward stuff.
Recently, I ran into a situation where I was not authorized to access the 
output library.
And when the REXX ran, it ABENDed with a 913 error message.
My REXX checks the return code value from the LMCOPY, but apparently, the 
LMCOPY does not return. I can't seem to trap the not authorized error, and 
generate a polite message for the JOB.

After issuing the LMCOPY command, I check, and if the return code is not one of 
0, 8, or 12 I generate an error message.
On the other hand
if it is zero I generate a success message if it is 8 I generate a success 
message if it is 12 I generate a message indicating I did not replace the 
member in the target library because the member already existed and the REPLACE 
flag was not set.

The other return codes documented for LMCOPY are
16 = TRUNCATION Error
20 = Sever Error; unable to continue.

I was kind of expecting to see the LMCOPY return set as 20.
Is there something I can set to trap the 913 (Not Authorized error) ?
I can live with what I have. I was just looking to polish things up a little 
bit.

I wanted to send out a message that literally says "You do not have the 
authority to access Library . Please reach out to the Security team at... 
and have them authorize your RACF ID. Then restart this JOB at step If you 
have additional questions, please see ."

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

American Express made the following annotations

This e-mail was sent to you by a representative of Amex Bank of Canada, P.O. 
Box 3204, Station "F", Toronto, ON, M1W 3W7, www.americanexpress.ca. If you no 
longer wish to receive these e-mails, please notify the sender by reply e-mail.

This e-mail is solely for the intended recipient and may contain confidential 
or privileged information. If you are not the intended recipient, any 
disclosure, copying, use, or distribution of the information included in this 
e-mail is prohibited. If you have received this e-mail in error, please notify 
the sender by reply e-mail and immediately and permanently delete this e-mail 
and any attachments. Thank you.

American Express a fait les remarques suivantes
Ce courriel vous a été envoyé par un représentant de la Banque Amex du Canada, 
C.P. 3204, succursale F, Toronto (Ontario) M1W 3W7, www.americanexpress.ca. Si, 
par la suite, vous ne souhaitez plus recevoir ces courriels, veuillez en aviser 
les expéditeurs par courriel.

Ce courriel est réservé au seul destinataire indiqué et peut renfermer des 
renseignements confidentiels et privilégiés. Si vous n’êtes pas le destinataire 
prévu, toute divulgation, duplication, utilisation ou distribution du courriel 
est interdite. Si vous avez reçu ce courriel par erreur, veuillez en aviser 
l’expéditeur par courriel et détruire immédiatement le courriel et toute pièce 
jointe. Merci.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX Question

2023-01-17 Thread Bob Bridges
If it works, great.  But since I was all primed to offer another kind of
solution, I'm remembering an explanation I sent once about how to ask RACF
(and I take it from your symptoms that you are running RACF) whether you
have READ access to a particular dataset.  It seems to me it can be adapted
to check whether you have UPDATE access.  It's more complicated than the
below, but if you're interested

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* When I was ten, I read fairy tales in secret and would have been ashamed
if I had been found doing so. Now that I am fifty I read them openly. When I
became a man I put away childish things, including the fear of childishness
and the desire to be very grown up.  -C.S. Lewis */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of
Cameron Conacher
Sent: Tuesday, January 17, 2023 15:41

Thank you.
This looks like just what I needed.
Appreciate the assistance.

---
From: IBM Mainframe Discussion List  On Behalf Of
Seymour J Metz
Sent: Tuesday, January 17, 2023 3:03 PM

Did you try CONTROL ERRORS RETURN?


From: Cameron Conacher
Sent: Tuesday, January 17, 2023 2:48 PM

I have some REXX statements that use LMCOPY to copy members from one library
to another.
This is pretty straight forward stuff.
Recently, I ran into a situation where I was not authorized to access the
output library.
And when the REXX ran, it ABENDed with a 913 error message.
My REXX checks the return code value from the LMCOPY, but apparently, the
LMCOPY does not return. I can't seem to trap the not authorized error, and
generate a polite message for the JOB.

After issuing the LMCOPY command, I check, and if the return code is not one
of 0, 8, or 12 I generate an error message.
On the other hand
if it is zero I generate a success message if it is 8 I generate a success
message if it is 12 I generate a message indicating I did not replace the
member in the target library because the member already existed and the
REPLACE flag was not set.

The other return codes documented for LMCOPY are
16 = TRUNCATION Error
20 = Sever Error; unable to continue.

I was kind of expecting to see the LMCOPY return set as 20.
Is there something I can set to trap the 913 (Not Authorized error) ?
I can live with what I have. I was just looking to polish things up a little
bit.

I wanted to send out a message that literally says "You do not have the
authority to access Library . Please reach out to the Security team
at... and have them authorize your RACF ID. Then restart this JOB at
step If you have additional questions, please see ."

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX Question

2023-01-17 Thread Seymour J Metz
No, CONTROL is an ISPEXEC command and is valid for both CLIST and REXX.


From: IBM Mainframe Discussion List  on behalf of 
Farley, Peter <031df298a9da-dmarc-requ...@listserv.ua.edu>
Sent: Tuesday, January 17, 2023 4:17 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX Question

Isn't CONTROL only valid in a CLIST script, not Rexx?  Or are you suggesting he 
wrap a call to his Rexx inside a CLIST with that CONTROL setting and report the 
security error from the CLIST?

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Tuesday, January 17, 2023 3:03 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX Question

Did you try CONTROL ERRORS RETURN?


From: IBM Mainframe Discussion List  on behalf of 
Cameron Conacher <03cfc59146bb-dmarc-requ...@listserv.ua.edu>
Sent: Tuesday, January 17, 2023 2:48 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: REXX Question

Hello folks,
I hope this is not a silly question.
I have some REXX statements that use LMCOPY to copy members from one library to 
another.
This is pretty straight forward stuff.
Recently, I ran into a situation where I was not authorized to access the 
output library.
And when the REXX ran, it ABENDed with a 913 error message.
My REXX checks the return code value from the LMCOPY, but apparently, the 
LMCOPY does not return. I can't seem to trap the not authorized error, and 
generate a polite message for the JOB.

After issuing the LMCOPY command, I check, and if the return code is not one of 
0, 8, or 12 I generate an error message.
On the other hand
if it is zero I generate a success message
if it is 8 I generate a success message
if it is 12 I generate a message indicating I did not replace the member in the 
target library because the member already existed and the REPLACE flag was not 
set.

The other return codes documented for LMCOPY are
16 = TRUNCATION Error
20 = Sever Error; unable to continue.

I was kind of expecting to see the LMCOPY return set as 20.
Is there something I can set to trap the 913 (Not Authorized error) ?
I can live with what I have. I was just looking to polish things up a little 
bit.

I wanted to send out a message that literally says "You do not have the 
authority to access Library . Please reach out to the Security team at... 
and have them authorize your RACF ID. Then restart this JOB at step If you 
have additional questions, please see ."

Or know that it is just not possible/reasonable to attempt to trap the error.

Thanks


Cameron Conacher
Senior Engineer

American Express Canada Inc.
GCICS
2225 Sheppard Avenue East, Toronto, ON  M2J 5C2

cameron.conac...@aexp.com<mailto:cameron.conac...@aexp.com>
Office: 1-437-836-5265
Mobile: 1-416-409-5147
--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

--
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: REXX Question

2023-01-17 Thread Farley, Peter
Isn't CONTROL only valid in a CLIST script, not Rexx?  Or are you suggesting he 
wrap a call to his Rexx inside a CLIST with that CONTROL setting and report the 
security error from the CLIST?

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Tuesday, January 17, 2023 3:03 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX Question

Did you try CONTROL ERRORS RETURN?


From: IBM Mainframe Discussion List  on behalf of 
Cameron Conacher <03cfc59146bb-dmarc-requ...@listserv.ua.edu>
Sent: Tuesday, January 17, 2023 2:48 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: REXX Question

Hello folks,
I hope this is not a silly question.
I have some REXX statements that use LMCOPY to copy members from one library to 
another.
This is pretty straight forward stuff.
Recently, I ran into a situation where I was not authorized to access the 
output library.
And when the REXX ran, it ABENDed with a 913 error message.
My REXX checks the return code value from the LMCOPY, but apparently, the 
LMCOPY does not return. I can't seem to trap the not authorized error, and 
generate a polite message for the JOB.

After issuing the LMCOPY command, I check, and if the return code is not one of 
0, 8, or 12 I generate an error message.
On the other hand
if it is zero I generate a success message
if it is 8 I generate a success message
if it is 12 I generate a message indicating I did not replace the member in the 
target library because the member already existed and the REPLACE flag was not 
set.

The other return codes documented for LMCOPY are
16 = TRUNCATION Error
20 = Sever Error; unable to continue.

I was kind of expecting to see the LMCOPY return set as 20.
Is there something I can set to trap the 913 (Not Authorized error) ?
I can live with what I have. I was just looking to polish things up a little 
bit.

I wanted to send out a message that literally says "You do not have the 
authority to access Library . Please reach out to the Security team at... 
and have them authorize your RACF ID. Then restart this JOB at step If you 
have additional questions, please see ."

Or know that it is just not possible/reasonable to attempt to trap the error.

Thanks


Cameron Conacher
Senior Engineer

American Express Canada Inc.
GCICS
2225 Sheppard Avenue East, Toronto, ON  M2J 5C2

cameron.conac...@aexp.com<mailto:cameron.conac...@aexp.com>
Office: 1-437-836-5265
Mobile: 1-416-409-5147
--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX Question

2023-01-17 Thread Cameron Conacher
Thank you.
This looks like just what I needed.
Appreciate the assistance.

Thanks

...Cameron

From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Tuesday, January 17, 2023 3:03 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: [External] Re: REXX Question

Did you try CONTROL ERRORS RETURN?


From: IBM Mainframe Discussion List 
mailto:IBM-MAIN@LISTSERV.UA.EDU>> on behalf of 
Cameron Conacher 
<03cfc59146bb-dmarc-requ...@listserv.ua.edu<mailto:03cfc59146bb-dmarc-requ...@listserv.ua.edu>>
Sent: Tuesday, January 17, 2023 2:48 PM
To: IBM-MAIN@LISTSERV.UA.EDU<mailto:IBM-MAIN@LISTSERV.UA.EDU>
Subject: REXX Question

Hello folks,
I hope this is not a silly question.
I have some REXX statements that use LMCOPY to copy members from one library to 
another.
This is pretty straight forward stuff.
Recently, I ran into a situation where I was not authorized to access the 
output library.
And when the REXX ran, it ABENDed with a 913 error message.
My REXX checks the return code value from the LMCOPY, but apparently, the 
LMCOPY does not return. I can't seem to trap the not authorized error, and 
generate a polite message for the JOB.

After issuing the LMCOPY command, I check, and if the return code is not one of 
0, 8, or 12 I generate an error message.
On the other hand
if it is zero I generate a success message
if it is 8 I generate a success message
if it is 12 I generate a message indicating I did not replace the member in the 
target library because the member already existed and the REPLACE flag was not 
set.

The other return codes documented for LMCOPY are
16 = TRUNCATION Error
20 = Sever Error; unable to continue.

I was kind of expecting to see the LMCOPY return set as 20.
Is there something I can set to trap the 913 (Not Authorized error) ?
I can live with what I have. I was just looking to polish things up a little 
bit.

I wanted to send out a message that literally says "You do not have the 
authority to access Library . Please reach out to the Security team at... 
and have them authorize your RACF ID. Then restart this JOB at step If you 
have additional questions, please see ."

Or know that it is just not possible/reasonable to attempt to trap the error.

Thanks


Cameron Conacher
Senior Engineer

American Express Canada Inc.
GCICS
2225 Sheppard Avenue East, Toronto, ON M2J 5C2

cameron.conac...@aexp.com<mailto:cameron.conac...@aexp.com><mailto:cameron.conac...@aexp.com<mailto:cameron.conac...@aexp.com>>
Office: 1-437-836-5265
Mobile: 1-416-409-5147

https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Famex.webex.com%2Fjoin%2Fcameron.conacher&data=05%7C01%7Csmetz3%40gmu.edu%7Cde15c95b27b348cba8be08daf8c3cea0%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C638095817113716787%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=hBFyD3LJjmBm%2FnJeRGRL7Y9iArO12Q6WrKOHWQAA%2BtY%3D&reserved=0<https://isolate.menlosecurity.com/1/3735928037/https:/nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Famex.webex.com%2Fjoin%2Fcameron.conacher&data=05%7C01%7Csmetz3%40gmu.edu%7Cde15c95b27b348cba8be08daf8c3cea0%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C638095817113716787%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=hBFyD3LJjmBm%2FnJeRGRL7Y9iArO12Q6WrKOHWQAA%2BtY%3D&reserved=0>


American Express made the following annotations

This e-mail was sent to you by a representative of Amex Bank of Canada, P.O. 
Box 3204, Station "F", Toronto, ON, M1W 3W7, 
http://secure-web.cisco.com/1ZxhzI5uLo43smfRqmfJL3HBskUBpKOJa3Qcn2n9RumUh1HClQH2zfhZx_LVjPxydiGXOs0mNI3vZlAPeG3_jtkfz7djJuLX8HHU-GxXIHOuJ57gnTs6yn9rscZDqaZgXGRAuyYgIpQpzHGb-OOESPjhd92iW6ZNl1CyU9OxYwees8Py00f1KtTVokIqV1I79xORACPu6MpguSlk57x9qHa4Ckf8sPA5SaFyS6kId6bYuYoHfZKuyI5Bu4ArJIBhavhRi_tIcvkpmdxol6rdkrFpI8Nh8FR8MDWQgppxBp7o-QecTui2QHAO6xUI-SdnOYPq_aV5_UNfV-bTyzifWlbiXrCAqkwKonT50TQnk3A7DNWMp0S9WjCmBC0QtO6Wnz1ufJK93XZIP91TfW9plDqdq3t5VkIH0d8dwgWT3KqAWoCZCFVN9611_hBhx-ktv/http%3A%2F%2Fwww.americanexpress.ca<https://isolate.menlosecurity.com/1/3735928037/http:/secure-web.cisco.com/1ZxhzI5uLo43smfRqmfJL3HBskUBpKOJa3Qcn2n9RumUh1HClQH2zfhZx_LVjPxydiGXOs0mNI3vZlAPeG3_jtkfz7djJuLX8HHU-GxXIHOuJ57gnTs6yn9rscZDqaZgXGRAuyYgIpQpzHGb-OOESPjhd92iW6ZNl1CyU9OxYwees8Py00f1KtTVokIqV1I79xORACPu6MpguSlk57x9qHa4Ckf8sPA5SaFyS6kId6bYuYoHfZKuyI5Bu4ArJIBhavhRi_tIcvkpmdxol6rdkrFpI8Nh8FR8MDWQgppxBp7o-QecTui2QHAO6xUI-SdnOYPq_aV5_UNfV-bTyzifWlbiXrCAqkwKonT50TQnk3A7DNWMp0S9WjCmBC0QtO6Wnz1ufJK93XZIP91TfW9plDqdq3t5VkIH0d8dwgWT3KqAWoCZCFVN9611_hBhx-ktv/http%3A%2F%2Fwww.americanexpress.ca>
 If you no longer wish to receive these e-mails, please notify the sender by 
reply e-mail.

This e-mail is solely for the 

Re: REXX Question

2023-01-17 Thread Seymour J Metz
Did you try CONTROL ERRORS RETURN?


From: IBM Mainframe Discussion List  on behalf of 
Cameron Conacher <03cfc59146bb-dmarc-requ...@listserv.ua.edu>
Sent: Tuesday, January 17, 2023 2:48 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: REXX Question

Hello folks,
I hope this is not a silly question.
I have some REXX statements that use LMCOPY to copy members from one library to 
another.
This is pretty straight forward stuff.
Recently, I ran into a situation where I was not authorized to access the 
output library.
And when the REXX ran, it ABENDed with a 913 error message.
My REXX checks the return code value from the LMCOPY, but apparently, the 
LMCOPY does not return. I can't seem to trap the not authorized error, and 
generate a polite message for the JOB.

After issuing the LMCOPY command, I check, and if the return code is not one of 
0, 8, or 12 I generate an error message.
On the other hand
if it is zero I generate a success message
if it is 8 I generate a success message
if it is 12 I generate a message indicating I did not replace the member in the 
target library because the member already existed and the REPLACE flag was not 
set.

The other return codes documented for LMCOPY are
16 = TRUNCATION Error
20 = Sever Error; unable to continue.

I was kind of expecting to see the LMCOPY return set as 20.
Is there something I can set to trap the 913 (Not Authorized error) ?
I can live with what I have. I was just looking to polish things up a little 
bit.

I wanted to send out a message that literally says "You do not have the 
authority to access Library . Please reach out to the Security team at... 
and have them authorize your RACF ID. Then restart this JOB at step If you 
have additional questions, please see ."

Or know that it is just not possible/reasonable to attempt to trap the error.

Thanks


Cameron Conacher
Senior Engineer

American Express Canada Inc.
GCICS
2225 Sheppard Avenue East, Toronto, ON  M2J 5C2

cameron.conac...@aexp.com
Office: 1-437-836-5265
Mobile: 1-416-409-5147

https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Famex.webex.com%2Fjoin%2Fcameron.conacher&data=05%7C01%7Csmetz3%40gmu.edu%7Cde15c95b27b348cba8be08daf8c3cea0%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C638095817113716787%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=hBFyD3LJjmBm%2FnJeRGRL7Y9iArO12Q6WrKOHWQAA%2BtY%3D&reserved=0


American Express made the following annotations

This e-mail was sent to you by a representative of Amex Bank of Canada, P.O. 
Box 3204, Station "F", Toronto, ON, M1W 3W7, 
http://secure-web.cisco.com/1ZxhzI5uLo43smfRqmfJL3HBskUBpKOJa3Qcn2n9RumUh1HClQH2zfhZx_LVjPxydiGXOs0mNI3vZlAPeG3_jtkfz7djJuLX8HHU-GxXIHOuJ57gnTs6yn9rscZDqaZgXGRAuyYgIpQpzHGb-OOESPjhd92iW6ZNl1CyU9OxYwees8Py00f1KtTVokIqV1I79xORACPu6MpguSlk57x9qHa4Ckf8sPA5SaFyS6kId6bYuYoHfZKuyI5Bu4ArJIBhavhRi_tIcvkpmdxol6rdkrFpI8Nh8FR8MDWQgppxBp7o-QecTui2QHAO6xUI-SdnOYPq_aV5_UNfV-bTyzifWlbiXrCAqkwKonT50TQnk3A7DNWMp0S9WjCmBC0QtO6Wnz1ufJK93XZIP91TfW9plDqdq3t5VkIH0d8dwgWT3KqAWoCZCFVN9611_hBhx-ktv/http%3A%2F%2Fwww.americanexpress.ca
 If you no longer wish to receive these e-mails, please notify the sender by 
reply e-mail.

This e-mail is solely for the intended recipient and may contain confidential 
or privileged information. If you are not the intended recipient, any 
disclosure, copying, use, or distribution of the information included in this 
e-mail is prohibited. If you have received this e-mail in error, please notify 
the sender by reply e-mail and immediately and permanently delete this e-mail 
and any attachments. Thank you.

American Express a fait les remarques suivantes
Ce courriel vous a ?t? envoy? par un repr?sentant de la Banque Amex du Canada, 
C.P. 3204, succursale F, Toronto (Ontario) M1W 3W7, 
http://secure-web.cisco.com/1ZxhzI5uLo43smfRqmfJL3HBskUBpKOJa3Qcn2n9RumUh1HClQH2zfhZx_LVjPxydiGXOs0mNI3vZlAPeG3_jtkfz7djJuLX8HHU-GxXIHOuJ57gnTs6yn9rscZDqaZgXGRAuyYgIpQpzHGb-OOESPjhd92iW6ZNl1CyU9OxYwees8Py00f1KtTVokIqV1I79xORACPu6MpguSlk57x9qHa4Ckf8sPA5SaFyS6kId6bYuYoHfZKuyI5Bu4ArJIBhavhRi_tIcvkpmdxol6rdkrFpI8Nh8FR8MDWQgppxBp7o-QecTui2QHAO6xUI-SdnOYPq_aV5_UNfV-bTyzifWlbiXrCAqkwKonT50TQnk3A7DNWMp0S9WjCmBC0QtO6Wnz1ufJK93XZIP91TfW9plDqdq3t5VkIH0d8dwgWT3KqAWoCZCFVN9611_hBhx-ktv/http%3A%2F%2Fwww.americanexpress.ca
 Si, par la suite, vous ne souhaitez plus recevoir ces courriels, veuillez en 
aviser les exp?diteurs par courriel.

Ce courriel est r?serv? au seul destinataire indiqu? et peut renfermer des 
renseignements confidentiels et privil?gi?s. Si vous n'?tes pas le destinataire 
pr?vu, toute divulgation, duplication, utilisation ou distribution du courriel 
est interdite. Si vous avez re?u ce courriel par erreur, veuillez en aviser 
l'exp?diteur par courriel et d?truire imm?diatement le courriel et toute pi?ce 

Re: REXX question

2018-10-12 Thread Paul Gilmartin
On Fri, 12 Oct 2018 10:33:54 +0800, David Crayford wrote:
>>
>>> That code looks dodgy!  Unless I'm losing my marbles the test 
>  ((APPID <> 'VI01') | (APPID <> 'VI02')) will always be true.
>
>I've found in REXX it's better to use something like:
>if wordpos(appid, "VI01 VI02") = 0 then ...
>
>instead of complicated boolean expressions.
> 
o That closely reflects the casual English convention.

o But some will want to consider the probably poorer performance of a
  function call/return compared to inline tests.

o Note that the original does numeric comparisions if some of the operands
  are numeric (not in this case); WORDPOS does string comparisons.  It may
  not matter; the original coder was probably unaware.  But there's a cliché
  of astonishment among these lists when Rexx takes an intended hex
  constant as a floating point number.

o The WORDPOS technique presumes that no operand consists of
  multiple words.  Know your data.

o Some might prefer \((APPID == 'VI01') | (APPID == 'VI02')),
  even as the common English factors out the "not" rather than
  distributing it.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX question

2018-10-12 Thread scott Ford
David,

That’s a much better approach, I think easier and more readable, imho.

Scott

On Thu, Oct 11, 2018 at 10:34 PM David Crayford  wrote:

> On 11/10/2018 10:44 PM, Paul Gilmartin wrote:
> > On Thu, 11 Oct 2018 11:54:06 +0800, David Crayford  wrote:
> >
> >> That code looks dodgy!  Unless I'm losing my marbles the test ((APPID <>
> >> 'VI01') | (APPID <> 'VI02')) will always be true.
> >>
> > Vernacular.  Some casually say, "if APPID is not V101 or V102", then code
> > incorrectly ((APPID <> 'VI01') | (APPID <> 'VI02')) when it should be
> > ((APPID <> 'VI01') & (APPID <> 'VI02')).  I've even seen such as
> > APPID <> V101 | V102.  Some compilers accept that, with unintended
> > result.
>
> I've found in REXX it's better to use something like:
>
> if wordpos(appid, "VI01 VI02") = 0 then ...
>
> instead of complicated boolean expressions.
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
-- 
Scott Ford
IDMWORKS
z/OS Development

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX question

2018-10-11 Thread David Crayford

On 11/10/2018 10:44 PM, Paul Gilmartin wrote:

On Thu, 11 Oct 2018 11:54:06 +0800, David Crayford  wrote:


That code looks dodgy!  Unless I'm losing my marbles the test ((APPID <>
'VI01') | (APPID <> 'VI02')) will always be true.


Vernacular.  Some casually say, "if APPID is not V101 or V102", then code
incorrectly ((APPID <> 'VI01') | (APPID <> 'VI02')) when it should be
((APPID <> 'VI01') & (APPID <> 'VI02')).  I've even seen such as
APPID <> V101 | V102.  Some compilers accept that, with unintended
result.


I've found in REXX it's better to use something like:

if wordpos(appid, "VI01 VI02") = 0 then ...

instead of complicated boolean expressions.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX question

2018-10-11 Thread Paul Gilmartin
On Thu, 11 Oct 2018 11:54:06 +0800, David Crayford  wrote:

>That code looks dodgy!  Unless I'm losing my marbles the test ((APPID <>
>'VI01') | (APPID <> 'VI02')) will always be true.
> 
Vernacular.  Some casually say, "if APPID is not V101 or V102", then code
incorrectly ((APPID <> 'VI01') | (APPID <> 'VI02')) when it should be
((APPID <> 'VI01') & (APPID <> 'VI02')).  I've even seen such as
APPID <> V101 | V102.  Some compilers accept that, with unintended
result.

Hmmm... Is Sharon in Winston-Salem?

>On 11/10/2018 3:06 AM, Lopez, Sharon wrote:
>> This is some of the code; I did not write it and I do not know how to code 
>> in REXX.
>>
>> WHEN (SUBSYS = 'A') & ((APPID <> 'VI01') | (APPID <> 'VI02'))
>> THEN DO
>>"SEND 'CMNNEWCO F "CicsName",CEMT SET PROG("member")",
>>"PH' OPERATOR(2)"
>> END

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX question

2018-10-11 Thread Lopez, Sharon
The TSO SEND command definitely appends the userid at the end  Is there an 
option to turn that off?

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Elardus Engelbrecht
Sent: Thursday, October 11, 2018 2:26 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX question

David Crayford wrote:

>That code looks dodgy!

Indeed! If I can, I would test each or some of these comparision statements and 
set up a true/false flag (my own [new] variable) to be used on the final IF or 
WHEN statement. Just for easy reading and debugging.


>Unless I'm losing my marbles the test ((APPID <> 'VI01') | (APPID <> 'VI02')) 
>will always be true.

It is always true. I have tested it. Only way to skip that DO part is to have 
SUBSYS <> 'A'.

So, you still have all your marbles. ;-)

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


The information in this transmission may contain proprietary and non-public 
information of BB&T or its affiliates and may be subject to protection under 
the law. The message is intended for the sole use of the individual or entity 
to which it is addressed. If you are not the intended recipient, you are 
notified that any use, distribution or copying of the message is strictly 
prohibited. If you received this message in error, please delete the material 
from your system without reading the content and notify the sender immediately 
of the inadvertent transmission.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX question

2018-10-10 Thread Elardus Engelbrecht
David Crayford wrote:

>That code looks dodgy!  

Indeed! If I can, I would test each or some of these comparision statements and 
set up a true/false flag (my own [new] variable) to be used on the final IF or 
WHEN statement. Just for easy reading and debugging.


>Unless I'm losing my marbles the test ((APPID <> 'VI01') | (APPID <> 'VI02')) 
>will always be true.

It is always true. I have tested it. Only way to skip that DO part is to have 
SUBSYS <> 'A'.

So, you still have all your marbles. ;-)

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


Re: REXX question

2018-10-10 Thread David Crayford
That code looks dodgy!  Unless I'm losing my marbles the test ((APPID <> 
'VI01') | (APPID <> 'VI02')) will always be true.



On 11/10/2018 3:06 AM, Lopez, Sharon wrote:

This is some of the code; I did not write it and I do not know how to code in 
REXX.

WHEN (SUBSYS = 'A') & ((APPID <> 'VI01') | (APPID <> 'VI02'))
THEN DO
   "SEND 'CMNNEWCO F "CicsName",CEMT SET PROG("member")",
   "PH' OPERATOR(2)"
END


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX question

2018-10-10 Thread Doug Shupe
One last question, Changeman related, what release are you 5.3.3 or 8.2 or ?


On Oct 10, 2018, at 20:46, Doug Shupe  wrote:

Another thought, is the batch jobname that runs the REXX CMNBATCH?
Just looking for hints..
Doug

On Oct 10, 2018, at 20:26, Doug Shupe  wrote:

Just a guess, the REXX issues a SEND to the Operator(2) (the default from the 
send command), next you will need to check if some automation product pulls in 
the console message and then issues the REAL modify command to do the new copy.

Sounds to me like something changed in the parsing of the message that was sent 
to the console .
Possibly, you might get lucky and find a automaton rule named CMNNEWCO..

Doug

On Oct 10, 2018, at 18:05, Seymour J Metz  wrote:

Assuming that the environment is TSO, the OPERATOR(2) operand means do a WTO 
with routing code 2. My recollection is that the WTO always has the userid 
appended so the operator can tell where the message came from.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List  on behalf of 
Lizette Koehler 
Sent: Wednesday, October 10, 2018 5:44 PM
To: IBM-MAIN@listserv.ua.edu
Subject: Re: REXX question

So the first think is to run  a trace.

I like the command

Trace I


That will show what things look like before and after.

Then if that does not help, and you have Serena Contract, I might contact them 
for assistance.

With Chgman, you need to know REXX/CLIST/ISPF processing.

Also when viewing this member - make sure you turn on HILITE for REXX.

Enter HILTE on the command line

Select option for REXX, then on the right side -  3 and / in the next two fields

This may show what is a miss


Lizette


> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf Of
> Lopez, Sharon
> Sent: Wednesday, October 10, 2018 12:06 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: REXX question
> 
> This is some of the code; I did not write it and I do not know how to code in
> REXX.
> 
> WHEN (SUBSYS = 'A') & ((APPID <> 'VI01') | (APPID <> 'VI02'))
> THEN DO
>"SEND 'CMNNEWCO F "CicsName",CEMT SET PROG("member")",
>"PH' OPERATOR(2)"
> END
> 
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Paul Gilmartin
> Sent: Wednesday, October 10, 2018 2:48 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: REXX question
> 
>> On Wed, 10 Oct 2018 18:26:51 +, Lopez, Sharon wrote:
>> 
>> We have a CHANGEMAN REXX exec that issues this:
>> 
>> +CMNNEWCO F PRODAORB,CEMT SET PROG(DPLDB2IR) PH
>> 
>> but now it is appending the userid to the end:
>> 
>> +CMNNEWCO F PRODAORB,CEMT SET PROG(DPLDB2IR) PH CMNBATCH
>> 
>> Has anyone seen anything like this before?  The REXX hasn't changed.
>> 
> Is this terminal log?  Or TRACE output?  Can you post (some of) the Rexx
> code?
> 
> Are you quoting all your strings?  Is SIGNAL ON NOVALUE in effect
> (recommended).
> 
> Do I see extreme abbreviations?  It's easier for an outsider to read
> unabbreviated.
> 
> -- gil
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email to
> lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> 
> 
> The information in this transmission may contain proprietary and non-public
> information of BB&T or its affiliates and may be subject to protection under
> the law. The message is intended for the sole use of the individual or entity
> to which it is addressed. If you are not the intended recipient, you are
> notified that any use, distribution or copying of the message is strictly
> prohibited. If you received this message in error, please delete the material
> from your system without reading the content and notify the sender
> immediately of the inadvertent transmission.
> 
> --
> 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 IB

Re: REXX question

2018-10-10 Thread Doug Shupe
Another thought, is the batch jobname that runs the REXX CMNBATCH?
Just looking for hints..
Doug

On Oct 10, 2018, at 20:26, Doug Shupe  wrote:

Just a guess, the REXX issues a SEND to the Operator(2) (the default from the 
send command), next you will need to check if some automation product pulls in 
the console message and then issues the REAL modify command to do the new copy.

Sounds to me like something changed in the parsing of the message that was sent 
to the console .
Possibly, you might get lucky and find a automaton rule named CMNNEWCO..

Doug

On Oct 10, 2018, at 18:05, Seymour J Metz  wrote:

Assuming that the environment is TSO, the OPERATOR(2) operand means do a WTO 
with routing code 2. My recollection is that the WTO always has the userid 
appended so the operator can tell where the message came from.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List  on behalf of 
Lizette Koehler 
Sent: Wednesday, October 10, 2018 5:44 PM
To: IBM-MAIN@listserv.ua.edu
Subject: Re: REXX question

So the first think is to run  a trace.

I like the command

Trace I


That will show what things look like before and after.

Then if that does not help, and you have Serena Contract, I might contact them 
for assistance.

With Chgman, you need to know REXX/CLIST/ISPF processing.

Also when viewing this member - make sure you turn on HILITE for REXX.

Enter HILTE on the command line

Select option for REXX, then on the right side -  3 and / in the next two fields

This may show what is a miss


Lizette


> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf Of
> Lopez, Sharon
> Sent: Wednesday, October 10, 2018 12:06 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: REXX question
> 
> This is some of the code; I did not write it and I do not know how to code in
> REXX.
> 
> WHEN (SUBSYS = 'A') & ((APPID <> 'VI01') | (APPID <> 'VI02'))
>  THEN DO
> "SEND 'CMNNEWCO F "CicsName",CEMT SET PROG("member")",
> "PH' OPERATOR(2)"
>  END
> 
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Paul Gilmartin
> Sent: Wednesday, October 10, 2018 2:48 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: REXX question
> 
>> On Wed, 10 Oct 2018 18:26:51 +, Lopez, Sharon wrote:
>> 
>> We have a CHANGEMAN REXX exec that issues this:
>> 
>> +CMNNEWCO F PRODAORB,CEMT SET PROG(DPLDB2IR) PH
>> 
>> but now it is appending the userid to the end:
>> 
>> +CMNNEWCO F PRODAORB,CEMT SET PROG(DPLDB2IR) PH CMNBATCH
>> 
>> Has anyone seen anything like this before?  The REXX hasn't changed.
>> 
> Is this terminal log?  Or TRACE output?  Can you post (some of) the Rexx
> code?
> 
> Are you quoting all your strings?  Is SIGNAL ON NOVALUE in effect
> (recommended).
> 
> Do I see extreme abbreviations?  It's easier for an outsider to read
> unabbreviated.
> 
> -- gil
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email to
> lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> 
> 
> The information in this transmission may contain proprietary and non-public
> information of BB&T or its affiliates and may be subject to protection under
> the law. The message is intended for the sole use of the individual or entity
> to which it is addressed. If you are not the intended recipient, you are
> notified that any use, distribution or copying of the message is strictly
> prohibited. If you received this message in error, please delete the material
> from your system without reading the content and notify the sender
> immediately of the inadvertent transmission.
> 
> --
> 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

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX question

2018-10-10 Thread Doug Shupe
Just a guess, the REXX issues a SEND to the Operator(2) (the default from the 
send command), next you will need to check if some automation product pulls in 
the console message and then issues the REAL modify command to do the new copy.

Sounds to me like something changed in the parsing of the message that was sent 
to the console .
Possibly, you might get lucky and find a automaton rule named CMNNEWCO..

Doug

On Oct 10, 2018, at 18:05, Seymour J Metz  wrote:

Assuming that the environment is TSO, the OPERATOR(2) operand means do a WTO 
with routing code 2. My recollection is that the WTO always has the userid 
appended so the operator can tell where the message came from.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List  on behalf of 
Lizette Koehler 
Sent: Wednesday, October 10, 2018 5:44 PM
To: IBM-MAIN@listserv.ua.edu
Subject: Re: REXX question

So the first think is to run  a trace.

I like the command

Trace I


That will show what things look like before and after.

Then if that does not help, and you have Serena Contract, I might contact them 
for assistance.

With Chgman, you need to know REXX/CLIST/ISPF processing.

Also when viewing this member - make sure you turn on HILITE for REXX.

Enter HILTE on the command line

Select option for REXX, then on the right side -  3 and / in the next two fields

This may show what is a miss


Lizette


> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf Of
> Lopez, Sharon
> Sent: Wednesday, October 10, 2018 12:06 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: REXX question
> 
> This is some of the code; I did not write it and I do not know how to code in
> REXX.
> 
> WHEN (SUBSYS = 'A') & ((APPID <> 'VI01') | (APPID <> 'VI02'))
>   THEN DO
>  "SEND 'CMNNEWCO F "CicsName",CEMT SET PROG("member")",
>  "PH' OPERATOR(2)"
>   END
> 
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Paul Gilmartin
> Sent: Wednesday, October 10, 2018 2:48 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: REXX question
> 
>> On Wed, 10 Oct 2018 18:26:51 +, Lopez, Sharon wrote:
>> 
>> We have a CHANGEMAN REXX exec that issues this:
>> 
>> +CMNNEWCO F PRODAORB,CEMT SET PROG(DPLDB2IR) PH
>> 
>> but now it is appending the userid to the end:
>> 
>> +CMNNEWCO F PRODAORB,CEMT SET PROG(DPLDB2IR) PH CMNBATCH
>> 
>> Has anyone seen anything like this before?  The REXX hasn't changed.
>> 
> Is this terminal log?  Or TRACE output?  Can you post (some of) the Rexx
> code?
> 
> Are you quoting all your strings?  Is SIGNAL ON NOVALUE in effect
> (recommended).
> 
> Do I see extreme abbreviations?  It's easier for an outsider to read
> unabbreviated.
> 
> -- gil
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email to
> lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> 
> 
> The information in this transmission may contain proprietary and non-public
> information of BB&T or its affiliates and may be subject to protection under
> the law. The message is intended for the sole use of the individual or entity
> to which it is addressed. If you are not the intended recipient, you are
> notified that any use, distribution or copying of the message is strictly
> prohibited. If you received this message in error, please delete the material
> from your system without reading the content and notify the sender
> immediately of the inadvertent transmission.
> 
> --
> 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: REXX question

2018-10-10 Thread Seymour J Metz
Assuming that the environment is TSO, the OPERATOR(2) operand means do a WTO 
with routing code 2. My recollection is that the WTO always has the userid 
appended so the operator can tell where the message came from.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List  on behalf of 
Lizette Koehler 
Sent: Wednesday, October 10, 2018 5:44 PM
To: IBM-MAIN@listserv.ua.edu
Subject: Re: REXX question

So the first think is to run  a trace.

I like the command

Trace I


That will show what things look like before and after.

Then if that does not help, and you have Serena Contract, I might contact them 
for assistance.

With Chgman, you need to know REXX/CLIST/ISPF processing.

Also when viewing this member - make sure you turn on HILITE for REXX.

Enter HILTE on the command line

Select option for REXX, then on the right side -  3 and / in the next two fields

This may show what is a miss


Lizette


> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf Of
> Lopez, Sharon
> Sent: Wednesday, October 10, 2018 12:06 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: REXX question
>
> This is some of the code; I did not write it and I do not know how to code in
> REXX.
>
> WHEN (SUBSYS = 'A') & ((APPID <> 'VI01') | (APPID <> 'VI02'))
>THEN DO
>   "SEND 'CMNNEWCO F "CicsName",CEMT SET PROG("member")",
>   "PH' OPERATOR(2)"
>END
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Paul Gilmartin
> Sent: Wednesday, October 10, 2018 2:48 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: REXX question
>
> On Wed, 10 Oct 2018 18:26:51 +, Lopez, Sharon wrote:
>
> >We have a CHANGEMAN REXX exec that issues this:
> >
> >+CMNNEWCO F PRODAORB,CEMT SET PROG(DPLDB2IR) PH
> >
> >but now it is appending the userid to the end:
> >
> >+CMNNEWCO F PRODAORB,CEMT SET PROG(DPLDB2IR) PH CMNBATCH
> >
> >Has anyone seen anything like this before?  The REXX hasn't changed.
> >
> Is this terminal log?  Or TRACE output?  Can you post (some of) the Rexx
> code?
>
> Are you quoting all your strings?  Is SIGNAL ON NOVALUE in effect
> (recommended).
>
> Do I see extreme abbreviations?  It's easier for an outsider to read
> unabbreviated.
>
> -- gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email to
> lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
>
> The information in this transmission may contain proprietary and non-public
> information of BB&T or its affiliates and may be subject to protection under
> the law. The message is intended for the sole use of the individual or entity
> to which it is addressed. If you are not the intended recipient, you are
> notified that any use, distribution or copying of the message is strictly
> prohibited. If you received this message in error, please delete the material
> from your system without reading the content and notify the sender
> immediately of the inadvertent transmission.
>
> --
> 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: REXX question

2018-10-10 Thread Lizette Koehler
So the first think is to run  a trace.

I like the command

Trace I 


That will show what things look like before and after.

Then if that does not help, and you have Serena Contract, I might contact them 
for assistance.

With Chgman, you need to know REXX/CLIST/ISPF processing.  

Also when viewing this member - make sure you turn on HILITE for REXX.

Enter HILTE on the command line

Select option for REXX, then on the right side -  3 and / in the next two fields

This may show what is a miss


Lizette


> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf Of
> Lopez, Sharon
> Sent: Wednesday, October 10, 2018 12:06 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: REXX question
> 
> This is some of the code; I did not write it and I do not know how to code in
> REXX.
> 
> WHEN (SUBSYS = 'A') & ((APPID <> 'VI01') | (APPID <> 'VI02'))
>THEN DO
>   "SEND 'CMNNEWCO F "CicsName",CEMT SET PROG("member")",
>   "PH' OPERATOR(2)"
>END
> 
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Paul Gilmartin
> Sent: Wednesday, October 10, 2018 2:48 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: REXX question
> 
> On Wed, 10 Oct 2018 18:26:51 +, Lopez, Sharon wrote:
> 
> >We have a CHANGEMAN REXX exec that issues this:
> >
> >+CMNNEWCO F PRODAORB,CEMT SET PROG(DPLDB2IR) PH
> >
> >but now it is appending the userid to the end:
> >
> >+CMNNEWCO F PRODAORB,CEMT SET PROG(DPLDB2IR) PH CMNBATCH
> >
> >Has anyone seen anything like this before?  The REXX hasn't changed.
> >
> Is this terminal log?  Or TRACE output?  Can you post (some of) the Rexx
> code?
> 
> Are you quoting all your strings?  Is SIGNAL ON NOVALUE in effect
> (recommended).
> 
> Do I see extreme abbreviations?  It's easier for an outsider to read
> unabbreviated.
> 
> -- gil
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email to
> lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> 
> 
> The information in this transmission may contain proprietary and non-public
> information of BB&T or its affiliates and may be subject to protection under
> the law. The message is intended for the sole use of the individual or entity
> to which it is addressed. If you are not the intended recipient, you are
> notified that any use, distribution or copying of the message is strictly
> prohibited. If you received this message in error, please delete the material
> from your system without reading the content and notify the sender
> immediately of the inadvertent transmission.
> 
> --
> 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: REXX question

2018-10-10 Thread Lopez, Sharon
This is some of the code; I did not write it and I do not know how to code in 
REXX.

WHEN (SUBSYS = 'A') & ((APPID <> 'VI01') | (APPID <> 'VI02'))
   THEN DO
  "SEND 'CMNNEWCO F "CicsName",CEMT SET PROG("member")",
  "PH' OPERATOR(2)"
   END

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Paul Gilmartin
Sent: Wednesday, October 10, 2018 2:48 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX question

On Wed, 10 Oct 2018 18:26:51 +, Lopez, Sharon wrote:

>We have a CHANGEMAN REXX exec that issues this:
>
>+CMNNEWCO F PRODAORB,CEMT SET PROG(DPLDB2IR) PH
>
>but now it is appending the userid to the end:
>
>+CMNNEWCO F PRODAORB,CEMT SET PROG(DPLDB2IR) PH CMNBATCH
>
>Has anyone seen anything like this before?  The REXX hasn't changed.
>
Is this terminal log?  Or TRACE output?  Can you post (some of) the Rexx code?

Are you quoting all your strings?  Is SIGNAL ON NOVALUE in effect (recommended).

Do I see extreme abbreviations?  It's easier for an outsider to read 
unabbreviated.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


The information in this transmission may contain proprietary and non-public 
information of BB&T or its affiliates and may be subject to protection under 
the law. The message is intended for the sole use of the individual or entity 
to which it is addressed. If you are not the intended recipient, you are 
notified that any use, distribution or copying of the message is strictly 
prohibited. If you received this message in error, please delete the material 
from your system without reading the content and notify the sender immediately 
of the inadvertent transmission.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX question

2018-10-10 Thread Paul Gilmartin
On Wed, 10 Oct 2018 18:26:51 +, Lopez, Sharon wrote:

>We have a CHANGEMAN REXX exec that issues this:
>
>+CMNNEWCO F PRODAORB,CEMT SET PROG(DPLDB2IR) PH
>
>but now it is appending the userid to the end:
>
>+CMNNEWCO F PRODAORB,CEMT SET PROG(DPLDB2IR) PH CMNBATCH
>
>Has anyone seen anything like this before?  The REXX hasn't changed.
>
Is this terminal log?  Or TRACE output?  Can you post (some of) the Rexx code?

Are you quoting all your strings?  Is SIGNAL ON NOVALUE in effect (recommended).

Do I see extreme abbreviations?  It's easier for an outsider to read 
unabbreviated.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX-question

2015-11-22 Thread Leopold Strauss

Many thanks, Alan,

For sure I will tray your hints, when I am back in office ( I am not in 
office now because of sickness, but I can check my mails).


br Leopold



On 22.11.2015 21:06, Alan Young wrote:

Leopold Strauss wrote:

Hi, all

I simply wanted to automize the receiving of a lot of XMIT-files in 
zOS-unix-shell ( not TSO)


Last but not least my problem could be broken down to following 
terminal-input-problem with the RECEIVE-command:


rexx-script:

parse arg indsn outdsn

address tso "PROFILE PROMPT"
queue "DATASET('"outdsn"')"
queue "END"
address tso "RECEIVE INDATASET('"indsn"')"

Result:

MV21:/u/leoplds$ receive.sh 'LEOPLDS.TEST.XMIT' 'LEOPLDS.TEST.TEST'
INMR901I Dataset SYSC.DOCEXEC.V717.LOADLIB from CHR9255 on ESJES2
INMR154I The incoming data set is a 'PROGRAM LIBRARY'.
INMR906A Enter restore parameters or 'DELETE' or 'END' +
INMR908A The input file attributes are: DSORG=PARTITIONED, RECFM=U, 
BLKSIZE=32760, LRECL=32756, File size=X'0005C3EE'K bytes +
INMR909A You may enter DSNAME, SPACE, UNIT, VOL, OLD/NEW, or 
RESTORE/COPY/DELETE/END
INMR800I The RECEIVE command failed. The PUTGET service routine 
issued return code 16.


I googled a lot, read manuals, but I did not find any working sample, 
which I could use.


appreciating all hints and br


A couple of thoughts...

Does adding

call rexxopt 'NOTSOIN'

before the address tso statement make a difference?

Try adding a

queue ""

after the queue "END" statement to mark the end of the queue.

Alan

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN




--
Mit freundlichen Gruessen / Kind Regards,
Leopold Strauss, Team DEV-zOS, T: +43-2236-27551-331

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX-question

2015-11-22 Thread Alan Young

Leopold Strauss wrote:

Hi, all

I simply wanted to automize the receiving of a lot of XMIT-files in 
zOS-unix-shell ( not TSO)


Last but not least my problem could be broken down to following 
terminal-input-problem with the RECEIVE-command:


rexx-script:

parse arg indsn outdsn

address tso "PROFILE PROMPT"
queue "DATASET('"outdsn"')"
queue "END"
address tso "RECEIVE INDATASET('"indsn"')"

Result:

MV21:/u/leoplds$ receive.sh 'LEOPLDS.TEST.XMIT' 'LEOPLDS.TEST.TEST'
INMR901I Dataset SYSC.DOCEXEC.V717.LOADLIB from CHR9255 on ESJES2
INMR154I The incoming data set is a 'PROGRAM LIBRARY'.
INMR906A Enter restore parameters or 'DELETE' or 'END' +
INMR908A The input file attributes are: DSORG=PARTITIONED, RECFM=U, 
BLKSIZE=32760, LRECL=32756, File size=X'0005C3EE'K bytes +
INMR909A You may enter DSNAME, SPACE, UNIT, VOL, OLD/NEW, or 
RESTORE/COPY/DELETE/END
INMR800I The RECEIVE command failed. The PUTGET service routine issued 
return code 16.


I googled a lot, read manuals, but I did not find any working sample, 
which I could use.


appreciating all hints and br


A couple of thoughts...

Does adding

call rexxopt 'NOTSOIN'

before the address tso statement make a difference?

Try adding a

queue ""

after the queue "END" statement to mark the end of the queue.

Alan

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: AW: Re: REXX-question

2015-11-22 Thread Shmuel Metz (Seymour J.)
In <5651dced.2030...@isis-papyrus.com>, on 11/22/2015
   at 04:19 PM, Leopold Strauss 
said:

>In unix-shell there ar prowerfull tools for going through a list, 
>creating the apprpriate commands etc.

FSVO powerful.

>In TSO there are not.

In what universe? The problem is not TSO, it's the implementatioin of
Unix in MVS.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see  
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: AW: Re: REXX-question

2015-11-22 Thread Leopold Strauss

Quite simple.

In unix-shell there ar prowerfull tools for going through a list, 
creating the apprpriate commands etc.


In TSO there are not.

And because I am very experienced in Unix ( althouigh lot of 
zOS-knowledge), I prefer Unix-shell and -tools


On 19.11.2015 16:48, Peter Hunkeler wrote:

I'm curious to understand whay you want to run this rexx as a shell script as 
oposed to a simple batch tso step.

I don't see the benefit, only drawbacks

--Peter Hunkeler

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN





--
Mit freundlichen Gruessen / Kind Regards,
Leopold Strauss, Team DEV-zOS, T: +43-2236-27551-331

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX-question

2015-11-22 Thread Leopold Strauss

Thx, Bill.

But prompt is not a valid order im uxic-rexx.

On 19.11.2015 15:11, Bill Godfrey wrote:

On Thu, 19 Nov 2015 12:47:40 +0100, Leopold Strauss wrote:


Hi, all

I simply wanted to automize the receiving of a lot of XMIT-files in
zOS-unix-shell ( not TSO)

Last but not least my problem could be broken down to following
terminal-input-problem with the RECEIVE-command:

rexx-script:

parse arg indsn outdsn

address tso "PROFILE PROMPT"
queue "DATASET('"outdsn"')"
queue "END"
address tso "RECEIVE INDATASET('"indsn"')"

Result:

MV21:/u/leoplds$ receive.sh 'LEOPLDS.TEST.XMIT' 'LEOPLDS.TEST.TEST'
INMR901I Dataset SYSC.DOCEXEC.V717.LOADLIB from CHR9255 on ESJES2
INMR154I The incoming data set is a 'PROGRAM LIBRARY'.
INMR906A Enter restore parameters or 'DELETE' or 'END' +
INMR908A The input file attributes are: DSORG=PARTITIONED, RECFM=U,
BLKSIZE=32760, LRECL=32756, File size=X'0005C3EE'K bytes +
INMR909A You may enter DSNAME, SPACE, UNIT, VOL, OLD/NEW, or
RESTORE/COPY/DELETE/END
INMR800I The RECEIVE command failed. The PUTGET service routine issued
return code 16.

I googled a lot, read manuals, but I did not find any working sample,
which I could use.

appreciating all hints and br

--
Mit freundlichen Gruessen / Kind Regards,
Leopold Strauss, Team DEV-zOS, T: +43-2236-27551-331


Try adding this anywhere before the RECEIVE command:

x = prompt('on')

Bill

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN





--
Mit freundlichen Gruessen / Kind Regards,
Leopold Strauss, Team DEV-zOS, T: +43-2236-27551-331

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


AW: Re: REXX-question

2015-11-19 Thread Peter Hunkeler
I'm curious to understand whay you want to run this rexx as a shell script as 
oposed to a simple batch tso step.

I don't see the benefit, only drawbacks

--Peter Hunkeler

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX-question

2015-11-19 Thread Bill Godfrey
On Thu, 19 Nov 2015 12:47:40 +0100, Leopold Strauss wrote:

>Hi, all
>
>I simply wanted to automize the receiving of a lot of XMIT-files in
>zOS-unix-shell ( not TSO)
>
>Last but not least my problem could be broken down to following
>terminal-input-problem with the RECEIVE-command:
>
>rexx-script:
>
>parse arg indsn outdsn
>
>address tso "PROFILE PROMPT"
>queue "DATASET('"outdsn"')"
>queue "END"
>address tso "RECEIVE INDATASET('"indsn"')"
>
>Result:
>
>MV21:/u/leoplds$ receive.sh 'LEOPLDS.TEST.XMIT' 'LEOPLDS.TEST.TEST'
>INMR901I Dataset SYSC.DOCEXEC.V717.LOADLIB from CHR9255 on ESJES2
>INMR154I The incoming data set is a 'PROGRAM LIBRARY'.
>INMR906A Enter restore parameters or 'DELETE' or 'END' +
>INMR908A The input file attributes are: DSORG=PARTITIONED, RECFM=U,
>BLKSIZE=32760, LRECL=32756, File size=X'0005C3EE'K bytes +
>INMR909A You may enter DSNAME, SPACE, UNIT, VOL, OLD/NEW, or
>RESTORE/COPY/DELETE/END
>INMR800I The RECEIVE command failed. The PUTGET service routine issued
>return code 16.
>
>I googled a lot, read manuals, but I did not find any working sample,
>which I could use.
>
>appreciating all hints and br
>
>--
>Mit freundlichen Gruessen / Kind Regards,
>Leopold Strauss, Team DEV-zOS, T: +43-2236-27551-331
>

Try adding this anywhere before the RECEIVE command:

x = prompt('on')

Bill

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX-question

2015-11-19 Thread Paul Gilmartin
On Thu, 19 Nov 2015 12:47:40 +0100, Leopold Strauss wrote:

>Hi, all
> 
(Waiting for Lizette to suggest fora TSO-REXX and, most relevant,  MVS-OE.)

>I simply wanted to automize the receiving of a lot of XMIT-files in
>zOS-unix-shell ( not TSO)
>
>Last but not least my problem could be broken down to following
>terminal-input-problem with the RECEIVE-command:
>
>rexx-script:
>
>parse arg indsn outdsn
>
>address tso "PROFILE PROMPT"
>queue "DATASET('"outdsn"')" 
>
... Ouch!  Now you're in trouble.  When you run Rexx under the z/OS UNIX shell,
"address TSO starts the TSO TMP in a separate address space and creates a
communication channel between the UNIX address space and the TSO address
space.  "queue" operates in the UNIX address space; RECEIVE in the TSO
address space where lines queued in the UNIX address space are inaccessible
to it.

This may be further complicated by the conflict between TGET and GETLINE
I don't much understand it.

You might try two EXECs; one in the UNIX address space whch does:

address TSO "exec '''your.sysexec.pds(RCVWRAP)'''" 

Where RCVWRAP is an EXEC which issues the "queue" and "receive"
commands in the TSO address space.

BTW, allocations performed in the UNIX address space (e.g. with BPXWDYN)
are not available in the TSO address space.

I haven't had much success with this scheme; RECEIVE is a bad design.

I hate MVS!

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: REXX-question

2015-11-19 Thread Itschak Mugzach
Push the TSO RECEIVE commands (ie. END, DA(), etc.) into the tso stack and
then call RECEIVE.

ITschak

ITschak Mugzach
Z/OS, ISV Products and Application Security & Risk Assessments Professional

On Thu, Nov 19, 2015 at 1:47 PM, Leopold Strauss <
leopold.stra...@isis-papyrus.com> wrote:

> Hi, all
>
> I simply wanted to automize the receiving of a lot of XMIT-files in
> zOS-unix-shell ( not TSO)
>
> Last but not least my problem could be broken down to following
> terminal-input-problem with the RECEIVE-command:
>
> rexx-script:
>
> parse arg indsn outdsn
>
> address tso "PROFILE PROMPT"
> queue "DATASET('"outdsn"')"
> queue "END"
> address tso "RECEIVE INDATASET('"indsn"')"
>
> Result:
>
> MV21:/u/leoplds$ receive.sh 'LEOPLDS.TEST.XMIT' 'LEOPLDS.TEST.TEST'
> INMR901I Dataset SYSC.DOCEXEC.V717.LOADLIB from CHR9255 on ESJES2
> INMR154I The incoming data set is a 'PROGRAM LIBRARY'.
> INMR906A Enter restore parameters or 'DELETE' or 'END' +
> INMR908A The input file attributes are: DSORG=PARTITIONED, RECFM=U,
> BLKSIZE=32760, LRECL=32756, File size=X'0005C3EE'K bytes +
> INMR909A You may enter DSNAME, SPACE, UNIT, VOL, OLD/NEW, or
> RESTORE/COPY/DELETE/END
> INMR800I The RECEIVE command failed. The PUTGET service routine issued
> return code 16.
>
> I googled a lot, read manuals, but I did not find any working sample,
> which I could use.
>
> appreciating all hints and br
>
> --
> Mit freundlichen Gruessen / Kind Regards,
> Leopold Strauss, Team DEV-zOS, T: +43-2236-27551-331
>
> --
> 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: REXX-question

2015-11-19 Thread Elardus Engelbrecht
Hardee, Chuck wrote:

>Try adding: queue "RESTORE" 
>Just before the queue of the "END" command. 

While I have NOT tested out that REXX program, I believe it should work. 

I think Leopold should also add TRACE A to his REXX program for better 
debugging.

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


Re: REXX-question

2015-11-19 Thread Hardee, Chuck
Leopold,

This is purely a guess, but the last line of the prompt states: 

INMR909A You may enter DSNAME, SPACE, UNIT, VOL, OLD/NEW, or 
RESTORE/COPY/DELETE/END

You supplied a DATASET() parameter, but I don't see a RESTORE, COPY or DELETE 
prior to the END.
Try adding:

queue "RESTORE"

Just before the queue of the "END" command.

Chuck

Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
EAS Information Technology

Thermo Fisher Scientific
300 Industry Drive | Pittsburgh, PA 15275
Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230
chuck.har...@thermofisher.com  | www.thermofisher.com

WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this 
e-mail or the information herein by anyone other than the intended recipient, 
or an employee or agent of a system responsible for delivering the message to 
the intended recipient, is prohibited. If you are not the intended recipient, 
please inform the sender and delete all copies.

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Leopold Strauss
Sent: Thursday, November 19, 2015 6:48 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: REXX-question

Hi, all

I simply wanted to automize the receiving of a lot of XMIT-files in 
zOS-unix-shell ( not TSO)

Last but not least my problem could be broken down to following 
terminal-input-problem with the RECEIVE-command:

rexx-script:

parse arg indsn outdsn

address tso "PROFILE PROMPT"
queue "DATASET('"outdsn"')"
queue "END"
address tso "RECEIVE INDATASET('"indsn"')"

Result:

MV21:/u/leoplds$ receive.sh 'LEOPLDS.TEST.XMIT' 'LEOPLDS.TEST.TEST'
INMR901I Dataset SYSC.DOCEXEC.V717.LOADLIB from CHR9255 on ESJES2
INMR154I The incoming data set is a 'PROGRAM LIBRARY'.
INMR906A Enter restore parameters or 'DELETE' or 'END' +
INMR908A The input file attributes are: DSORG=PARTITIONED, RECFM=U, 
BLKSIZE=32760, LRECL=32756, File size=X'0005C3EE'K bytes +
INMR909A You may enter DSNAME, SPACE, UNIT, VOL, OLD/NEW, or 
RESTORE/COPY/DELETE/END
INMR800I The RECEIVE command failed. The PUTGET service routine issued 
return code 16.

I googled a lot, read manuals, but I did not find any working sample, 
which I could use.

appreciating all hints and br

-- 
Mit freundlichen Gruessen / Kind Regards,
Leopold Strauss, Team DEV-zOS, T: +43-2236-27551-331

--
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: Rexx question

2013-09-28 Thread Shmuel Metz (Seymour J.)
In <0ca801ceb86a$568c4300$03a4c900$@mindspring.com>, on 09/23/2013
   at 07:36 AM, Lizette Koehler  said:

>In case you were not aware, there is a newsgroup for TSO-REXX

But it's better to join the mailing list. Posts to bit.listserv.* will
generally not be seen on the corresponding mailing lists.

>http://www2.marist.edu/htbin/wlvindex?TSO-REXX

That's the mailing list, not the news group.

-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 Atid/2
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: Rexx question

2013-09-25 Thread Shmuel Metz (Seymour J.)
In
,
on 09/23/2013
   at 10:31 AM, Rob Schramm  said:

>and the results were very strange

I suspect that the read was fine and that the error was in the code
that you did not show. Take a look at IN.0 (the number of lines) and
IN.i for small values of i; if necessary, run your code under trace i
to see whether something squirrely is happening.

-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 Atid/2
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: Rexx question

2013-09-23 Thread Rob Schramm
Attributes were recfm=FB, lrecl=120 PDS.

There were no I/O errors.  I was able to copy the member via 3.3 to the
sequential file without issue.  Also, viewed it numerous times.

I will have to allocate my own copy and re-check it.

As for the FREE... no harm no foul.  If I had done an ALLOCATE ... it would
be taken care of.  The FREE causes no errors.

Since there appears to be nothing other than PDS directory update issue...
(not that it is normal.. but at least I can conceive of a way it would
happen)

Thanks for the input..
Rob

Rob Schramm
Senior Systems Consultant
Imperium Group



On Mon, Sep 23, 2013 at 1:10 PM, Scott Ford  wrote:

> Rob:
>
> why do you want to free it ...its not clear why you need to ...
>
> If it was allocated dynamically or a file for temporary usage, 'yes' free
> it , but allocated via a '//DD ' ...odd
>
> Scott J Ford
> Software Engineer
> http://www.identityforge.com/
>
>
>
> 
>  From: Rob Schramm 
> To: IBM-MAIN@LISTSERV.UA.EDU
> Sent: Monday, September 23, 2013 10:31 AM
> Subject: Rexx question
>
>
> All,
>
> I was doing some rexx work in batch on z/OS... attempting to use
>
> "EXECIO * DISKR INPUTDD (Finis Stem in."
> "FREE F(INPUTDD)"
>
> Where the INPUTDD was
>
> //INPUTDD DD DSN=SOME.PDS(MEMBER)
>
> and the results were very strange (multiple lines concatenated, seemed to
> be picking up a prior member in the PDS, corrupted data).  I ended up
> copying the PDS member to a sequential file and the problems went away.
>
> I have never had a problem reading a PDS member as a sequential file..
> until this occurred.  Is there some caveat to reading a PDS member as a
> sequential file?   Is the exception documented?
>
> I have been to the manuals, google, various articles on REXX, tutorials
> etc.. and not found anything to match (even loosely) what was happening.
>
>
> Rob Schramm
> Senior Systems Consultant
>
> --
> 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: Rexx question

2013-09-23 Thread Scott Ford
Rob:
 
why do you want to free it ...its not clear why you need to ...
 
If it was allocated dynamically or a file for temporary usage, 'yes' free it , 
but allocated via a '//    DD ' ...odd 

Scott J Ford
Software Engineer
http://www.identityforge.com/
 
 


 From: Rob Schramm 
To: IBM-MAIN@LISTSERV.UA.EDU 
Sent: Monday, September 23, 2013 10:31 AM
Subject: Rexx question
  

All,

I was doing some rexx work in batch on z/OS... attempting to use

"EXECIO * DISKR INPUTDD (Finis Stem in."
"FREE F(INPUTDD)"

Where the INPUTDD was

//INPUTDD DD DSN=SOME.PDS(MEMBER)

and the results were very strange (multiple lines concatenated, seemed to
be picking up a prior member in the PDS, corrupted data).  I ended up
copying the PDS member to a sequential file and the problems went away.

I have never had a problem reading a PDS member as a sequential file..
until this occurred.  Is there some caveat to reading a PDS member as a
sequential file?   Is the exception documented?

I have been to the manuals, google, various articles on REXX, tutorials
etc.. and not found anything to match (even loosely) what was happening.


Rob Schramm
Senior Systems Consultant

--
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: Rexx question

2013-09-23 Thread Klan, Rob (RET-DAY)
Suspect you have issue with PDS...although maybe directory is lla frozen, 
"prior data"?

Below code works seq or pds(mem) 

/* REXX */
"ALLOC SHR FILE(INPUT) DATASET('UKLANRX.JCL.CNTL(SYSGEN)')"
"EXECIO * DISKR INPUT (STEM INPUT. FINIS)"
"FREE FILE(INPUT)"
CNTR = 1
DO WHILE CNTR  <= INPUT.0
SAY INPUT.CNTR
CNTR = CNTR + 1
END
EXIT




-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Rob Schramm
Sent: Monday, September 23, 2013 10:32 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Rexx question

All,

I was doing some rexx work in batch on z/OS... attempting to use

 "EXECIO * DISKR INPUTDD (Finis Stem in."
 "FREE F(INPUTDD)"

Where the INPUTDD was

//INPUTDD DD DSN=SOME.PDS(MEMBER)

and the results were very strange (multiple lines concatenated, seemed to be 
picking up a prior member in the PDS, corrupted data).  I ended up copying the 
PDS member to a sequential file and the problems went away.

I have never had a problem reading a PDS member as a sequential file..
until this occurred.  Is there some caveat to reading a PDS member as a
sequential file?   Is the exception documented?

I have been to the manuals, google, various articles on REXX, tutorials etc.. 
and not found anything to match (even loosely) what was happening.


Rob Schramm
Senior Systems Consultant

--
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: Rexx question

2013-09-23 Thread Itschak Mugzach
What in.0 in.1 etc. Holds?
בתאריך 23 בספט 2013 17:38, מאת "Lizette Koehler" :

> In case you were not aware, there is a newsgroup for TSO-REXX
>
> If you have not done so, you can join here.  Just go to the bottom of the
> Webpage
>
> http://www2.marist.edu/htbin/wlvindex?TSO-REXX
>
>
> what are the attributers?  Lrecl, blksize, etc...
>
> Did you check the original PDS to see if that member was readable?  Did it
> get an I/O Error?
>
>
>
> Lizette
>
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Rob Schramm
> Sent: Monday, September 23, 2013 7:32 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Rexx question
>
> All,
>
> I was doing some rexx work in batch on z/OS... attempting to use
>
>  "EXECIO * DISKR INPUTDD (Finis Stem in."
>  "FREE F(INPUTDD)"
>
> Where the INPUTDD was
>
> //INPUTDD DD DSN=SOME.PDS(MEMBER)
>
> and the results were very strange (multiple lines concatenated, seemed to
> be
> picking up a prior member in the PDS, corrupted data).  I ended up copying
> the PDS member to a sequential file and the problems went away.
>
> I have never had a problem reading a PDS member as a sequential file..
> until this occurred.  Is there some caveat to reading a PDS member as a
> sequential file?   Is the exception documented?
>
> I have been to the manuals, google, various articles on REXX, tutorials
> etc.. and not found anything to match (even loosely) what was happening.
>
>
> Rob Schramm
> Senior Systems Consultant
>
> --
> 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: Rexx question

2013-09-23 Thread Lizette Koehler
In case you were not aware, there is a newsgroup for TSO-REXX

If you have not done so, you can join here.  Just go to the bottom of the
Webpage

http://www2.marist.edu/htbin/wlvindex?TSO-REXX


what are the attributers?  Lrecl, blksize, etc...

Did you check the original PDS to see if that member was readable?  Did it
get an I/O Error?



Lizette


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Rob Schramm
Sent: Monday, September 23, 2013 7:32 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Rexx question

All,

I was doing some rexx work in batch on z/OS... attempting to use

 "EXECIO * DISKR INPUTDD (Finis Stem in."
 "FREE F(INPUTDD)"

Where the INPUTDD was

//INPUTDD DD DSN=SOME.PDS(MEMBER)

and the results were very strange (multiple lines concatenated, seemed to be
picking up a prior member in the PDS, corrupted data).  I ended up copying
the PDS member to a sequential file and the problems went away.

I have never had a problem reading a PDS member as a sequential file..
until this occurred.  Is there some caveat to reading a PDS member as a
sequential file?   Is the exception documented?

I have been to the manuals, google, various articles on REXX, tutorials
etc.. and not found anything to match (even loosely) what was happening.


Rob Schramm
Senior Systems Consultant

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN