Re: REXX question: if a string is printable

2011-01-20 Thread Miklos Szigetvari

Hi

Thank you very much , I'm using the routine bellow, to display  MQ 
messages as text,  and with c2x as hexa string

Perfect , thank you again .

On 1/19/2011 2:41 PM, Paul Gilmartin wrote:

On Wed, 19 Jan 2011 04:15:39 -0600, Bruce Hewson wrote:


Actually, this can be shortened to:

Readable:Procedure
to =   
to = to || 
to = to || 
to = to || 
to = to ||  ...(+|
to = to || .!$*);¬
to = to || -.\,%_?
to = to || ..:#@'=
to = to || .abcdefghi..
to = to || .jklmnopqr..
to = to || ..stuvwxyz..
to = to || 
to = to || .ABCDEFGHI..
to = to || .JKLMNOPQR..
to = to || ./STUVWXYZ..
to = to || 0123456789..
Return Translate(Arg(1),to)


FSVO printable.  Brackets?  Braces?  Caret?  Tilde?

I couldn't live without most of those; I use them daily.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html




--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX question: if a string is printable

2011-01-19 Thread Bruce Hewson
Miklos,

I use this function:-

Readable:Procedure   
 from =
 Do i = 0 to 255 
   from = from || X2c(D2x(i))
 End 
 to =      
 to = to ||    
 to = to ||    
 to = to ||    
 to = to ||  ...(+|   
 to = to || .!$*);¬   
 to = to || -.\,%_?   
 to = to || ..:#@'=  
 to = to || .abcdefghi..   
 to = to || .jklmnopqr..   
 to = to || ..stuvwxyz..   
 to = to ||    
 to = to || .ABCDEFGHI..   
 to = to || .JKLMNOPQR..   
 to = to || ./STUVWXYZ..   
 to = to || 0123456789..   
 Return Translate(Arg(1),to,from)

e.g.Readable(Left(chunk_data,16))

of course you can customise the to values as you need.

Regards
Bruce Hewson

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX question: if a string is printable

2011-01-19 Thread Bruce Hewson
Actually, this can be shortened to:

Readable:Procedure  
 to =      
 to = to ||    
 to = to ||    
 to = to ||    
 to = to ||  ...(+|   
 to = to || .!$*);¬   
 to = to || -.\,%_?   
 to = to || ..:#@'=  
 to = to || .abcdefghi..   
 to = to || .jklmnopqr..   
 to = to || ..stuvwxyz..   
 to = to ||    
 to = to || .ABCDEFGHI..   
 to = to || .JKLMNOPQR..   
 to = to || ./STUVWXYZ..   
 to = to || 0123456789..   
 Return Translate(Arg(1),to) 



On Wed, 19 Jan 2011 03:58:32 -0600, Bruce Hewson 
bruce_hew...@hotmail.com wrote:

Miklos,

I use this function:-

Readable:Procedure
 from = 
 Do i = 0 to 255
   from = from || X2c(D2x(i))
 End
 to =   
 to = to || 
 to = to || 
 to = to || 
 to = to ||  ...(+|
 to = to || .!$*);¬
 to = to || -.\,%_?
 to = to || ..:#@'=
 to = to || .abcdefghi..
 to = to || .jklmnopqr..
 to = to || ..stuvwxyz..
 to = to || 
 to = to || .ABCDEFGHI..
 to = to || .JKLMNOPQR..
 to = to || ./STUVWXYZ..
 to = to || 0123456789..
 Return Translate(Arg(1),to,from)

e.g.Readable(Left(chunk_data,16))

of course you can customise the to values as you need.

Regards
Bruce Hewson

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX question: if a string is printable

2011-01-19 Thread Paul Gilmartin
On Wed, 19 Jan 2011 04:15:39 -0600, Bruce Hewson wrote:

Actually, this can be shortened to:

Readable:Procedure
 to =   
 to = to || 
 to = to || 
 to = to || 
 to = to ||  ...(+|
 to = to || .!$*);¬
 to = to || -.\,%_?
 to = to || ..:#@'=
 to = to || .abcdefghi..
 to = to || .jklmnopqr..
 to = to || ..stuvwxyz..
 to = to || 
 to = to || .ABCDEFGHI..
 to = to || .JKLMNOPQR..
 to = to || ./STUVWXYZ..
 to = to || 0123456789..
 Return Translate(Arg(1),to)

FSVO printable.  Brackets?  Braces?  Caret?  Tilde?

I couldn't live without most of those; I use them daily.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX question: if a string is printable

2011-01-19 Thread Elardus Engelbrecht
Paul Gilmartin wrote:

FSVO printable.  Brackets?  Braces?  Caret?  Tilde?
I couldn't live without most of those; I use them daily.

Thanks for noting this. I tried this one to see what I get...

/* REXX */
  DO  I = 0 TO 15
LYN = ''   /* Two Single Quotes */
DO J = 0 TO 15
 X = I * 16 + J
 LYN = LYN || D2C(X)
END
SAY I LYN
  END
  EXIT 0

Not everything is SAYed here properly... :-(

0 
1 
2 
3 
4   ¢.(+|
5  !$*);¬
6 -/¦,%_?
7  `:#@'=
8  abcdefghi  
9  jklmnopqr  
10  ~stuvwxyz   Ý 
11  ¨ 
12 {ABCDEFGHI  ö ó
13 }JKLMNOPQR 
14 \ STUVWXYZ  Ö  
15 0123456789³


Back to that 'printable' question...

Perhaps I missed something like everyone.

Groete / Greetings
Elardus Engelbrecht

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX question: if a string is printable

2011-01-19 Thread Elardus Engelbrecht
Put my REXX program (in previous post) in a batch job and type SE (not S) 
next to the job output in SDSF, and you get this nice output.

READY   
 EXEC '...(TEL)'
0   
1   
2   
3   
4   âäàáãåçñ¢.(+|  
5 éêëèíîïìß!$*);¬  
6 -/ÂÄÀÁÃÅÇѦ,%_?  
7 øÉÊËÈÍÎÏÌ`:#@'=  
8 Øabcdefghi«»ðýþ±  
9 °jklmnopqrªºæ¸Æ¤  
10 µ~stuvwxyz¡¿ÐÝÞ® 
11 ^£¥·©§¶¼½¾[]¯¨´× 
12 {ABCDEFGHI­ôöòóõ 
13 }JKLMNOPQR¹ûüùúÿ 
14 \÷STUVWXYZ²ÔÖÒÓÕ 
15 0123456789³ÛÜÙÚ  
READY   
END  

Much better ...

Groete / Greetings
Elardus Engelbrecht   

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX question: if a string is printable

2011-01-17 Thread Cris Hernandez #9
huh, never had that issue... 
maybe a spf macro (not my area of expertise) using edit command:
f p'.' 
or 
c p'.' ' ' all
is there only 1 character or multiple characters that your print function can't 
handle?   
don't have the rexx manual handy, but there are hex conversion functions the 
could be used to translate and then see if results are dissimilar. 
or maybe the INDEX/POS or TRANSLATE function searching for x' value?

its a holiday here in the US, celebrating civil rights, equitable justice and 
Christian values today.  Will check the manual myself tomorrow.  


--- On Mon, 1/17/11, Miklos Szigetvari miklos.szigetv...@isis-papyrus.com 
wrote:

 From: Miklos Szigetvari miklos.szigetv...@isis-papyrus.com
 Subject: REXX question: if a string is printable
 To: IBM-MAIN@bama.ua.edu
 Date: Monday, January 17, 2011, 6:09 AM
 Hi
 
 Any REXX function to decide if a string contains only
 printable characters?
 
 --
 For IBM-MAIN subscribe / signoff / archive access
 instructions,
 send email to lists...@bama.ua.edu
 with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html
 


  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX question: if a string is printable

2011-01-17 Thread Binyamin Dissen
On Mon, 17 Jan 2011 12:09:46 +0100 Miklos Szigetvari
miklos.szigetv...@isis-papyrus.com wrote:

:Any REXX function to decide if a string contains only printable characters?

Define printable characters.

--
Binyamin Dissen bdis...@dissensoftware.com
http://www.dissensoftware.com

Director, Dissen Software, Bar  Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX question: if a string is printable

2011-01-17 Thread Elardus Engelbrecht
Miklos Szigetvari wrote:

:Any REXX function to decide if a string contains only printable characters?

Look at functions DATATYPE and VERIFY and then come back to Binyamin's 
question: Define printable characters.

Perhaps, you could place a list of 'printable characters' in 'reference' and 
use 
VERIFY function to check your string against the reference.

Groete / Greetings
Elardus Engelbrecht

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX question: if a string is printable

2011-01-17 Thread Mark Zelden
On Mon, 17 Jan 2011 12:09:46 +0100, Miklos Szigetvari
miklos.szigetv...@isis-papyrus.com wrote:

Hi

Any REXX function to decide if a string contains only printable characters?


I'm sure there are different ways.  Here is what I do in my IPLINFO exec
for displaying subsystem names which often have non-display characters
(I replace them with a period like ISPF browse does by default):


Call XLATE_NONDISP SSCTSNAM /* translate non display chars */
SSCTSNAM = RESULT   /* result from XLATE_NONDISP   */


XLATE_NONDISP:   /* translate non-display characters to a .*/  
Arg XLATEPRM 
XLATELEN = Length(XLATEPRM) /* length of parm passed to routine  */  
Do I = 1 to XLATELEN  /* check each byte for */  
  If (Substr(XLATEPRM,I,1)  '00'x  ,/* non-display characters  */  
Substr(XLATEPRM,I,1)  '40'x ) | ,/* and replace each*/  
Substr(XLATEPRM,I,1) = 'FF'x  then ,  /* character that  */  
XLATEPRM = OVERLAY('.',XLATEPRM,I)/* is non-displayable  */  
End   /* with a period (.)   */  
Return XLATEPRM  


--
Mark Zelden - Zelden Consulting Services - z/OS, OS/390 and MVS   
mailto:mzel...@flash.net  
Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html 
Systems Programming expert at http://expertanswercenter.techtarget.com/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX question: if a string is printable

2011-01-17 Thread Miklos Szigetvari

Hi

Thank you very much

On 1/17/2011 2:30 PM, Mark Zelden wrote:

On Mon, 17 Jan 2011 12:09:46 +0100, Miklos Szigetvari
miklos.szigetv...@isis-papyrus.com  wrote:


Hi

Any REXX function to decide if a string contains only printable characters?


I'm sure there are different ways.  Here is what I do in my IPLINFO exec
for displaying subsystem names which often have non-display characters
(I replace them with a period like ISPF browse does by default):


Call XLATE_NONDISP SSCTSNAM /* translate non display chars */
SSCTSNAM = RESULT   /* result from XLATE_NONDISP   */


XLATE_NONDISP:   /* translate non-display characters to a .*/
Arg XLATEPRM
XLATELEN = Length(XLATEPRM) /* length of parm passed to routine  */
Do I = 1 to XLATELEN  /* check each byte for */
   If (Substr(XLATEPRM,I,1)  '00'x  ,/* non-display characters  */
 Substr(XLATEPRM,I,1)  '40'x ) | ,/* and replace each*/
 Substr(XLATEPRM,I,1) = 'FF'x  then ,  /* character that  */
 XLATEPRM = OVERLAY('.',XLATEPRM,I)/* is non-displayable  */
End   /* with a period (.)   */
Return XLATEPRM


--
Mark Zelden - Zelden Consulting Services - z/OS, OS/390 and MVS
mailto:mzel...@flash.net
Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html
Systems Programming expert at http://expertanswercenter.techtarget.com/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html




--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2010-12-16 Thread Veilleux, Jon L
As long as you are on z/OS 1.12 you have direct access to the SYSLOG.

-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of 
McKown, John
Sent: Wednesday, December 15, 2010 2:37 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: REXX Question

Which one? z/OS SYSLOG, OPERLOG, or UNIX SYSLOG Daemon? UNIX SYSLOG Daemon 
usually goes to one or more files in /var/log depending on the syslog.conf file 
. z/OS SYSLOG or OPERLOG, I'd use the new address sdsf functions for REXX.

http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ISF4CSA0/13.0

--
John McKown
Systems Engineer IV
IT

Administrative Services Group

HealthMarkets(r)

9151 Boulevard 26 * N. Richland Hills * TX 76010
(817) 255-3225 phone *
john.mck...@healthmarkets.com * www.HealthMarkets.com

Confidentiality Notice: This e-mail message may contain confidential or 
proprietary information. If you are not the intended recipient, please contact 
the sender by reply e-mail and destroy all copies of the original message. 
HealthMarkets(r) is the brand name for products underwritten and issued by the 
insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance 
Company(r), Mid-West National Life Insurance Company of TennesseeSM and The 
MEGA Life and Health Insurance Company.SM

 

 -Original Message-
 From: IBM Mainframe Discussion List
 [mailto:ibm-m...@bama.ua.edu] On Behalf Of gsg
 Sent: Wednesday, December 15, 2010 1:11 PM
 To: IBM-MAIN@bama.ua.edu
 Subject: REXX Question
 
 Is there a way for a Rexx routine to collect information from the 
 active system log?  If so, do you have any code you can share?
 
 Thanks in advance.
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions, send 
 email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO 
 Search the archives at http://bama.ua.edu/archives/ibm-main.html
 
 

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html
This e-mail may contain confidential or privileged information. If
you think you have received this e-mail in error, please advise the
sender by reply e-mail and then delete this e-mail immediately.
Thank you. Aetna   

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2010-12-15 Thread Edward Jaffe

On 12/15/2010 11:11 AM, gsg wrote:

Is there a way for a Rexx routine to collect information from the active system
log?  If so, do you have any code you can share?


(E)JES provides SYSLOG and OPERLOG data to REXX programs. I assume most if not 
all of the other SPOOL management/access products do as well. Check the doc for 
whatever your using and see if it provides that capability. Even if there is no 
direct support for REXX, you might be able to CALL it and get it to copy the 
information you need into a data set that you then read with EXECIO.


--
Edward E Jaffe
Phoenix Software International, Inc
831 Parkview Drive North
El Segundo, CA 90245
310-338-0400 x318
edja...@phoenixsoftware.com
http://www.phoenixsoftware.com/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2010-12-15 Thread McKown, John
Which one? z/OS SYSLOG, OPERLOG, or UNIX SYSLOG Daemon? UNIX SYSLOG Daemon 
usually goes to one or more files in /var/log depending on the syslog.conf file 
. z/OS SYSLOG or OPERLOG, I'd use the new address sdsf functions for REXX.

http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ISF4CSA0/13.0

--
John McKown 
Systems Engineer IV
IT

Administrative Services Group

HealthMarkets(r)

9151 Boulevard 26 * N. Richland Hills * TX 76010
(817) 255-3225 phone * 
john.mck...@healthmarkets.com * www.HealthMarkets.com

Confidentiality Notice: This e-mail message may contain confidential or 
proprietary information. If you are not the intended recipient, please contact 
the sender by reply e-mail and destroy all copies of the original message. 
HealthMarkets(r) is the brand name for products underwritten and issued by the 
insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance 
Company(r), Mid-West National Life Insurance Company of TennesseeSM and The 
MEGA Life and Health Insurance Company.SM

 

 -Original Message-
 From: IBM Mainframe Discussion List 
 [mailto:ibm-m...@bama.ua.edu] On Behalf Of gsg
 Sent: Wednesday, December 15, 2010 1:11 PM
 To: IBM-MAIN@bama.ua.edu
 Subject: REXX Question
 
 Is there a way for a Rexx routine to collect information from 
 the active system 
 log?  If so, do you have any code you can share?
 
 Thanks in advance.
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html
 
 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-17 Thread Shmuel Metz (Seymour J.)
In 4ce2016f.9010...@acm.org, on 11/15/2010
   at 09:58 PM, Joel C. Ewing jcew...@acm.org said:

Not really.  I am talking about algorithmic concepts,

The mapping of multiple indexes into a single index is not an
algorithmic concept, it is a peculiarity of specific languages.

You are unnecessarily restricting the concept of a symbol table
mapping  function. 

I'm using the standard CS definition, which does not include any
concept of range, only a defined/not defined dichotomy.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-16 Thread Shmuel Metz (Seymour J.)
In
of4cb20912.bd256fba-on802577d4.00432020-802577d4.00438...@uk.ibm.com,
on 11/07/2010
   at 12:17 PM, Martin Packer martin_pac...@uk.ibm.com said:

... this really shows off the grottiness of Classic REXX as a
language... 

No, it just shows that a hammer is a poor screwdriver.

Most of this example would be MUCH better if implemented in  Object
REXX.

There we agree.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-16 Thread Shmuel Metz (Seymour J.)
In 1289080727.11210.36.ca...@mckown5.johnmckown.net, on 11/06/2010
   at 04:58 PM, John McKown joa...@swbell.net said:

I think of a REXX stem variable the same way that I do an Perl hash.
Or more like a value associated with a key where the key is an
arbitrary value. And a stem.var1.var2 is like a hash of a hash in
Perl.

Not really. In Perl I can write $foo{$bar}=%baz; there's no equivalent
in Rexx, although the is in Object Oriented Rexx (OOREX).
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-16 Thread Shmuel Metz (Seymour J.)
In listserv%201011070943066366.0...@bama.ua.edu, on 11/07/2010
   at 09:43 AM, Paul Gilmartin paulgboul...@aim.com said:

Could such a port be naturally compatible with all the existing host
command environments (TSO, ISPEXEC, ISREDIT, MVS, LINKMVS, SYSCALL,
SDSF, etc.), or would they need to be recoded entirely, or at least a
lot of glue code written?

Such a port would run existing Rexx code in those environments. The
API might be different, requiring coding changes to, e.g., ISPF, SDSF,
TSO, but not to the Rexx code.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-16 Thread Shmuel Metz (Seymour J.)
In snt113-w62b78c8d3ab60fe7f3293bc6...@phx.gbl, on 11/06/2010
   at 07:06 PM, john gilmore john_w_gilm...@msn.com said:

All subscripting schemes are devices for viewing a one-dimensional
sequence of storage locations as a multidimensional one.

No, although that is how it is defined in FORTRAN. On the B5000,
Burroughs implemented multi-dimensional arrays as arrays of array
descriptors.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-15 Thread Shmuel Metz (Seymour J.)
In listserv%201011052218485443.0...@bama.ua.edu, on 11/05/2010
   at 10:18 PM, Paul Gilmartin paulgboul...@aim.com said:

First, always, always, always start every EXEC with

signal on novalue

Chacun à son goût. I understand the argument, but consider the usage
too convenient to discard. OTOH, it's probably a good practice for
neophytes to use SIGNAL ON NOVALUE as training wheels.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-15 Thread Shmuel Metz (Seymour J.)
In
009066fa266f9b428db827deaa3c0e2701d7a...@exchangevs-04.ad.wsu.edu,
on 11/05/2010
   at 04:57 PM, Gibney, Dave gib...@wsu.edu said:

And, I can't seem to use a stem value (values of A.x) to index a
stem. 

Not in Rexx, although you can in object oriented REXX (OOREXX).
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-15 Thread Shmuel Metz (Seymour J.)
In
819636076-1288989519-cardhu_decombobulator_blackberry.rim.net-7272712...@bda506.bisx.prod.on.blackberry,
on 11/05/2010
   at 08:38 PM, Ted MacNEIL eamacn...@yahoo.ca said:

While I used to have that bias,

It's not a bias.

I have since found valid uses for it.

That does not contradict the warning to avoid it. Gerhard did *not*
say that it had no uses or that you should never use it.

This sounds Knee-Jerk.

PKB.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-15 Thread Shmuel Metz (Seymour J.)
In
009066fa266f9b428db827deaa3c0e2701d7a...@exchangevs-04.ad.wsu.edu,
on 11/05/2010
   at 11:12 AM, Gibney, Dave gib...@wsu.edu said:

Is it possible to dynamically define Rexx variables? 

Of course. Use the value() function. Don't use interpret; it will just
make the code harder to follow.

It doesn't work but I'd like something like:
X='first'
y='second'
x|magic|y='fred'
Say x|magic|yy

 X='first'
 y='second'
 call value x|magic|y,'fred'
 Say value(x|magic|yy)

What are you trying to do that wouldn't be easier with simple compound
variables?

 X='first'
 y='second'
 foo.x.y='fred'
 Say foo.x.y
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-15 Thread Shmuel Metz (Seymour J.)
In 4cd5c2dc.7070...@acm.org, on 11/06/2010
   at 04:04 PM, Joel C. Ewing jcew...@acm.org said:

I believe that REXX only directly supports one of those two
mechanisms,  namely the symbol table lookup and not true indexed
arrays.

Correct, although Object Oriented Rexx (OOREXX) has true arrays.

The distinction made is 
rather one of whether the original variable domains consist of 
consecutive integer values or not. 

There's also the issue of trapping subscripts that are out of range.

But, functionally, 
indexed arrays are just a special subset of symbol table lookup:

Not in a language that includes bounds checking.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-15 Thread Joel C. Ewing

On 11/15/2010 12:05 PM, Shmuel Metz (Seymour J.) wrote:

In4cd5c2dc.7070...@acm.org, on 11/06/2010
at 04:04 PM, Joel C. Ewingjcew...@acm.org  said:


I believe that REXX only directly supports one of those two
mechanisms,  namely the symbol table lookup and not true indexed
arrays.


Correct, although Object Oriented Rexx (OOREXX) has true arrays.


The distinction made is
rather one of whether the original variable domains consist of
consecutive integer values or not.


There's also the issue of trapping subscripts that are out of range.


But, functionally,
indexed arrays are just a special subset of symbol table lookup:


Not in a language that includes bounds checking.

Not really.  I am talking about algorithmic concepts, not about specific 
programming language implementations of those concepts.


You are unnecessarily restricting the concept of a symbol table mapping 
function.  There is no reason why a symbol table mapping function that 
computes a table offset as a linear function of integer indices could 
not and should not also detect and trap index values that are outside 
the domain of the function.  Just because some particular programming 
language may or may not directly support this does not preclude it from 
being part of the algorithmic concept.  Implementation just takes more 
effort if this feature is required and direct language support is lacking.


--
Joel C. Ewing, Fort Smith, ARjcew...@acm.org

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-08 Thread Frank Swarbrick
I have a hard time seeing that a non-programmer would find stem variables easy 
to understand, but maybe that's just me.  When I was learning REXX I wish 
someone would have told me to just think of them as keyed arrays or 
associative arrays, or even hashmaps, though I hate that term since to me a 
hash is an implementation detail and not a language feature.
Frank

On 11/7/2010 at 8:40 AM, in message
b870629719727b4ba82a6c06a31c29123119dc4...@hqmailsvr01.voltage.com, Phil
Smith p...@voltage.com wrote:
 On Sun, Nov 7, 2010 at 7:17 AM, Martin Packer martin_pac...@uk.ibm.com 
 wrote:
 Not to dismiss the sample at all but...
 
 ... this really shows off the grottiness of Classic REXX as a language...
 I have incantations just like these (and knowing enough of object-oriented
 languages and Object REXX) I wonder why we haven't ported Open Object Rexx
 to z/OS yet... Most of this example would be MUCH better if implemented in
 Object REXX. For example alloc_member and alloc_dsname stems could be
 attributes/properties/members of a single object. (And increment and
 decrement operators wouldn't be a bad idea either - though in THIS case
 some form of collection class would probably be better.)
 
 You're misinterpreting (sic) the goals of Rexx, and calling it grotty in 
 the wrong context. It's like complaining about the cargo capacity of your 
 motorcycle, or the acceleration of your semi (truck).
 
 Classic Rexx was designed to be easy to use, even for end-users. The fact 
 that it's gone way beyond that and is used for full-fledge applications is a 
 tribute to its elegance and power. Hardly grottiness.
 
 If you showed the average non-programmer Object Rexx, they wouldn't get it 
 and wouldn't use it. And loading it up with operators like increment and 
 decrement not only won't help, but will hurt.
 --
 ...phsiii
 
 Phil Smith III
 
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html

 

The information contained in this electronic communication and any document 
attached hereto or transmitted herewith is confidential and intended for the 
exclusive use of the individual or entity named above.  If the reader of this 
message is not the intended recipient or the employee or agent responsible for 
delivering it to the intended recipient, you are hereby notified that any 
examination, use, dissemination, distribution or copying of this communication 
or any part thereof is strictly prohibited.  If you have received this 
communication in error, please immediately notify the sender by reply e-mail 
and destroy this communication.  Thank you.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-07 Thread Veilleux, Jon L
I have been using interpret for this type of processing for a lot of years. 
Maybe it's just a bad habit, but it's always worked for me. I will have to 
experiment with some of the other suggestions. I certainly did not want to 
start a religious war.
Pax,
Jon

-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of 
Gerhard Postpischil
Sent: Friday, November 05, 2010 3:03 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Rexx question - Dynamic generation of variables?

On 11/5/2010 2:24 PM, Veilleux, Jon L wrote:
 INTERPRET  TEST='FRED'
 INTERPRET 'SAY TEST'

At the risk of starting another flame war, I would strongly discourage use of 
INTERPRET. While it may work correctly in some instances, it leads to problems 
in general, and is easily replaced by value().

I first ran across this problem while working at an ISV, and had to maintain 
code designed to manipulate JCL. The author used an INTERPRET that 
self-destructed the first time it encountered a JCL comment.

Gerhard Postpischil
Bradford, VT

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html
This e-mail may contain confidential or privileged information. If
you think you have received this e-mail in error, please advise the
sender by reply e-mail and then delete this e-mail immediately.
Thank you. Aetna   

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-07 Thread Bruce Hewson
I have found this form quite useful:-

alloc_member_cnt = alloc_member_cnt + 1 
alloc_member.alloc_member_cnt = my_member   
alloc_member.my_member = alloc_member_cnt   

additional information can be retained in the array:-

alloc_dsname.alloc_member_cnt = my_dsn
alloc_dsname.my_dsn = alloc_member_cnt

allowing you multiple ways to process the data.

If Strip(alloc_member.new_member)   Then Do
  Say member new_member found at entry alloc_member.new_member
End
Else Do
  alloc_member_cnt = alloc_member_cnt + 1 
  alloc_member.alloc_member_cnt = new_member   
  alloc_member.new_member = alloc_member_cnt 
End

Regards
Bruce Hewson

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-07 Thread Martin Packer
Not to dismiss the sample at all but...

... this really shows off the grottiness of Classic REXX as a language... 
I have incantations just like these (and knowing enough of object-oriented 
languages and Object REXX) I wonder why we haven't ported Open Object Rexx 
to z/OS yet... Most of this example would be MUCH better if implemented in 
Object REXX. For example alloc_member and alloc_dsname stems could be 
attributes/properties/members of a single object. (And increment and 
decrement operators wouldn't be a bad idea either - though in THIS case 
some form of collection class would probably be better.)

Martin

Martin Packer,
Mainframe Performance Consultant, zChampion
Worldwide Banking Center of Excellence, IBM

+44-7802-245-584

email: martin_pac...@uk.ibm.com

Twitter / Facebook IDs: MartinPacker



From:
Bruce Hewson bruce_hew...@hotmail.com
To:
IBM-MAIN@bama.ua.edu
Date:
07/11/2010 11:27
Subject:
Re: Rexx question - Dynamic generation of variables?
Sent by:
IBM Mainframe Discussion List IBM-MAIN@bama.ua.edu



I have found this form quite useful:-

alloc_member_cnt = alloc_member_cnt + 1 
alloc_member.alloc_member_cnt = my_member 
alloc_member.my_member = alloc_member_cnt 

additional information can be retained in the array:-

alloc_dsname.alloc_member_cnt = my_dsn
alloc_dsname.my_dsn = alloc_member_cnt

allowing you multiple ways to process the data.

If Strip(alloc_member.new_member)   Then Do
  Say member new_member found at entry alloc_member.new_member
End
Else Do
  alloc_member_cnt = alloc_member_cnt + 1 
  alloc_member.alloc_member_cnt = new_member 
  alloc_member.new_member = alloc_member_cnt 
End

Regards
Bruce Hewson

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html







Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU






--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-07 Thread John McKown
On Sun, 2010-11-07 at 12:17 +, Martin Packer wrote:
 Not to dismiss the sample at all but...
 
 ... this really shows off the grottiness of Classic REXX as a language... 
 I have incantations just like these (and knowing enough of object-oriented 
 languages and Object REXX) I wonder why we haven't ported Open Object Rexx 
 to z/OS yet... Most of this example would be MUCH better if implemented in 
 Object REXX. For example alloc_member and alloc_dsname stems could be 
 attributes/properties/members of a single object. (And increment and 
 decrement operators wouldn't be a bad idea either - though in THIS case 
 some form of collection class would probably be better.)
 
 Martin
 
 Martin Packer,

I agree that Object REXX on z/OS, especially in the UNIX arena, would be
wonderful. Once again, I am frustrated by things beyond my control. I
would love to look at porting it. The source is available. What is not
available, to me, is a real C compiler. GCC is a real C compiler. But I
just can't get the GCCMVS to work for me. Guess I'm just stupid. I
failed compiler theory in college and it's still haunting me, 35 years
later.

Wish I could afford Dignus C  ASM or Tachyon Workbench (ASM only). I
just can't. 'Nuff said or I'd say too much.

-- 
John McKown
Maranatha! 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-07 Thread Phil Smith
On Sun, Nov 7, 2010 at 7:17 AM, Martin Packer martin_pac...@uk.ibm.com wrote:
 Not to dismiss the sample at all but...

 ... this really shows off the grottiness of Classic REXX as a language...
 I have incantations just like these (and knowing enough of object-oriented
 languages and Object REXX) I wonder why we haven't ported Open Object Rexx
 to z/OS yet... Most of this example would be MUCH better if implemented in
 Object REXX. For example alloc_member and alloc_dsname stems could be
 attributes/properties/members of a single object. (And increment and
 decrement operators wouldn't be a bad idea either - though in THIS case
 some form of collection class would probably be better.)

You're misinterpreting (sic) the goals of Rexx, and calling it grotty in the 
wrong context. It's like complaining about the cargo capacity of your 
motorcycle, or the acceleration of your semi (truck).

Classic Rexx was designed to be easy to use, even for end-users. The fact that 
it's gone way beyond that and is used for full-fledge applications is a tribute 
to its elegance and power. Hardly grottiness.

If you showed the average non-programmer Object Rexx, they wouldn't get it 
and wouldn't use it. And loading it up with operators like increment and 
decrement not only won't help, but will hurt.
--
...phsiii

Phil Smith III


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-07 Thread Paul Gilmartin
On Sun, 7 Nov 2010 07:37:01 -0600, John McKown wrote:

I agree that Object REXX on z/OS, especially in the UNIX arena, would be
wonderful. Once again, I am frustrated by things beyond my control. I

Could such a port be naturally compatible with all the existing
host command environments (TSO, ISPEXEC, ISREDIT, MVS, LINKMVS,
SYSCALL, SDSF, etc.), or would they need to be recoded entirely,
or at least a lot of glue code written?  Could Object REXX call
existing functions in classic Rexx and vice-versa?  What about
Object System Rexx?

would love to look at porting it. The source is available. What is not
available, to me, is a real C compiler. GCC is a real C compiler. But I
just can't get the GCCMVS to work for me. Guess I'm just stupid. I
failed compiler theory in college and it's still haunting me, 35 years
later.

That's not theory; that's practice.

This thread would better be on TSO-REXX, except that John G.
wouldn't be able to contribute.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-07 Thread zMan
On Sun, Nov 7, 2010 at 10:54 AM, john gilmore john_w_gilm...@msn.com wrote:
 Move this discussion to TSO-REXX or elsewhere as you see fit.  I am an 
 advocate of proper fora, and I
 shall not feel excluded from a discussion I am unaware of.

Jawohl, Herr Oberst.

Actually, no. This isn't TSO-REXX specific; it's Rexx-specific. And
Rexx has been the scripting language on all major IBM platforms for
20+ years, including mainframes. So this is hardly the improper forum.
-- 
zMan -- I've got a mainframe and I'm not afraid to use it

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-06 Thread Joel C. Ewing

On 11/05/2010 07:24 PM, Gibney, Dave wrote:

-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
Behalf Of Phil Smith
Sent: Friday, November 05, 2010 5:09 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Rexx question - Dynamic generation of variables?


snip


Stems are not arrays.
Not now, not ever. But in some ways they're more powerful, as they let
you do associative memory.


That's why I decided on Rexx, I want what is in effect a 3 dimensional
associative memory space. Dsname X volser X Lpar.


--
...phsiii

Phil Smith III
p...@voltage.com
Voltage Security, Inc.
www.voltage.com


...

Since the stem index is an arbitrary variable value, whenever I have 
needed a table lookup dependent on multiple variable values I have 
usually been able to use a construct like


table. = 'some default value'
...
index = dsname # volser # lpar
table.index = 'some value'

and then use a similar setting of index before using table.index to 
lookup a value in the table.


This technique in effect maps any number of dimensions to a single 
dimension.


--
Joel C. Ewing, Fort Smith, ARjcew...@acm.org

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-06 Thread Paul Gilmartin
On Sat, 6 Nov 2010 08:33:02 -0500, Joel C. Ewing wrote:

Since the stem index is an arbitrary variable value, whenever I have
needed a table lookup dependent on multiple variable values I have
usually been able to use a construct like

table. = 'some default value'
...
index = dsname # volser # lpar
table.index = 'some value'

and then use a similar setting of index before using table.index to
lookup a value in the table.

This technique in effect maps any number of dimensions to a single
dimension.

Of course:

table.dsname.volser.lpar = 'some value'

is simpler.  I can imagine only two reasons for manufacturing
the index.

o The '.' character may appear in dsnames, allowing ambiguity.
  But it's still safe if neither of the other two tail components
  can contain '.'.  And since '#', like '.' can appear in dsnames,
  you gain nothing by using it as a delimiter.  Best use a
  delimiter that's prohibited in all tail components.  Even
  here there's a hazard.  JCL allows (or allowed a couple decades
  ago) any code point in a volser surrounded by apostrophes.
  In a POC back then, we discovered that a volser starting with
  x'FF' was taken as a special form where the remaining five
  bytes contained a memory address.  Strange program checks in
  label processing.

o Generating the tail separately allows NOVALUE signals, detecting
  possible undefined variables.  Explicit use of an undefined
  symbol in a compound tail does not signal NOVALUE.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-06 Thread john gilmore
Joel Ewing wrote:

| This technique in effect maps any number of dimensions to a single dimension. 
 
and there is an important functional sense in which his statement is correct; 
but 1) it confounds two very different mechanisms, 2) it is not a scheme 
specific to REXX, and 3) these two mechanisms have their own distinct, 
non-overlapping uses.  
 
Let us look first at subscripting, specifically at a one-dimensional, 
eight-element single-byte array having what I shall call the identifier x,
 
|0|1|2|3|4|5|6|7|
 
Suppose now that we wish to access element i,  0 = i = 7 of x.  If the 
address of this array is addr(x) then the address of its i-th element is just
 
addr(x) + i.
 
If  now we consider another, two-dimensional, 2 x 4, eight-element single-byte 
array having the identifier y,
 
|0,0|0,1|0,2|0,3|1,0|1,1|1,2|1,3|
 
the address of its element having the subscripts i, j is just
 
addr(y) + j + (i - 1)4
 
Here  eight bytes of storage can be viewed as a one-dimensional array, as a 
two-dimensional one, or, on occasion, as both.  The location of an element of a 
one-, two-, or n-dimensional array is determined arithmetically.  (For 
simplicity I have made these elements single-byte ones that are stored in 
zero-origin, row-major sequence.  Some arrays are one-origin ones; most have 
elements more than a single byte in length, and some FORTRAN dialects still 
store arrays in column-major order; but these differences are trivial.)  What 
is important is that subscripting uses numeric function.  Its argumet is a set 
of one or more subscripts and its value is an address.  All subscripting 
schemes are devices for viewing a one-dimensional sequence of storage locations 
as a multidimensional one.
 
Historically, identifiers or variable names were specified at program-writing 
time, but they can also be created at program-execution time.  One needs a 
table of identifiers--It is/was often called a symbol table--and a convention 
for specifying/identifying the value of an identifier.  
 
In the IBM HLASM macro language, for example, ordinary set symbols have names 
like counter, switch, or abort that are given to them at program-writing 
time.  They can also be created later, and these created set symbols are 
distinguished from ordinary set symbols using an extra set of parentheses.  Thus
 
|name0setc'gubbins'  --set-symbol identifier
|gblc(name0) --created set symbol
 
Encoumntering these statements, the HLASM macro processor loks in its symbol 
table for the identifier 'gubbins'.  If it finds that identifier, its value is 
used.  If not a created global set symbol is added to the appropriate symbol 
table.
 
We can do much more interesting things too. Consider
 
|name1setc  'name0'.'sex'.'age'|
 gblc  (name1)
 
where sex is always either 'M' or 'F' and age is always one of '000', '001', 
'002', . . . , '999'.
 
If then on some occasion name1 has the value 'gubbinsM024' we ca view the 
statement
 
|name1   seta  (name1)+1
 
as incrementing the count of 24-year-old males in some population.  In 
practical terms this is much is scheme is very similar to one that uses a 2 x 
1000 array, but the mechanism used to implement it is very different: ituses 
not subscripting but a large number of scalar identifiers that have an 
internal, decodable structure like that of a part number, insdurance-policy 
number or savings-account number, here some or all of
 
gubbinsF000,  gubbinsF001,  . . . , gubbinsF999, gubbinsM000, gubbinsM001, . . 
. , gubbinsM999.
 
Identifier-construction schemes like these are slower, much slower, than 
arithmetic subscripting; but if a table is sparsely populated, i.e., if only a 
few of the identifiers that a particular sceme makes possible are in fact used, 
they can be very useful.
 
They have another important use in both the HLASM and REXX.  They can be used 
to make data 'reentrant' in a Pickwickian but important sense.  In certain 
HLASM table-generation macros, for example,  I accumulate information in sets 
of global set symbol of the form
 
|valueid setc 'macname'.'tabname'.'whatever'
|  gblc   (valueid)(1)
 
and the use of this scheme permits two, three, or n different tables of the 
same sort but having different tabname= values to be assembled concurrently: 
the data for table alpha are distinguishable and distinguished from the data 
for table delta because 'alpha' and 'delta'  appear as positional substrings in 
the different, non-overlapping identifiers of their data.Table-generation 
macros that use this scheme are reentrant in much the same sense in which 
procedures trhat use different blocks of automatic storage are reentrant. 
 
John Gilmore Ashland, MA 01721-1817 USA


  
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to 

Re: Rexx question - Dynamic generation of variables?

2010-11-06 Thread Joel C. Ewing
I believe that REXX only directly supports one of those two mechanisms, 
namely the symbol table lookup and not true indexed arrays.  Although 
one may use in a REXX program symbol.ix, where ix in that particular 
program is always a positive numeric integer, I would think this only 
gives the illusion of an indexed array and not the reality, since an 
interpreter like REXX cannot assume that later stem arguments will 
continue to be numeric, and also symbol.1 is distinct from symbol.001.


The distinction that John draws is not really related to the number of 
dimensions involved or to the concept that a multi-variate function may 
be re-conceptualized as a single-variate function whose domain is a set 
involving a product of the original domains.  The distinction made is 
rather one of whether the original variable domains consist of 
consecutive integer values or not.  If so, the process of locating and 
retrieving values can be done much more cheaply by offset calculation.


Indexed lookup is definitely more efficient, and simpler techniques can 
be used to implement it -- and this may affect the contexts in which 
each approach is best used or even practical.  But, functionally, 
indexed arrays are just a special subset of symbol table lookup:  where 
the symbol values (consecutive integers) are so predictable they need 
not be stored, the hashing function to locate an entry is the simple 
offset calculation previously indicated, and collisions with conflicting 
symbols are known to be impossible.

   Joel C Ewing

On 11/06/2010 02:06 PM, john gilmore wrote:

Joel Ewing wrote:

| This technique in effect maps any number of dimensions to a single dimension.

and there is an important functional sense in which his statement is correct; 
but 1)
 it confounds two very different mechanisms, 2) it is not a scheme 
specific to REXX,

and 3) these two mechanisms have their own distinct, non-overlapping uses.


Let us look first at subscripting, specifically at a one-dimensional, 
eight-element single-byte

 array having what I shall call the identifier x,

|0|1|2|3|4|5|6|7|

Suppose now that we wish to access element i,  0= i= 7 of x.  If the address 
of

this array is addr(x) then the address of its i-th element is just

addr(x) + i.

If  now we consider another, two-dimensional, 2 x 4, eight-element single-byte 
array having the identifier y,
|0,0|0,1|0,2|0,3|1,0|1,1|1,2|1,3|
the address of its element having the subscripts i, j is just

addr(y) + j + (i - 1)4

Here  eight bytes of storage can be viewed as a one-dimensional array, as a 
two-dimensional one,
or, on occasion, as both.  The location of an element of a one-, two-, 
or n-dimensional array
is determined arithmetically.  (For simplicity I have made these 
elements single-byte ones
that are stored in zero-origin, row-major sequence.  Some arrays are 
one-origin ones; most
have elements more than a single byte in length, and some FORTRAN 
dialects still store arrays
 in column-major order; but these differences are trivial.)  What is 
important is that
subscripting uses numeric function.  Its argumet is a set of one or more 
subscripts and
its value is an address.  All subscripting schemes are devices for 
viewing a one-dimensional

sequence of storage locations as a multidimensional one.


Historically, identifiers or variable names were specified at program-writing 
time,
but they can also be created at program-execution time.  One needs a 
table of
identifiers--It is/was often called a symbol table--and a convention for 
specifying/identifying

 the value of an identifier.


In the IBM HLASM macro language, for example, ordinary set symbols have names 
like
counter,switch, orabort that are given to them at program-writing 
time.  They can
 also be created later, and these created set symbols are distinguished 
from ordinary

set symbols using an extra set of parentheses.  Thus


|name0setc'gubbins'  --set-symbol identifier
|gblc(name0) --created set symbol

Encoumntering these statements, the HLASM macro processor loks in its symbol 
table
for the identifier 'gubbins'.  If it finds that identifier, its value is 
used.

If not a created global set symbol is added to the appropriate symbol table.


We can do much more interesting things too. Consider

|name1setc  'name0'.'sex'.'age'|
  gblc(name1)

wheresex is always either 'M' or 'F' andage is always one of '000', '001', 
'002', . . . , '999'.

If then on some occasionname1 has the value 'gubbinsM024' we ca view the 
statement

|name1   seta(name1)+1

as incrementing the count of 24-year-old males in some population.  In 
practical terms
 this is much is scheme is very similar to one that uses a 2 x 1000 
array, but the mechanism
 used to implement it is very different: ituses not subscripting but a 
large number of
scalar identifiers that have an internal, decodable structure like that 
of a part number,

insdurance-policy 

Re: Rexx question - Dynamic generation of variables?

2010-11-06 Thread John McKown
On Sat, 2010-11-06 at 16:04 -0500, Joel C. Ewing wrote:
 I believe that REXX only directly supports one of those two mechanisms, 
 namely the symbol table lookup and not true indexed arrays.  Although 
 one may use in a REXX program symbol.ix, where ix in that particular 
 program is always a positive numeric integer, I would think this only 
 gives the illusion of an indexed array and not the reality, since an 
 interpreter like REXX cannot assume that later stem arguments will 
 continue to be numeric, and also symbol.1 is distinct from symbol.001.
 
 The distinction that John draws is not really related to the number of 
 dimensions involved or to the concept that a multi-variate function may 
 be re-conceptualized as a single-variate function whose domain is a set 
 involving a product of the original domains.  The distinction made is 
 rather one of whether the original variable domains consist of 
 consecutive integer values or not.  If so, the process of locating and 
 retrieving values can be done much more cheaply by offset calculation.
 
 Indexed lookup is definitely more efficient, and simpler techniques can 
 be used to implement it -- and this may affect the contexts in which 
 each approach is best used or even practical.  But, functionally, 
 indexed arrays are just a special subset of symbol table lookup:  where 
 the symbol values (consecutive integers) are so predictable they need 
 not be stored, the hashing function to locate an entry is the simple 
 offset calculation previously indicated, and collisions with conflicting 
 symbols are known to be impossible.
 Joel C Ewing

I think of a REXX stem variable the same way that I do an Perl hash. Or
more like a value associated with a key where the key is an arbitrary
value. And a stem.var1.var2 is like a hash of a hash in Perl.
-- 
John McKown
Maranatha! 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-06 Thread Paul Gilmartin
On Sat, 6 Nov 2010 16:58:47 -0500, John McKown wrote:

I think of a REXX stem variable the same way that I do an Perl hash. Or
more like a value associated with a key where the key is an arbitrary
value. And a stem.var1.var2 is like a hash of a hash in Perl.

If I understand what you mean by hash of a hash, I believe not.
As I posted yesterday:

Beware the pitfall.  If:

W = 'a.b'
X = 'c'
Y = 'a'
Z = 'b.c'

then Stem.W.X and Stem.Y.Z refer to the same member of the
compound, regardless that none of the subscripts are equal.

Multiple subscripts are flattened, in a possibly degenerate manner.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-06 Thread John McKown
On Sat, 2010-11-06 at 18:26 -0500, Paul Gilmartin wrote:
 On Sat, 6 Nov 2010 16:58:47 -0500, John McKown wrote:
 
 I think of a REXX stem variable the same way that I do an Perl hash. Or
 more like a value associated with a key where the key is an arbitrary
 value. And a stem.var1.var2 is like a hash of a hash in Perl.
 
 If I understand what you mean by hash of a hash, I believe not.
 As I posted yesterday:
 
 Beware the pitfall.  If:
 
 W = 'a.b'
 X = 'c'
 Y = 'a'
 Z = 'b.c'
 
 then Stem.W.X and Stem.Y.Z refer to the same member of the
 compound, regardless that none of the subscripts are equal.
 
 Multiple subscripts are flattened, in a possibly degenerate manner.
 
 -- gil
 
 --

Ouch. I didn't realize that. I must have missed some of the previous
posts.

-- 
John McKown
Maranatha! 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Walt Farrell
On Fri, 5 Nov 2010 11:12:44 -0700, Gibney, Dave gib...@wsu.edu wrote:

I don't subscribe to the Rexx list and am not sure I'd survive another
list :)

Is it possible to dynamically define Rexx variables?

It doesn't work but I'd like something like:
X='first'
y='second'
x|magic|y='fred'
Say x|magic|yy

And get 'fred' as the output.

Really x is a dsname and y is the volser and I'd like a variable
dsn|magic|volser.

Are you looking for something different from REXX's standard compound symbols?

X='first'
y='second'
x.y = 'fred'
say x.y

http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ikj4a390/2.4.3?SHELF=EZ2ZBK0KDT=20100603150559

-- 
Walt Farrell
IBM STSM, z/OS Security Design

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Veilleux, Jon L
Try this...although it is not great...

X='FIRST' 
Y='SECOND'
TEST= X'MAGIC'Y   
INTERPRET  TEST='FRED'  
INTERPRET 'SAY TEST'

-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of 
Gibney, Dave
Sent: Friday, November 05, 2010 2:13 PM
To: IBM-MAIN@bama.ua.edu
Subject: Rexx question - Dynamic generation of variables?

I don't subscribe to the Rexx list and am not sure I'd survive another list :)

Is it possible to dynamically define Rexx variables? 

It doesn't work but I'd like something like:
X='first'
y='second'
x|magic|y='fred'
Say x|magic|yy

And get 'fred' as the output.

Really x is a dsname and y is the volser and I'd like a variable
dsn|magic|volser. 

Dave Gibney
Information Technology Services
Washington State University

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html
This e-mail may contain confidential or privileged information. If
you think you have received this e-mail in error, please advise the
sender by reply e-mail and then delete this e-mail immediately.
Thank you. Aetna   

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Gibney, Dave
 -Original Message-
 From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
 Behalf Of Walt Farrell
 Sent: Friday, November 05, 2010 11:18 AM
 To: IBM-MAIN@bama.ua.edu
 Subject: Re: Rexx question - Dynamic generation of variables?
 
 On Fri, 5 Nov 2010 11:12:44 -0700, Gibney, Dave gib...@wsu.edu
wrote:
 
 I don't subscribe to the Rexx list and am not sure I'd survive
another
 list :)
 
 Is it possible to dynamically define Rexx variables?
 
 It doesn't work but I'd like something like:
 X='first'
 y='second'
 x|magic|y='fred'
 Say x|magic|yy
 
 And get 'fred' as the output.
 
 Really x is a dsname and y is the volser and I'd like a variable
 dsn|magic|volser.
 
 Are you looking for something different from REXX's standard compound
 symbols?
 
 X='first'
 y='second'
 x.y = 'fred'
 say x.y

Yes, in the end, and I should have mentioned it, I want to dynamically
define the stem root.

I want to able to set dsnamevolser.catlg = 'YES' and dsnamevolser.poe -
'yes'


 
 http://publibz.boulder.ibm.com/cgi-

bin/bookmgr_OS390/BOOKS/ikj4a390/2.4.3?SHELF=EZ2ZBK0KDT=20100603150559
 
 --
 Walt Farrell
 IBM STSM, z/OS Security Design
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Veilleux, Jon L
Oops had my ' in the wrong place

TRACE ?R  
X='FIRST' 
Y='SECOND'
TEST= X'MAGIC'Y   
INTERPRET  TEST='FRED'  
INTERPRET 'SAY ' TEST  this will show as 'say FIRSTMAGICSECOND' and the 
result will be FRED 

-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of 
Veilleux, Jon L
Sent: Friday, November 05, 2010 2:25 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Rexx question - Dynamic generation of variables?

Try this...although it is not great...

X='FIRST' 
Y='SECOND'
TEST= X'MAGIC'Y   
INTERPRET  TEST='FRED'  
INTERPRET 'SAY TEST'

-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of 
Gibney, Dave
Sent: Friday, November 05, 2010 2:13 PM
To: IBM-MAIN@bama.ua.edu
Subject: Rexx question - Dynamic generation of variables?

I don't subscribe to the Rexx list and am not sure I'd survive another list :)

Is it possible to dynamically define Rexx variables? 

It doesn't work but I'd like something like:
X='first'
y='second'
x|magic|y='fred'
Say x|magic|yy

And get 'fred' as the output.

Really x is a dsname and y is the volser and I'd like a variable
dsn|magic|volser. 

Dave Gibney
Information Technology Services
Washington State University

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html
This e-mail may contain confidential or privileged information. If you think 
you have received this e-mail in error, please advise the sender by reply 
e-mail and then delete this e-mail immediately.
Thank you. Aetna   

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html
This e-mail may contain confidential or privileged information. If
you think you have received this e-mail in error, please advise the
sender by reply e-mail and then delete this e-mail immediately.
Thank you. Aetna   

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Farley, Peter x23353
Dave,

You can use the Rexx function VALUE to do this:

Oldvalue = value(x|magix|y, 'newvalue')

HTH

Peter

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
 Behalf Of Gibney, Dave
 Sent: Friday, November 05, 2010 2:29 PM
 To: IBM-MAIN@bama.ua.edu
 Subject: Re: Rexx question - Dynamic generation of variables?
 
  -Original Message-
  From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
  Behalf Of Walt Farrell
  Sent: Friday, November 05, 2010 11:18 AM
  To: IBM-MAIN@bama.ua.edu
  Subject: Re: Rexx question - Dynamic generation of variables?
 
  On Fri, 5 Nov 2010 11:12:44 -0700, Gibney, Dave gib...@wsu.edu
 wrote:
 
  I don't subscribe to the Rexx list and am not sure I'd survive
 another
  list :)
  
  Is it possible to dynamically define Rexx variables?
  
  It doesn't work but I'd like something like:
  X='first'
  y='second'
  x|magic|y='fred'
  Say x|magic|yy
  
  And get 'fred' as the output.
  
  Really x is a dsname and y is the volser and I'd like a variable
  dsn|magic|volser.
 
  Are you looking for something different from REXX's standard compound
  symbols?
 
  X='first'
  y='second'
  x.y = 'fred'
  say x.y
 
 Yes, in the end, and I should have mentioned it, I want to dynamically
 define the stem root.
 
 I want to able to set dsnamevolser.catlg = 'YES' and dsnamevolser.poe -
 'yes'
 
 
 
  http://publibz.boulder.ibm.com/cgi-
 
 bin/bookmgr_OS390/BOOKS/ikj4a390/2.4.3?SHELF=EZ2ZBK0KDT=20100603150559
 
  --
  Walt Farrell
  IBM STSM, z/OS Security Design
--
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...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Veilleux, Jon L
Something like this? Using dsn and volser

TRACE R  
Q=LISTDSI(SYS1.PARMLIB)  
X=SYSDSNAME  
Y=SYSVOLUME  
TEST= X'.'Y  
INTERPRET  TEST='FRED' 
INTERPRET 'SAY ' TEST 

-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of 
Gibney, Dave
Sent: Friday, November 05, 2010 2:29 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Rexx question - Dynamic generation of variables?

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On 
 Behalf Of Walt Farrell
 Sent: Friday, November 05, 2010 11:18 AM
 To: IBM-MAIN@bama.ua.edu
 Subject: Re: Rexx question - Dynamic generation of variables?
 
 On Fri, 5 Nov 2010 11:12:44 -0700, Gibney, Dave gib...@wsu.edu
wrote:
 
 I don't subscribe to the Rexx list and am not sure I'd survive
another
 list :)
 
 Is it possible to dynamically define Rexx variables?
 
 It doesn't work but I'd like something like:
 X='first'
 y='second'
 x|magic|y='fred'
 Say x|magic|yy
 
 And get 'fred' as the output.
 
 Really x is a dsname and y is the volser and I'd like a variable
 dsn|magic|volser.
 
 Are you looking for something different from REXX's standard compound 
 symbols?
 
 X='first'
 y='second'
 x.y = 'fred'
 say x.y

Yes, in the end, and I should have mentioned it, I want to dynamically define 
the stem root.

I want to able to set dsnamevolser.catlg = 'YES' and dsnamevolser.poe - 'yes'


 
 http://publibz.boulder.ibm.com/cgi-

bin/bookmgr_OS390/BOOKS/ikj4a390/2.4.3?SHELF=EZ2ZBK0KDT=20100603150559
 
 --
 Walt Farrell
 IBM STSM, z/OS Security Design
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions, send 
 email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO 
 Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html
This e-mail may contain confidential or privileged information. If
you think you have received this e-mail in error, please advise the
sender by reply e-mail and then delete this e-mail immediately.
Thank you. Aetna   

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Veilleux, Jon L
If you want to use a DO loop you can iterate through it like this:

Q=LISTDSI(SYS1.PARMLIB)  
X=SYSDSNAME  
Y=SYSVOLUME  
TEST= X'.'Y  
DO Z=1 TO 4  
TRACE R  
INTERPRET  TEST'.'Z='FRED'Z
INTERPRET 'SAY ' TEST'.'Z
TRACE OFF
END  
EXIT 

-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of 
Veilleux, Jon L
Sent: Friday, November 05, 2010 2:40 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Rexx question - Dynamic generation of variables?

Something like this? Using dsn and volser

TRACE R  
Q=LISTDSI(SYS1.PARMLIB)  
X=SYSDSNAME  
Y=SYSVOLUME  
TEST= X'.'Y  
INTERPRET  TEST='FRED' 
INTERPRET 'SAY ' TEST 

-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of 
Gibney, Dave
Sent: Friday, November 05, 2010 2:29 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Rexx question - Dynamic generation of variables?

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On 
 Behalf Of Walt Farrell
 Sent: Friday, November 05, 2010 11:18 AM
 To: IBM-MAIN@bama.ua.edu
 Subject: Re: Rexx question - Dynamic generation of variables?
 
 On Fri, 5 Nov 2010 11:12:44 -0700, Gibney, Dave gib...@wsu.edu
wrote:
 
 I don't subscribe to the Rexx list and am not sure I'd survive
another
 list :)
 
 Is it possible to dynamically define Rexx variables?
 
 It doesn't work but I'd like something like:
 X='first'
 y='second'
 x|magic|y='fred'
 Say x|magic|yy
 
 And get 'fred' as the output.
 
 Really x is a dsname and y is the volser and I'd like a variable
 dsn|magic|volser.
 
 Are you looking for something different from REXX's standard compound 
 symbols?
 
 X='first'
 y='second'
 x.y = 'fred'
 say x.y

Yes, in the end, and I should have mentioned it, I want to dynamically define 
the stem root.

I want to able to set dsnamevolser.catlg = 'YES' and dsnamevolser.poe - 'yes'


 
 http://publibz.boulder.ibm.com/cgi-

bin/bookmgr_OS390/BOOKS/ikj4a390/2.4.3?SHELF=EZ2ZBK0KDT=20100603150559
 
 --
 Walt Farrell
 IBM STSM, z/OS Security Design
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions, send 
 email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO 
 Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html
This e-mail may contain confidential or privileged information. If you think 
you have received this e-mail in error, please advise the sender by reply 
e-mail and then delete this e-mail immediately.
Thank you. Aetna   

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Gerhard Postpischil

On 11/5/2010 2:24 PM, Veilleux, Jon L wrote:

INTERPRET  TEST='FRED'
INTERPRET 'SAY TEST'


At the risk of starting another flame war, I would strongly 
discourage use of INTERPRET. While it may work correctly in some 
instances, it leads to problems in general, and is easily 
replaced by value().


I first ran across this problem while working at an ISV, and had 
to maintain code designed to manipulate JCL. The author used an 
INTERPRET that self-destructed the first time it encountered a 
JCL comment.


Gerhard Postpischil
Bradford, VT

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread zMan
On Fri, Nov 5, 2010 at 3:03 PM, Gerhard Postpischil gerh...@valley.net wrote:
 On 11/5/2010 2:24 PM, Veilleux, Jon L wrote:

 INTERPRET  TEST='FRED'
 INTERPRET 'SAY TEST'

 At the risk of starting another flame war, I would strongly discourage use
 of INTERPRET. While it may work correctly in some instances, it leads to
 problems in general, and is easily replaced by value().

 I first ran across this problem while working at an ISV, and had to maintain
 code designed to manipulate JCL. The author used an INTERPRET that
 self-destructed the first time it encountered a JCL comment.

And for that matter, it's not needed in any of the cases used here --
even VALUE isn't needed.
-- 
zMan -- I've got a mainframe and I'm not afraid to use it

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Gibney, Dave
s_dsn = translate(i_dsname,'.!','!.')
say s_dsn i_volume   
trace r  
defvar= s_dsn||i_volume  
interpret defvar='Set to this' 
interpret 'say ' defvar  

This sequence works and I get a variable named as the concatenation of
the dsname and the volser.

How would I get a similarly named variable using value(). Actually, I
see how I can get the variable using value, I just have difficulty
seeing how I can use the resulting variable in other statements.
Once I have the variable and have assigned it a value, I will need to
use the variable in comparison and assignment statements. 

Normally, I would just brute force this with some arrays. Since I am at
a Software AG shop, I'd use Natural. But, I thought I'd refresh my Rexx
and I remembered the power of using stems as associative arrays. Someway
of nesting stems would also serve my needs.

My actual problem is audit/clean-up of several volumes shared across 4
Lpars with separate catalogs and duplicate dsnames. I want to identify
miscatalogs and completely uncataloged datasets. I also want to flag
potential troublesome PDS/E

Dave Gibney
Information Technology Services
Washington State University


 -Original Message-
 From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
 Behalf Of Gerhard Postpischil
 Sent: Friday, November 05, 2010 12:03 PM
 To: IBM-MAIN@bama.ua.edu
 Subject: Re: Rexx question - Dynamic generation of variables?
 
 On 11/5/2010 2:24 PM, Veilleux, Jon L wrote:
  INTERPRET  TEST='FRED'
  INTERPRET 'SAY TEST'
 
 At the risk of starting another flame war, I would strongly
 discourage use of INTERPRET. While it may work correctly in some
 instances, it leads to problems in general, and is easily
 replaced by value().
 
 I first ran across this problem while working at an ISV, and had
 to maintain code designed to manipulate JCL. The author used an
 INTERPRET that self-destructed the first time it encountered a
 JCL comment.
 
 Gerhard Postpischil
 Bradford, VT
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Ted MacNEIL
At the risk of starting another flame war, I would strongly discourage use of 
INTERPRET.

While I used to have that bias, I have since found valid uses for it.


While it may work correctly in some instances, it leads to problems in 
general, and is easily replaced by value().

This sounds Knee-Jerk.


I first ran across this problem while working at an ISV, and had to maintain 
code designed to manipulate JCL. The author used an INTERPRET that 
self-destructed the first time it encountered a JCL comment.

Is this a problem with INTERPRET, or a problem with programming/testing skills?

-
I'm a SuperHero with neither powers, nor motivation!
Kimota!

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Paul Gilmartin
On Fri, 5 Nov 2010 11:28:44 -0700, Gibney, Dave wrote:

Yes, in the end, and I should have mentioned it, I want to dynamically
define the stem root.

Why?

I want to able to set dsnamevolser.catlg = 'YES' and dsnamevolser.poe -
'yes'

What exactly is wrong with A.dsnamevolser.catlg and
A.dsnamevolser.poe

BTW, you'll find it easier to blend unnoticed among the Rexx
experts if you remember that Rexx's boolean values are
'1' and '0' and use those in place of 'YES' and 'NO'.
You can even facilitate printing by defining a compound:

DisplayPOE.1 = 'Library'
DisplayPOE.0 = 'PDS'

(Application is left as an exercise for the reader.)

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Gibney, Dave
 -Original Message-
 From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
 Behalf Of Paul Gilmartin
 Sent: Friday, November 05, 2010 1:40 PM
 To: IBM-MAIN@bama.ua.edu
 Subject: Re: Rexx question - Dynamic generation of variables?
 
 On Fri, 5 Nov 2010 11:28:44 -0700, Gibney, Dave wrote:
 
 Yes, in the end, and I should have mentioned it, I want to
dynamically
 define the stem root.
 
 Why?
 
 I want to able to set dsnamevolser.catlg = 'YES' and dsnamevolser.poe
 -
 'yes'
 
 What exactly is wrong with A.dsnamevolser.catlg and
 A.dsnamevolser.poe

Perhaps blinders :) I have always seen stems as the part before the
period and the part after the single, one and only period. 

Perhaps I'm trying to solve a non-existent problem due to my lack of
Rexx experience.

Yes, it seems I missed the section on Compound symbols (2.4.3) in the
z/OS 1.11 version. :)

 
 BTW, you'll find it easier to blend unnoticed among the Rexx
 experts if you remember that Rexx's boolean values are
 '1' and '0' and use those in place of 'YES' and 'NO'.

I certainly don't claim full knowledge of Rexx and appreciate your help.
In this almost 1 sysprog shop, I rarely have time to become expert at
on any z/OS subject before the next issue arises :(
In reading the above noted section, I think I should start thinking of
symbols and not classic variables.

 You can even facilitate printing by defining a compound:
 
 DisplayPOE.1 = 'Library'
 DisplayPOE.0 = 'PDS'
 
 (Application is left as an exercise for the reader.)
 
 -- gil
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Paul Gilmartin
On Fri, 5 Nov 2010 13:58:22 -0700, Gibney, Dave wrote:

Perhaps blinders :) I have always seen stems as the part before the
period and the part after the single, one and only period.

In a way, your intuition is good.  Rexx compounds are truly
one-dimensional; Rexx tries to fool you by concatenating the
tail components.  But beware the pitfall.  If:

W = 'a.b'
X = 'c'
Y = 'a'
Z = 'b.c'

then Stem.W.X and Stem.Y.Z refer to the same member of the
compound, regardless that none of the subscripts are equal.

This is eerily reminiscent of the way FORTRAN flattens
multidimensional arrays.

Perhaps I'm trying to solve a non-existent problem due to my lack of
Rexx experience.

Would it be more courteous to disagree with you, or to agree?

Ted is right; there are legitimate uses for INTERPRET and
VALUE.  Using INTERPRET or even VALUE here is using a
hand grenade where a Swiss Army Knife would be a more
suitable tool.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Gibney, Dave
 -Original Message-
 From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
 Behalf Of Paul Gilmartin
 Sent: Friday, November 05, 2010 2:18 PM
 To: IBM-MAIN@bama.ua.edu
 Subject: Re: Rexx question - Dynamic generation of variables?
 
 On Fri, 5 Nov 2010 13:58:22 -0700, Gibney, Dave wrote:
 
 Perhaps blinders :) I have always seen stems as the part before the
 period and the part after the single, one and only period.
 
 In a way, your intuition is good.  Rexx compounds are truly
 one-dimensional; Rexx tries to fool you by concatenating the
 tail components.  But beware the pitfall.  If:
 
 W = 'a.b'
 X = 'c'
 Y = 'a'
 Z = 'b.c'
 
 then Stem.W.X and Stem.Y.Z refer to the same member of the
 compound, regardless that none of the subscripts are equal.
 

And, I can't seem to use a stem value (values of A.x) to index a stem. 
A.x = 'foo'
say A.x
B.foo = 'bar'  
say B.foo  
say B.A.x  
y = A.x
say y  
say B.y
Gets:
foo  
bar  
B.A.X
foo  
B.foo

I want bar where I get B.A.X and B.foo

 This is eerily reminiscent of the way FORTRAN flattens
 multidimensional arrays.
 
 Perhaps I'm trying to solve a non-existent problem due to my lack of
 Rexx experience.
 
 Would it be more courteous to disagree with you, or to agree?
 
 Ted is right; there are legitimate uses for INTERPRET and
 VALUE.  Using INTERPRET or even VALUE here is using a
 hand grenade where a Swiss Army Knife would be a more
 suitable tool.
 
 -- gil
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Phil Smith
On Fri, Nov 5, 2010 at 7:57 PM, Gibney, Dave gib...@wsu.edu wrote:
 And, I can't seem to use a stem value (values of A.x) to index a stem.
 A.x = 'foo'
 say A.x
 B.foo = 'bar'
 say B.foo
 say B.A.x
 y = A.x
 say y
 say B.y
 Gets:
 foo
 bar
 B.A.X
 foo
 B.foo

 I want bar where I get B.A.X and B.foo

Right. That would be a case for using VALUE. Stems are not arrays. Not now, 
not ever. But in some ways they're more powerful, as they let you do 
associative memory.
--
...phsiii

Phil Smith III
p...@voltage.com
Voltage Security, Inc.
www.voltage.com


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Gibney, Dave
 -Original Message-
 From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
 Behalf Of Phil Smith
 Sent: Friday, November 05, 2010 5:09 PM
 To: IBM-MAIN@bama.ua.edu
 Subject: Re: Rexx question - Dynamic generation of variables?
 
 On Fri, Nov 5, 2010 at 7:57 PM, Gibney, Dave gib...@wsu.edu wrote:
  And, I can't seem to use a stem value (values of A.x) to index a
 stem.
  A.x = 'foo'
  say A.x
  B.foo = 'bar'
  say B.foo
  say B.A.x
  y = A.x
  say y
  say B.y
  Gets:
  foo
  bar
  B.A.X
  foo
  B.foo
 
  I want bar where I get B.A.X and B.foo
 
 Right. That would be a case for using VALUE. Stems are not arrays.
 Not now, not ever. But in some ways they're more powerful, as they let
 you do associative memory.

Yup value(B.y) gives bar. But value(B.A.x) still gives B.A.X. I suppose
I can nest the value function.
Whoops, guess not:
11 +++ say B.value(A.x)  
IRX0043I Error running TEST, line 11: Routine not found  

 --
 ...phsiii
 
 Phil Smith III
 p...@voltage.com
 Voltage Security, Inc.
 www.voltage.com
 
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Gibney, Dave
 -Original Message-
 From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
 Behalf Of Phil Smith
 Sent: Friday, November 05, 2010 5:09 PM
 To: IBM-MAIN@bama.ua.edu
 Subject: Re: Rexx question - Dynamic generation of variables?

snip

Stems are not arrays.
 Not now, not ever. But in some ways they're more powerful, as they let
 you do associative memory.

That's why I decided on Rexx, I want what is in effect a 3 dimensional
associative memory space. Dsname X volser X Lpar.

 --
 ...phsiii
 
 Phil Smith III
 p...@voltage.com
 Voltage Security, Inc.
 www.voltage.com
 
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Gerhard Postpischil

On 11/5/2010 4:38 PM, Ted MacNEIL wrote:

At the risk of starting another flame war, I would strongly
discourage use of INTERPRET.


While I used to have that bias, I have since found valid uses
for it.


English is not my native language. Please explain what part of 
strongly recommend against means never?



While it may work correctly in some instances, it leads to
problems in general, and is easily replaced by value().


This sounds Knee-Jerk.


Unfortunately programmers, especially less experienced ones, do 
some of their job by cut and paste, and may miss inherent 
limitations that are obvious to the more experienced coder.



Is this a problem with INTERPRET, or a problem with
programming/testing skills?


INTERPRET was written for a reason, and value() for a different 
one; they behave differently, and that's a problem for coders 
who fail to consider the nuances.


I don't know the original author, so can't comment on that. But 
it strains credulity to use tests or programming circumventions 
when a simple value() will do the job without risk. And I've 
worked for ISVs long enough to learn that users will do 
unexpected things.


Gerhard Postpischil
Bradford, VT

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx question - Dynamic generation of variables?

2010-11-05 Thread Paul Gilmartin
On Fri, 5 Nov 2010 17:20:49 -0700, Gibney, Dave wrote:

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On
 Behalf Of Phil Smith
 Sent: Friday, November 05, 2010 5:09 PM
 To: IBM-MAIN@bama.ua.edu
 Subject: Re: Rexx question - Dynamic generation of variables?

 On Fri, Nov 5, 2010 at 7:57 PM, Gibney, Dave wrote:
  And, I can't seem to use a stem value (values of A.x) to index a
 stem.
  A.x = 'foo'
  say A.x
  B.foo = 'bar'
  say B.foo
  say B.A.x
  y = A.x
  say y
  say B.y
  Gets:
  foo
  bar
  B.A.X
  foo
  B.foo

  I want bar where I get B.A.X and B.foo

First, always, always, always start every EXEC with

signal on novalue

always.  This will cause your EXEC to abort on any use
of an undefined symbol.  You'll need to quote every string
constant instead of using naked symbols.  At first, you'll
find this a PITA, and stop using it.  Over time, you'll
recognize cases where it would have saved you by detecting
a programming error; sometimes a simple typo, and you'll
return to it.

Yup value(B.y) gives bar. But value(B.A.x) still gives B.A.X. I suppose
I can nest the value function.
Whoops, guess not:
11 +++ say B.value(A.x)
IRX0043I Error running TEST, line 11: Routine not found

I suggest:

/* Rexx (Untested!) */
signal on novalue
...
say value( 'B.'A.x )
say value( B.A.x )

The understanding is left as an exercise for the student.
A special challenge, since I believe an important piece
of documentation is omitted, AFAIK, from all the manuals.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx Question

2009-08-14 Thread Baraniecki, Ray
The reason for the outtrap is because the program scans the the output fro the 
RMM command and I display some, but not all, output.

Thanks, 
 
Ray Baraniecki 
Morgan Stanley Smith Barney
18th Floor 
1 New York Plaza 
New York, NY 10004 
Office - 212-276-5641
   Cell - 917-597-5692 
ray.baranie...@morganstanley.com  
BE CARBON CONSCIOUS. PLEASE CONSIDER OUR ENVIRONMENT BEFORE PRINTING THIS 
E-MAIL.

-Original Message-
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of 
Mike Wood
Sent: Thursday, August 13, 2009 7:54 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Rexx Question

Ray,   Why are you using outtrap for an rmm subcommand?  Do you really 
want to trap the line mode output, and if so, why?
Have you perhaps also set SYSAUTH.EDGDATE so that all command output is 
via rexx variables - hence no line mode output.

Mike Wood   RMM Development

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
Important Notice to Recipients:
It is important that you do not use e-mail to request, authorize or effect the 
purchase or sale of any security or commodity, to send fund transfer 
instructions, or to effect any other transactions. Any such request, orders, or 
instructions that you send will not be accepted and will not be processed by 
Morgan Stanley Smith Barney.
The Global Wealth Management Group of Morgan Stanley  Co. Incorporated and the 
Smith Barney division of Citigroup Global Markets Inc. have combined into 
Morgan Stanley Smith Barney LLC, a new investment adviser and broker-dealer 
registered with the Securities and Exchange Commission. The sender of this 
email is an employee of Morgan Stanley Smith Barney. 
 
Important disclosures on Morgan Stanley and Citi Investment Research  Analysis 
research reports may relate in part to the separate businesses of Citigroup 
Global Markets Inc. and Morgan Stanley that now form Morgan Stanley Smith 
Barney LLC. To view these important research disclosures, go to 
http://www.morganstanley.com/researchdisclosures and 
https://www.citigroupgeo.com/geopublic/Disclosures/index_a.html.
 
If received in error, please destroy and notify sender. Sender does not intend 
to waive confidentiality or privilege. Use of this email is prohibited when 
received in error. We may monitor and store emails to the extent permitted by 
applicable law.
 
 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx Question

2009-08-13 Thread Greg Shirey
This is a curiosity.  I ran your code (after setting a value to volnbr
and rmmcmd.volnbr) and the 
value of rmmout.1 was:
EDG3201I THE ENTRY IS NOT DEFINED TO DFSMSrmm  

I'm not sure I understand the scenario shown in your trace results where
rmmout.1 could be equal 
to null while rmmout.0 is equal to 0.  I realize you've snipped the REXX
a little, but I tried 
and failed to force that result (using DROP rmmout. or rmmout. =
'').   

I guess that's no help, sorry.   
Greg Shirey
Ben E. Keith Company 

-Original Message-
From: IBM Mainframe Discussion List On Behalf Of Baraniecki, Ray
Sent: Thursday, August 13, 2009 9:56 AM
To: IBM-MAIN@bama.ua.edu
Subject: Rexx Question

I am issuing a Listdataset RMM command, which worked yester. Today I get
a rc of zero but no output. The actual that is issued is contained in
the above comment. I sure would like to know what went wrong.

Code:

/* RMM LD 'TSTPRB.$.TESTTAPE' VOL(V59019) */
x = Outtrap(rmmout.)
Address TSO rmmcmd.volnbr
lcc = rc
x = Outtrap(OFF)
If lcc \= 0 Then Do
   lmsg = RMM LD command failed. RC=lcc
   CMDERR:
   smsg = Command Error
   Call Do_Msg
   Signal EXIT  /* Exit with
   End /* Do */
rmmlines = rmmout.0

TRACE Output:

77 *-*  /* RMM LD 'TSTPRB.$.TESTTAPE' VOL(V59019) */
78 *-*  x = Outtrap(rmmout.)
   Lrmmout.
   FRMMOUT.
79 *-*  Address TSO rmmcmd.volnbr
   L
   CRMMCMD.1
   VRMM LD 'TSTPRB.$.TESTTAPE' VOL(V59019)
   ORMM LD 'TSTPRB.$.TESTTAPE' VOL(V59019)
   L
   ORMM LD 'TSTPRB.$.TESTTAPE' VOL(V59019)
80 *-*  lcc = rc
   V0
81 *-*  x = Outtrap(OFF)
   LOFF
   FOFF
82 *-*  If lcc := 0
   V0
   L0
O0
 89 *-*  Say rmmout.1
V

 90 *-*  rmmlines = rmmout.0
V0
 92 *-*  items = 0
L0
 93 *-*  Do cnt = 1 To rmmlines
L1
V0
131 *-* End /* Do volnbr = 1 To volcnt */

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Rexx Question

2009-08-13 Thread Mike Wood
Ray,   Why are you using outtrap for an rmm subcommand?  Do you really 
want to trap the line mode output, and if so, why?
Have you perhaps also set SYSAUTH.EDGDATE so that all command output is 
via rexx variables - hence no line mode output.

Mike Wood   RMM Development

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX question

2008-10-06 Thread Hunkeler Peter (KIUK 3)
If your program might also be using the data stack, aka
external data queue, be sure to code

  parse [upper] external yourvariable

instead of parse [upper] pull if you want the code to
read from the terminal. pull will read from the stack unless
it is empty.

-- 
Peter Hunkeler
CREDIT SUISSE

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: REXX question

2008-10-05 Thread Itschak Mugzach
Lizatte,

I don't think TSO-REXX is active any more...

Itschak

On Sat, Oct 4, 2008 at 4:23 PM, Lizette Koehler [EMAIL PROTECTED]wrote:

 Rexx is case sensitive.

 Use  PARSE Pull UPPER Answer

 Then it will always be upper case and a test for Upper Case letters/words
 will work.

 Lizette

 PS.  You may wish to join the TSO-REXX newsgroup.

 For TSO-REXX subscribe / signoff / archive access instructions, send email
 to [EMAIL PROTECTED] with the message: INFO TSO-REXX


  hi
 
  I make this:
  do until answer = N'
   instructions
  say 'Do you want to exit? (s/n)'
  pull answer
  if answer = 'S' then exit
  end
 
  I type s, but not exit of the do until?? Why?? this is a case
  sensitive??
 
  It´s correct??
 
 
 
  more a question:
  how i do to treat for error:
   10 +++  dec25 = date(B,year1225,S)//7
   IRX0040I Error running CHRISTMA, line 10: Incorrect call to routine
 
  the error ocorred when typed less four digits to year??
  ex: year with tree or two or one digits
   200 or 20 or 2.
 
  regards
 
 
 

 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: REXX question

2008-10-05 Thread Lizette Koehler
Actually TSO-REXX at Marist college is very active, that is unless it has
died over the last couple of days.  It is one of those newsgroups that does
spurts.  Some days we are very active and others, not so much.

Check it out.  We have a lot to say and discuss about REXX on that
newsgroup.

Lizette

 
 Lizatte,
 
 I don't think TSO-REXX is active any more...
 
 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: REXX question

2008-10-04 Thread Lizette Koehler
Rexx is case sensitive.

Use  PARSE Pull UPPER Answer

Then it will always be upper case and a test for Upper Case letters/words
will work.

Lizette

PS.  You may wish to join the TSO-REXX newsgroup.

For TSO-REXX subscribe / signoff / archive access instructions, send email
to [EMAIL PROTECTED] with the message: INFO TSO-REXX


 hi
 
 I make this:
 do until answer = N'
  instructions
 say 'Do you want to exit? (s/n)'
 pull answer
 if answer = 'S' then exit
 end
 
 I type s, but not exit of the do until?? Why?? this is a case
 sensitive??
 
 It´s correct??
 
 
 
 more a question:
 how i do to treat for error:
  10 +++  dec25 = date(B,year1225,S)//7
  IRX0040I Error running CHRISTMA, line 10: Incorrect call to routine
 
 the error ocorred when typed less four digits to year??
 ex: year with tree or two or one digits
  200 or 20 or 2.
 
 regards
 
 
 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: REXX question

2008-10-04 Thread Jürgen Kehr

Hello,

AFAIK pull is the short form for parse upper pull,  so it shouldn't 
make  any difference to your version. What makes me nervous instead is 
the single quote in the do until clause ... : N'


Lizette Koehler schrieb:

Rexx is case sensitive.

Use  PARSE Pull UPPER Answer

Then it will always be upper case and a test for Upper Case letters/words
will work.

Lizette

PS.  You may wish to join the TSO-REXX newsgroup.

For TSO-REXX subscribe / signoff / archive access instructions, send email
to [EMAIL PROTECTED] with the message: INFO TSO-REXX


  

hi

I make this:
do until answer = N'
 instructions
say 'Do you want to exit? (s/n)'
pull answer
if answer = 'S' then exit
end

I type s, but not exit of the do until?? Why?? this is a case
sensitive??

It´s correct??



more a question:
how i do to treat for error:
 10 +++  dec25 = date(B,year1225,S)//7
 IRX0040I Error running CHRISTMA, line 10: Incorrect call to routine

the error ocorred when typed less four digits to year??
ex: year with tree or two or one digits
 200 or 20 or 2.

regards






--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

  


--

___



Freundliche Gruesse / Kind regards



Dipl.Math. Juergen Kehr, IT Schulung  Beratung, IT Education + Consulting

Tel.  +49-561-9528788  Fax   +49-561-9528789  Mobil +49-172-5129389

ICQ 292-318-696 (JKehr)



mailto:[EMAIL PROTECTED]

mailto:[EMAIL PROTECTED]

___

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: REXX question

2008-10-04 Thread Lizette Koehler
I looked up the PARSE command in the TSO REXX commands manual.  It states

If you specify the UPPER option, the data to be parsed is first translated
to uppercase (that is, lowercase a–z to uppercase A–Z). Otherwise, no
uppercase translation takes place during the parsing.

I did have my syntax backward.  It should have read

PARSE UPPER PULL answer


Lizette

 
 Hello,
 
 AFAIK pull is the short form for parse upper pull,  so it shouldn't
 make  any difference to your version. What makes me nervous instead is
 the single quote in the do until clause ... : N'
 
 Lizette Koehler schrieb:
  Rexx is case sensitive.
 
  Use  PARSE Pull UPPER Answer
 
  Then it will always be upper case and a test for Upper Case
 letters/words
  will work.
 
  Lizette
 
  PS.  You may wish to join the TSO-REXX newsgroup.
 
  For TSO-REXX subscribe / signoff / archive access instructions, send
 email
  to [EMAIL PROTECTED] with the message: INFO TSO-REXX
 
 
 
  hi
 
  I make this:
  do until answer = N'
   instructions
  say 'Do you want to exit? (s/n)'
  pull answer
  if answer = 'S' then exit
  end
 
  I type s, but not exit of the do until?? Why?? this is a case
  sensitive??
 
  It´s correct??
 
 
 
  more a question:
  how i do to treat for error:
   10 +++  dec25 = date(B,year1225,S)//7
   IRX0040I Error running CHRISTMA, line 10: Incorrect call to routine
 
  the error ocorred when typed less four digits to year??
  ex: year with tree or two or one digits
   200 or 20 or 2.
 
  regards
 
 
 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: REXX question

2008-10-04 Thread Jürgen Kehr

Hi,

I looked up the TSO REXX reference, it says:

PULL reads a string from the head of the external data queue. It is just 
a short form of the instruction:  PARSE UPPER PULL template_list ;


if you do not need the uppercase translation you should code parse pull.

Lizette Koehler schrieb:

I looked up the PARSE command in the TSO REXX commands manual.  It states

If you specify the UPPER option, the data to be parsed is first translated
to uppercase (that is, lowercase a–z to uppercase A–Z). Otherwise, no
uppercase translation takes place during the parsing.

I did have my syntax backward.  It should have read

PARSE UPPER PULL answer


Lizette

  

Hello,

AFAIK pull is the short form for parse upper pull,  so it shouldn't
make  any difference to your version. What makes me nervous instead is
the single quote in the do until clause ... : N'

Lizette Koehler schrieb:


Rexx is case sensitive.

Use  PARSE Pull UPPER Answer

Then it will always be upper case and a test for Upper Case
  

letters/words


will work.

Lizette

PS.  You may wish to join the TSO-REXX newsgroup.

For TSO-REXX subscribe / signoff / archive access instructions, send
  

email


to [EMAIL PROTECTED] with the message: INFO TSO-REXX



  

hi

I make this:
do until answer = N'
 instructions
say 'Do you want to exit? (s/n)'
pull answer
if answer = 'S' then exit
end

I type s, but not exit of the do until?? Why?? this is a case
sensitive??

It´s correct??



more a question:
how i do to treat for error:
 10 +++  dec25 = date(B,year1225,S)//7
 IRX0040I Error running CHRISTMA, line 10: Incorrect call to routine

the error ocorred when typed less four digits to year??
ex: year with tree or two or one digits
 200 or 20 or 2.

regards






--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

  


--

___

Freundliche Gruesse / Kind regards

Dipl.Math. Juergen Kehr, IT Schulung  Beratung, IT Education + Consulting

Tel. +49-561-9528788 Fax +49-561-9528789 Mobil +49-172-5129389

ICQ 292-318-696 (JKehr)

mailto:[EMAIL PROTECTED]

mailto:[EMAIL PROTECTED]

___

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: REXX question

2008-10-04 Thread P S
Why are folks giving him the same answer over and over again?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: REXX question

2008-10-04 Thread Claudio Marcio

Hi,
we brought it about to solve the problem!!!

correct syntax of the command, in this case, is:

do until answer \= N - ( For example, here we repeat the loop until the 
variable answer does not have the value NO)

instructions
instructions
say 'Do you want to exit? (s/n)'
pull answer
end

it workedthanks to all !!!


more question,
when typed less four digits to the year or a charecter alfa, occurs the 
error:

IRX0040I Error running Incorrect call to routine
how can consist the field of the year typed?

regards


- Original Message - 
From: Alexandre [EMAIL PROTECTED]

Newsgroups: bit.listserv.ibm-main
To: IBM-MAIN@BAMA.UA.EDU
Sent: Saturday, October 04, 2008 10:05 PM
Subject: Res: REXX question


The code below worked fine for me.


/* rexx */
op =

Hi

The code below worked fine for me.


/* rexx */
op = ''

DO WHILE op \= 'E'
 SAY ''
 SAY 'Enter a text or e to exit.'
 PARSE UPPER PULL op
 SAY 'The text is 'op'.'
END
SAY 'You selected the exit option.'
EXIT



Regards,

Alexandre




- Mensagem original 
De: Jürgen Kehr [EMAIL PROTECTED]
Para: IBM-MAIN@BAMA.UA.EDU
Enviadas: Sábado, 4 de Outubro de 2008 14:11:23
Assunto: Re: REXX question

Hi,

I looked up the TSO REXX reference, it says:

PULL reads a string from the head of the external data queue. It is just
a short form of the instruction:  PARSE UPPER PULL template_list ;

if you do not need the uppercase translation you should code parse pull.

Lizette Koehler schrieb:

I looked up the PARSE command in the TSO REXX commands manual.  It states

If you specify the UPPER option, the data to be parsed is first translated
to uppercase (that is, lowercase a–z to uppercase A–Z). Otherwise, no
uppercase translation takes place during the parsing.

I did have my syntax backward.  It should have read

PARSE UPPER PULL answer


Lizette



Hello,

AFAIK pull is the short form for parse upper pull,  so it shouldn't
make  any difference to your version. What makes me nervous instead is
the single quote in the do until clause ... : N'

Lizette Koehler schrieb:


Rexx is case sensitive.

Use  PARSE Pull UPPER Answer

Then it will always be upper case and a test for Upper Case


letters/words


will work.

Lizette

PS.  You may wish to join the TSO-REXX newsgroup.

For TSO-REXX subscribe / signoff / archive access instructions, send


email


to [EMAIL PROTECTED] with the message: INFO TSO-REXX





hi

I make this:
do until answer = N'
 instructions
say 'Do you want to exit? (s/n)'
pull answer
if answer = 'S' then exit
end

I type s, but not exit of the do until?? Why?? this is a case
sensitive??

It´s correct??



more a question:
how i do to treat for error:
 10 +++  dec25 = date(B,year1225,S)//7
 IRX0040I Error running CHRISTMA, line 10: Incorrect call to routine

the error ocorred when typed less four digits to year??
ex: year with tree or two or one digits
 200 or 20 or 2.

regards






--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html




--

___

Freundliche Gruesse / Kind regards

Dipl.Math. Juergen Kehr, IT Schulung  Beratung, IT Education + Consulting

Tel. +49-561-9528788 Fax +49-561-9528789 Mobil +49-172-5129389

ICQ 292-318-696 (JKehr)

mailto:[EMAIL PROTECTED]

mailto:[EMAIL PROTECTED]

___

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


 Novos endereços, o Yahoo! que você conhece. Crie um email novo com a 
sua cara @ymail.com ou @rocketmail.com.

http://br.new.mail.yahoo.com/addresses

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: REXX question

2008-10-03 Thread P S
This would work:
==
do until answer = N'
say 'Do you want to exit? (s/n)'
pull answer
if answer = 'S' then exit
end
==

It could be made a lot more elegant, of course.

On Fri, Oct 3, 2008 at 9:20 PM, Claudio Marcio [EMAIL PROTECTED] wrote:
 Hi,

 How make to receive one string in rexx language??

 Ex.   say ' you want exit (s/n)?'

 pull ??
 arg ?? parse ??

 if  (string??) = 's'
   return to begin exec
 else
   exit

 I want ready the string with which command?

 regards

 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: REXX question

2008-10-03 Thread Mark Zelden
On Fri, 3 Oct 2008 22:20:11 -0300, Claudio Marcio [EMAIL PROTECTED] wrote:

Hi,

How make to receive one string in rexx language??

Ex.   say ' you want exit (s/n)?'

pull ??
arg ??
parse ??

if  (string??) = 's'
return to begin exec
else
exit

I want ready the string with which command?

regards


It this a homework question?How about this one:

/* REXX */ 
/* Question:   */  
/* Execute this EXEC.  What must be entered to */  
/* get the EXEC to respond okie dokie? */  
/* */  
Say 'Enter value for number:'  
pull number
color = blue   
if number = 7 but color is not green   
  then say okie dokie  
  else say get outta here  


--
Mark Zelden
Sr. Software and Systems Architect - z/OS Team Lead
Zurich North America / Farmers Insurance Group - ZFUS G-ITO
mailto:[EMAIL PROTECTED]
z/OS Systems Programming expert at http://expertanswercenter.techtarget.com/
Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: REXX question

2008-10-03 Thread Claudio Marcio

hi

I make this:
do until answer = N'
instructions
   say 'Do you want to exit? (s/n)'
   pull answer
   if answer = 'S' then exit
end

I type s, but not exit of the do until?? Why?? this is a case sensitive??

It´s correct??



more a question:
how i do to treat for error:
10 +++  dec25 = date(B,year1225,S)//7
IRX0040I Error running CHRISTMA, line 10: Incorrect call to routine

the error ocorred when typed less four digits to year??
ex: year with tree or two or one digits
200 or 20 or 2.

regards




- Original Message - 
From: P S [EMAIL PROTECTED]

Newsgroups: bit.listserv.ibm-main
To: IBM-MAIN@BAMA.UA.EDU
Sent: Friday, October 03, 2008 10:30 PM
Subject: Re: REXX question



This would work:
==
do until answer = N'
   say 'Do you want to exit? (s/n)'
   pull answer
   if answer = 'S' then exit
end
==

It could be made a lot more elegant, of course.

On Fri, Oct 3, 2008 at 9:20 PM, Claudio Marcio [EMAIL PROTECTED] wrote:

Hi,

How make to receive one string in rexx language??

Ex.   say ' you want exit (s/n)?'

pull ??
arg ?? parse ??

if  (string??) = 's'
  return to begin exec
else
  exit

I want ready the string with which command?

regards

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html




--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: REXX Question

2007-05-16 Thread Mark H. Young
On Wed, 16 May 2007 01:15:08 +0530, Varun Manocha 
[EMAIL PROTECTED] wrote:

Yes, that worked. Thanks! It was driving me crazy...



Can you please send me a copy (offline) of your working REXX code?
THANX.

mhyI

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-05-15 Thread Taylor, Clarence B
try 
X = Format(used.i,,0)  

I believe it is trying to execute the results of your format statement

Brad Taylor
Senior Software Engineer
Workload Automation
 
713 625 9490 (ext 19490)

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Varun Manocha
Sent: Tuesday, May 15, 2007 2:27 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: REXX Question

I am working on a rexx exec, in which I am using the REXX built-in
function FORMAT to roundoff a numeric variable to required number of
digits after the decimal.

However, when I execute the REXX I get RC(-3), everytime the REXX
executes the FORMAT function.

1) I havent been able to supress the messages using MSG('OFF')
2) I am not sure what does RC(-3) means for the FORMAT function. Nothing
has been documented about a negative RC from FORMAT function in the REXX
Reference Guide.

This is what I get, when I turn the TRACE ON:

107 *-*  Format(used.i,,0)  
CUSED.5 
V0.3
L   
L0  
F0  
+++ RC(-3) +++  

Any help would be appreciated.

Thanks,
Varun

--
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search
the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-05-15 Thread Varun Manocha
Yes, that worked. Thanks! It was driving me crazy...



This is a PRIVATE message. If you are not the intended recipient, please 
delete without copying and kindly advise us by e-mail of the mistake in 
delivery. NOTE: Regardless of content, this e-mail shall not operate to 
bind CSC to any order or other contract unless pursuant to explicit 
written agreement or government initiative expressly permitting the use of 
e-mail for such purpose.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-30 Thread Shmuel Metz (Seymour J.)
In
[EMAIL PROTECTED],
on 03/19/2007
   at 01:10 PM, George, William (DHS-ITSD) [EMAIL PROTECTED]
said:

And it does NOT work for me.

Why not run a TPUT trace and a VTAM buffer trace to see what is
actually being sent?
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question (subject too broad)

2007-03-26 Thread Patrick O'Keefe
On Sun, 25 Mar 2007 05:58:45 +, Dave Salt 
[EMAIL PROTECTED] wrote:

...
As you know, there is already a language out there called CLIST. To
describe REXX as a REXX CLIST is (IMO) at the very least 
redundant, and at
worst, confusing.  It's more than enough to just say REXX. After all, 
a
CLIST is just a CLIST, and I've never heard anyone describe it as 
a CLIST
clist.
...

Both TSO and NetView allow clists and execs to  coexist in their CLIST
libraries.  Refering to the content of the library as clists seems 
reasonable to me.  But more to the point: it doesn't matter.  Once
we're talking 3270 datastream it doesn't much matter what created it.


...
(i.e. D4C32XX3). I tried it, and the invisible field started working. ...
So to me, the logmode doesn't appear to
be irrelevant, whether in principle or otherwise.
...

The logmode is absolutely irrelevant in theory.  The non-display 
attribute has existed since before logmodes.   It sounds like either 
the 3270 emulator involved has incorrectly incorrectly tied something
to logmode processing, or the program building the datastream has
implemented the non-display as some extended attribute (if such an
an extended attribute exists) rather than using a simple field 
attribute.

Chris's statement is correct.

Pat O'Keefe  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question (subject too broad)

2007-03-25 Thread Don Poitras
In article [EMAIL PROTECTED] you wrote:
 Paul

 I couldn't agree more.

 Until now I left this thread alone but having a peek at one of the responses 
 floating by, I see it's all about 3270 data stream.

 Having now looked through the responses, I see a rather large flock of wild 
 geese - or would it be a shoal of red herrings.

 What is being talked about here is a feature of the *original* 3270 data 
 stream, namely the creation of a nondisplay field.

 In principle, this means that logmodes and related issues are totally 
 irrelevant.

 I saw that the sample code provided by Tomas Fott works on a regular 3270 - 
 as reported by Don Poitras. So, in principle, it's a valid technique to slip 
 3270 
 start field sequences into text output from a REXX Clist.

 It works with some emulators and not others and - I think - when it doesn't 
 work, it's because the 3270 order characters are not being recognised.

Unfortunately, my test doesn't settle the question. We don't use logmodes
at Sas (the 'd net' command returns ***NA***). We logon to a home-grown
solicitor program that determines the bind. It's very possible that PSERVIC
is different for the different emulators and 'real' 3270 I have access to.
And no, I don't have any way to specify a logmode. Don't think I haven't
asked. :)

-- 
Don Poitras - SAS Development  -  SAS Institute Inc. - SAS Campus Drive
[EMAIL PROTECTED]   (919) 531-5637Cary, NC 27513

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question (subject too broad)

2007-03-25 Thread Ed Finnell
 
In a message dated 3/25/2007 7:15:35 A.M. Central Daylight Time,  
[EMAIL PROTECTED] writes:

solicitor program that determines the bind. It's very possible that  PSERVIC
is different for the different emulators and 'real' 3270 I have  access to.
And no, I don't have any way to specify a logmode. Don't think I  haven't
asked. :)




We used NETSOL off CBTTAPE to pass LOGON required via NCPASS RSA token and  
passthru to Library catalog. Seemed like NETSOL stripped extended  attributes
if the request and the emulator didn't line up exactly in passthru.
 
NCPASS blocks LOGON APPLID(xx) LOGMOD() but have a few  terminals 
inside the glass that are direct connected and can play  around.   



** AOL now offers free email to everyone. 
 Find out more about what's free from AOL at http://www.aol.com.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-24 Thread Shmuel Metz (Seymour J.)
In [EMAIL PROTECTED], on 03/19/2007
   at 11:33 PM, Ed Finnell [EMAIL PROTECTED] said:

Great work. If I had to guess. The PSERVIC bit is not on '08' for the 
 latter

That might matter for Start Field Extended, but why should it matter
for Start Field?
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question (subject too broad)

2007-03-24 Thread Chris Mason
Paul

I couldn't agree more.

Until now I left this thread alone but having a peek at one of the responses 
floating by, I see it's all about 3270 data stream.

Having now looked through the responses, I see a rather large flock of wild 
geese - or would it be a shoal of red herrings.

What is being talked about here is a feature of the *original* 3270 data 
stream, namely the creation of a nondisplay field.

In principle, this means that logmodes and related issues are totally 
irrelevant.

I saw that the sample code provided by Tomas Fott works on a regular 3270 - 
as reported by Don Poitras. So, in principle, it's a valid technique to slip 
3270 
start field sequences into text output from a REXX Clist.

It works with some emulators and not others and - I think - when it doesn't 
work, it's because the 3270 order characters are not being recognised.

Pouring through the 3270 manual mentioned earlier might solve this but 
another way - for someone with a working setup and NetView Session Monitor 
to hand - using TRACE CPIU of course - could be to check that the start field 
sequences used in the usual output from TSO are using the same character 
values as the REXX Clist.

Incidentally, since I saw someone talking about colours, there is a standard 
mapping of the *original* 3270 data stream fields to colours - green for 
unprotected normal intensity, red for unprotected high intensity, blue for 
protected normal intensity and white for protected high intensity.

I don't know what colour is used for nondisplay. g 

Chris Mason

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question (subject too broad)

2007-03-24 Thread Dave Salt

From: Chris Mason [EMAIL PROTECTED]
What is being talked about here is a feature of the *original* 3270 data
stream, namely the creation of a nondisplay field.

In principle, this means that logmodes and related issues are totally 
irrelevant.


I think you're mistaken. I couldn't get the non-display field to work until 
I changed my logmode.



It works with some emulators and not others and - I think - when it doesn't
work, it's because the 3270 order characters are not being recognised.


I didn't change my emulator; all I changed was my logmode.


Pouring through the 3270 manual mentioned earlier might solve this but
another way - for someone with a working setup and NetView Session Monitor
to hand - using TRACE CPIU of course - could be to check that the start 
field

sequences used in the usual output from TSO are using the same character
values as the REXX Clist.


FYI: There is REXX, and there is CLIST. But never the twain shall meet.

Dave Salt
SimpList(tm) - The easiest, most powerful way to surf a mainframe!
http://www.mackinney.com/products/SIM/simplist.htm

_
http://local.live.com/?mkt=en-ca/?v=2cid=A6D6BDB4586E357F!420

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question (subject too broad)

2007-03-24 Thread Chris Mason

Dave

Clist means command list and is a generic term. REXX is an interpretive
language, in principle, consisting of commands which do something and
commands which direct logic - to describe it loosely. Thus REXX is a
particular example of a clist language.

Probably you have in mind the original TSO clist language as distinct from
REXX. The original TSO clist language is another specific example of a clist
language. I have also worked with VM and NetView which also have their own
clist languages and I am vaguely aware of many others. Actually, there's
even one I use on my PC which is very clever in manipulating windows.

You'll note I used the expression in principle above - since I'm aware
that REXX can be compiled and so isn't simply interpretive, the usual
characteristic of a clist language.

I also used the expression  in principle in the post to which you refer
when stating that logmodes and related matters are irrelevant. The reason I
contend that it is irrelevant is that the possibility to create a nondisplay
field is part of the *original* 3270 data stream. It's possible that there
is some sort of indirect relationship and your experience is that there
would appear to be such a relationship. I have a gut feeling it may be
related to those top two bits in the 3270 byte. I'd have to go pouring
through the manual to try to follow up on that idea.

Since you can reproduce the circumstances where Tomas's clist works and
doesn't work, you are ideally placed to determine what the difference in
specifically the start field order character is in the two cases using
the blunt instrument of the VTAM buffer trace or the fine instrument of the
NetView Session Monitor TRACE command with CPIU (complete PIU). Naturally,
it would be of great interest to know which of the fields in the logmode
table entry was actually responsible for allowing Tomas's start field
order character to be recognised, how it was set to allow recognition and
how it was set to disallow recognition.

We all await your discoveries - on tenterhooks.

Incidentally, I checked your previous posts in this thread and I don't see
you saying you got it to work.

Chris Mason

- Original Message - 
From: Dave Salt [EMAIL PROTECTED]

Newsgroups: bit.listserv.ibm-main
To: IBM-MAIN@BAMA.UA.EDU
Sent: Sunday, March 25, 2007 5:13 AM
Subject: Re: REXX Question (subject too broad)



From: Chris Mason [EMAIL PROTECTED]

What is being talked about here is a feature of the *original* 3270 data
stream, namely the creation of a nondisplay field.

In principle, this means that logmodes and related issues are totally 
irrelevant.


I think you're mistaken. I couldn't get the non-display field to work 
until I changed my logmode.


It works with some emulators and not others and - I think - when it 
doesn't

work, it's because the 3270 order characters are not being recognised.


I didn't change my emulator; all I changed was my logmode.


Pouring through the 3270 manual mentioned earlier might solve this but
another way - for someone with a working setup and NetView Session Monitor
to hand - using TRACE CPIU of course - could be to check that the start 
field

sequences used in the usual output from TSO are using the same character
values as the REXX Clist.


FYI: There is REXX, and there is CLIST. But never the twain shall meet.

Dave Salt 


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question (subject too broad)

2007-03-24 Thread Dave Salt

From: Chris Mason [EMAIL PROTECTED]
Clist means command list and is a generic term. REXX is an interpretive 
language, in principle, consisting of commands which do something and 
commands which direct logic - to describe it loosely. Thus REXX is a

particular example of a clist language.


Chris,

As you know, there is already a language out there called CLIST. To 
describe REXX as a REXX CLIST is (IMO) at the very least redundant, and at 
worst, confusing.  It's more than enough to just say REXX. After all, a 
CLIST is just a CLIST, and I've never heard anyone describe it as a CLIST 
clist.


I also used the expression  in principle in the post to which you refer 
when stating that logmodes and related matters are irrelevant. The reason I 
contend that it is irrelevant is that the possibility to create a 
nondisplay field is part of the *original* 3270 data stream. It's possible 
that there is some sort of indirect relationship and your experience is 
that there would appear to be such a relationship.


I posted an email to the listserv saying the invisible field didn't work for 
me. Someone sent me a reply off-list and suggested I try a specific logmode 
(i.e. D4C32XX3). I tried it, and the invisible field started working. I 
didn't change anything else. I'm not an expert in logmodes or VTAM or 3270 
buffer displays or anything else of that nature. All I know is, I changed 
the logmode and it started working. So to me, the logmode doesn't appear to 
be irrelevant, whether in principle or otherwise.


Naturally, it would be of great interest to know which of the fields in the 
logmode table entry was actually responsible for allowing Tomas's start 
field order character to be recognised, how it was set to allow 
recognition and how it was set to disallow recognition.


I tried a different logmode (i.e. one which made the field become 
invisible), so it should be easy enough to do the same in reverse (i.e. try 
one that makes the invisible field visible). You should then be able to run 
one of the traces you mentioned and see what happens. It you posted the 
results it wouldn't mean much to me personally, but I'm sure others on this 
list might be interested.


Dave Salt
SimpList(tm) - The easiest, most powerful way to surf a mainframe!
http://www.mackinney.com/products/SIM/simplist.htm

_
Check Out Our List Of Trendy Restaurants. You'll Eat It Up! 
http://local.live.com/?mkt=en-ca/?v=2cid=A6D6BDB4586E357F!378


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-20 Thread Sebastian Welton
On Mon, 19 Mar 2007 13:23:12 -0400, Veilleux, Jon L [EMAIL PROTECTED]
wrote:

I did that. It didn't work. What emulation program are you using? We use
Rumba.
I am also at 1.8 on this system.

It works with 1.8 running PCOMM 5.7 (setup as a model 4) and I've just
tested it with 1.5 running x3270 3.3.4p4 (set asa model 2 in VTAMLST but as
model 4 in configuration.)

Seb

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-20 Thread Shmuel Metz (Seymour J.)
In [EMAIL PROTECTED], on 03/19/2007
   at 12:52 PM, Binyamin Dissen [EMAIL PROTECTED] said:

How about using CLIST and attribute bytes on a WRITENR? That has to
generate a TPUT CONTROL.

I doubt it; it's probably TPUT NOEDIT.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-19 Thread Veilleux, Jon L
Shmuel wrote:
snip
Call an assembler routine to do a TPUT NOEDIT. You'll need to specify
the proper control character (DIS?) to suppress display in the input
field. I don't recall whether you need a second TPUT to restore display.
/snip

I love coding in REXX but it seems to me that I shouldn't have to write
an assembler program to perform such a basic function as this.
Non-display prompting should be built in to REXX.

Jon L. Veilleux
[EMAIL PROTECTED]
(860) 636-2683 



-
This e-mail may contain confidential or privileged information. If
you think you have received this e-mail in error, please advise the
sender by reply e-mail and then delete this e-mail immediately.
Thank you. Aetna

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-19 Thread Tomas Fott
On Fri, 16 Mar 2007 09:31:03 -0400, Veilleux, Jon L [EMAIL PROTECTED] 
wrote:

Is there a way, other than using ISPF panels, to enter hidden data
(passwords) as a response to a prompt from a REXX exec?


It is possible to use Start Field or Start Field Extended order in SAY 
rexx statement and write fields with various attributes (protected, 
invisible, hilight, color). Details are in 3174 Establishment Controller: 
Functional Description, GA23-0218-11 */

When PULL rexx statement is executed then you can type data into any 
unprotected field on the screen, not just on the line where cursor is 
curently located. So you can type data into invisible field.
When you press ENTER, then data from the first modified field is returned 
by PULL stsatement. 

/* REXX */  
/* Prompt to enter invisible data */ 
  sf='1D'x  
  nopr='60'x /* normal protect */   
  invi='4C'x /* invisible */
  hipr='E8'x /* hilight protect */  
  prompt=''  
  promptend=''   
  len=80-length(prompt)-length(promptend)-7 
  nulls=copies('00'x,len)   
  s1='Enter data into invisible field on the following line:'   
  say sf''nopr''s1  
  say sf''hipr''prompt''sf''invi''nulls''sf''hipr''promptend
  parse pull data   
  say 'You entered data:'data 
exit 0

Note. I avoid using concatenation symbol in REXX because it may get 
corrupted during transfer between ASCII and EBCDIC. 
Tomas 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-19 Thread Veilleux, Jon L
Tomas, I tried this on my TSO ID and the response was still visible. Is
the code dependant on a specific type of controller? The manual you
reference is a chargeable item so I am unable to look at it.
Thanks,
Jon 


Jon L. Veilleux
[EMAIL PROTECTED]
(860) 636-2683 


-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Tomas Fott
Sent: Monday, March 19, 2007 10:25 AM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: REXX Question

On Fri, 16 Mar 2007 09:31:03 -0400, Veilleux, Jon L
[EMAIL PROTECTED]
wrote:

Is there a way, other than using ISPF panels, to enter hidden data
(passwords) as a response to a prompt from a REXX exec?


It is possible to use Start Field or Start Field Extended order in SAY
rexx statement and write fields with various attributes (protected,
invisible, hilight, color). Details are in 3174 Establishment
Controller: 
Functional Description, GA23-0218-11 */

When PULL rexx statement is executed then you can type data into any
unprotected field on the screen, not just on the line where cursor is
curently located. So you can type data into invisible field.
When you press ENTER, then data from the first modified field is
returned by PULL stsatement. 
Tomas 

--
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search
the archives at http://bama.ua.edu/archives/ibm-main.html

-
This e-mail may contain confidential or privileged information. If
you think you have received this e-mail in error, please advise the
sender by reply e-mail and then delete this e-mail immediately.
Thank you. Aetna

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-19 Thread Tom Schmidt
On Mon, 19 Mar 2007 10:44:27 -0400, Veilleux, Jon L wrote:

Tomas, I tried this on my TSO ID and the response was still visible. Is
the code dependant on a specific type of controller? The manual you
reference is a chargeable item so I am unable to look at it.
 
 
Jon, 
 
Apparently it is chargeable if you order the hardcopy but if you just want 
to look at the bookmanager (or pdf) version it is (still) free.  Try:
 
http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/books/cn7a7003
 
-- 
Tom Schmidt 
Madison, WI 
 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-19 Thread Veilleux, Jon L
Thanks Tom, I tried searching the IBM doc sites and couldn't find a link
to it. Your URL worked. 


Jon L. Veilleux
[EMAIL PROTECTED]
(860) 636-2683 


-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Tom Schmidt
Sent: Monday, March 19, 2007 11:05 AM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: REXX Question


 
Jon, 
 
Apparently it is chargeable if you order the hardcopy but if you just
want to look at the bookmanager (or pdf) version it is (still) free.
Try:
 
http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/books/cn7a7003
 
--
Tom Schmidt
Madison, WI 
 

--
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search
the archives at http://bama.ua.edu/archives/ibm-main.html

-
This e-mail may contain confidential or privileged information. If
you think you have received this e-mail in error, please advise the
sender by reply e-mail and then delete this e-mail immediately.
Thank you. Aetna

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-19 Thread Tomas Fott
On Mon, 19 Mar 2007 10:44:27 -0400, Veilleux, Jon L [EMAIL PROTECTED] 
wrote:

Tomas, I tried this on my TSO ID and the response was still visible. Is
the code dependant on a specific type of controller? 

After prompt for input you have to move cursor to previous line into 
invisible field: 
press keys: Up, Tab, then type data, press ENTER.

There is no dependency on controller. 

To find docimentation, you do not have to remember long url.
Goto www.ibm.com, search word: library. The first item is 
http://www.elink.ibmlink.ibm.com/publications/servlet/pbi.wss
Welcome to the IBM Publications Center


Tomas

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-19 Thread Dave Salt

From: Tomas Fott [EMAIL PROTECTED]
After prompt for input you have to move cursor to previous line into
invisible field:
press keys: Up, Tab, then type data, press ENTER.

There is no dependency on controller.


It didn't work for me either. I tried the REXX from within ISPF, and again 
from the TSO READY prompt. In both cases, everything I entered was 
displayed. I tried to 'tab' to the invisible field, but it just moved my 
cursor down to the start of the next line. I tried manually positioning the 
cursor before entering data, but everything I entered was still displayed.


Maybe it has something to do with the emulator?

Dave Salt
SimpList(tm) - The easiest, most powerful way to surf a mainframe!
http://www.mackinney.com/products/SIM/simplist.htm

_
Don’t waste time standing in line—try shopping online. Visit Sympatico / MSN 
Shopping today! http://shopping.sympatico.msn.ca


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-19 Thread Veilleux, Jon L
Tomas, I tried all of these methods and none worked. It doesn't look
like any of the attribute bytes are being recognized.

Jon L. Veilleux
[EMAIL PROTECTED]
(860) 636-2683 




After prompt for input you have to move cursor to previous line into
invisible field: 
press keys: Up, Tab, then type data, press ENTER.

There is no dependency on controller. 

To find docimentation, you do not have to remember long url.
Goto www.ibm.com, search word: library. The first item is
http://www.elink.ibmlink.ibm.com/publications/servlet/pbi.wss
Welcome to the IBM Publications Center


Tomas

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

-
This e-mail may contain confidential or privileged information. If
you think you have received this e-mail in error, please advise the
sender by reply e-mail and then delete this e-mail immediately.
Thank you. Aetna

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-19 Thread Sebastian Welton
On Mon, 19 Mar 2007 12:33:40 -0400, Veilleux, Jon L [EMAIL PROTECTED]
wrote:

Tomas, I tried all of these methods and none worked. It doesn't look
like any of the attribute bytes are being recognized.

worked fine on a 1.8 system here. Just remember to move the cursor to
between the '' field.

Seb  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-19 Thread Binyamin Dissen
On Mon, 19 Mar 2007 12:33:40 -0400 Veilleux, Jon L [EMAIL PROTECTED]
wrote:

:Tomas, I tried all of these methods and none worked. It doesn't look
:like any of the attribute bytes are being recognized.

How about using CLIST and attribute bytes on a WRITENR? That has to generate a
TPUT CONTROL.

Why not ISPF? What is your business need?

--
Binyamin Dissen [EMAIL PROTECTED]
http://www.dissensoftware.com

Director, Dissen Software, Bar  Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: REXX Question

2007-03-19 Thread Veilleux, Jon L
I did that. It didn't work. What emulation program are you using? We use
Rumba. 
I am also at 1.8 on this system.


Jon L. Veilleux
[EMAIL PROTECTED]
(860) 636-2683 


-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Sebastian Welton
Sent: Monday, March 19, 2007 12:52 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: REXX Question



worked fine on a 1.8 system here. Just remember to move the cursor to
between the '' field.

Seb  

--
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search
the archives at http://bama.ua.edu/archives/ibm-main.html
This e-mail may contain confidential or privileged information. If
you think you have received this e-mail in error, please advise the
sender by reply e-mail and then delete this e-mail immediately.
Thank you. Aetna

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


  1   2   >