I am creating a very simple REXX exec on z/OS and receiving Routine
not found for the SAY command. I have never had this happen before, but
this is my first rexx routine in this location. I think it must be
something simple missing, can anyone help ?
*
3 +++ SAY USER.CLIST(DB2BP)
Error running DB2BP, line 3: Routine not found
*
/* REXX */
SAY USER.CLIST(DB2BP)
TRACE R
ADDRESS ISPEXEC
"SELECT CMD(%FPEJINIT)"
*
|
|
0
|
|
|
|
Reply
|
Glen.Manages.MVS (1)
|
9/22/2006 4:00:51 PM |
|
It does not find the routine USER.CLIST
Naybe you want to Say 'USER.CLIST(DB2BP)'
<Glen.Manages.MVS@gmail.com> schrieb im Newsbeitrag
news:1158940851.126721.57210@h48g2000cwc.googlegroups.com...
>I am creating a very simple REXX exec on z/OS and receiving Routine
> not found for the SAY command. I have never had this happen before, but
> this is my first rexx routine in this location. I think it must be
> something simple missing, can anyone help ?
> *
> 3 +++ SAY USER.CLIST(DB2BP)
> Error running DB2BP, line 3: Routine not found
> *
> /* REXX */
> SAY USER.CLIST(DB2BP)
> TRACE R
> ADDRESS ISPEXEC
> "SELECT CMD(%FPEJINIT)"
> *
>
|
|
0
|
|
|
|
Reply
|
Walter
|
9/22/2006 4:25:30 PM
|
|
Thank you for your reply, but I am certain it is the 'SAY' command it
is not finding, but I do not know why. The TRACE command works.
*
Walter u. Christel Pachl wrote:
> It does not find the routine USER.CLIST
> Naybe you want to Say 'USER.CLIST(DB2BP)'
> <Glen.Manages.MVS@gmail.com> schrieb im Newsbeitrag
> news:1158940851.126721.57210@h48g2000cwc.googlegroups.com...
> >I am creating a very simple REXX exec on z/OS and receiving Routine
> > not found for the SAY command. I have never had this happen before, but
> > this is my first rexx routine in this location. I think it must be
> > something simple missing, can anyone help ?
> > *
> > 3 +++ SAY USER.CLIST(DB2BP)
> > Error running DB2BP, line 3: Routine not found
> > *
> > /* REXX */
> > SAY USER.CLIST(DB2BP)
> > TRACE R
> > ADDRESS ISPEXEC
> > "SELECT CMD(%FPEJINIT)"
> > *
> >
|
|
0
|
|
|
|
Reply
|
Glen
|
9/22/2006 4:38:35 PM
|
|
Glen.Manages.MVS@gmail.com wrote:
> Thank you for your reply, but I am certain it is the 'SAY' command it
> is not finding, but I do not know why. The TRACE command works.
Absolutely not. SAY is not a "routine", it is a builtin instruction.
The only routine call on that line is the USER.CLIST(DB2BP) because of
the positioning of the parens.
Rick
> *
> Walter u. Christel Pachl wrote:
>> It does not find the routine USER.CLIST
>> Naybe you want to Say 'USER.CLIST(DB2BP)'
>> <Glen.Manages.MVS@gmail.com> schrieb im Newsbeitrag
>> news:1158940851.126721.57210@h48g2000cwc.googlegroups.com...
>>> I am creating a very simple REXX exec on z/OS and receiving Routine
>>> not found for the SAY command. I have never had this happen before, but
>>> this is my first rexx routine in this location. I think it must be
>>> something simple missing, can anyone help ?
>>> *
>>> 3 +++ SAY USER.CLIST(DB2BP)
>>> Error running DB2BP, line 3: Routine not found
>>> *
>>> /* REXX */
>>> SAY USER.CLIST(DB2BP)
>>> TRACE R
>>> ADDRESS ISPEXEC
>>> "SELECT CMD(%FPEJINIT)"
>>> *
>>>
>
|
|
0
|
|
|
|
Reply
|
Rick
|
9/22/2006 4:44:51 PM
|
|
Thank you for your reply, but I am certain it is the 'SAY' command it
is not finding, but I do not know why. The TRACE command works.
*
Walter u. Christel Pachl wrote:
> It does not find the routine USER.CLIST
> Naybe you want to Say 'USER.CLIST(DB2BP)'
> <Glen.Manages.MVS@gmail.com> schrieb im Newsbeitrag
> news:1158940851.126721.57210@h48g2000cwc.googlegroups.com...
> >I am creating a very simple REXX exec on z/OS and receiving Routine
> > not found for the SAY command. I have never had this happen before, but
> > this is my first rexx routine in this location. I think it must be
> > something simple missing, can anyone help ?
> > *
> > 3 +++ SAY USER.CLIST(DB2BP)
> > Error running DB2BP, line 3: Routine not found
> > *
> > /* REXX */
> > SAY USER.CLIST(DB2BP)
> > TRACE R
> > ADDRESS ISPEXEC
> > "SELECT CMD(%FPEJINIT)"
> > *
> >
|
|
0
|
|
|
|
Reply
|
Glen
|
9/22/2006 5:03:49 PM
|
|
<Glen.Manages.MVS@gmail.com> wrote in message
news:1158940851.126721.57210@h48g2000cwc.googlegroups.com...
>I am creating a very simple REXX exec on z/OS and receiving Routine
> not found for the SAY command. I have never had this happen before, but
> this is my first rexx routine in this location. I think it must be
> something simple missing, can anyone help ?
> *
> 3 +++ SAY USER.CLIST(DB2BP)
> Error running DB2BP, line 3: Routine not found
> *
> /* REXX */
> SAY USER.CLIST(DB2BP)
> TRACE R
> ADDRESS ISPEXEC
> "SELECT CMD(%FPEJINIT)"
> *
>
Syntax of the SAY instruction is:
SAY expression
==> REXX evaluates the following expression:
USER.CLIST(DB2BP)
and this is considered by REXX as a function call where USER.CLIST is the
name of a function (i.e. a subroutine returning some value) and DB2BP the
name of a variable holding the argument(s) to be passed to the function.
Use parentheses, i.e. code "USER.CLIST(DB2BP)", to avoid the error.
Furthermore, use TRACE I (instead of TRACE R) to generated detailed TRACE
information.
Regards,
Michel Castelein
--------------------------------------------------
Michel Castelein - Arcis Services
MVS-OS/390-z/OS system engineer & instructor
http://www.geocities.com/michelcastelein/
|
|
0
|
|
|
|
Reply
|
M
|
9/22/2006 5:07:56 PM
|
|
Glen.Manages.MVS@gmail.com wrote:
> Thank you for your reply, but I am certain it is the 'SAY' command it
> is not finding, but I do not know why. The TRACE command works.
And I am just as certain it is not. Given that I used to own the Rexx
interpreter code responsible for this, I'm willing to bet very large
sums of money on that particular point.
You've had 3 people so far point out the point of the error, yet you
continue to ignore the advice. Have you tried putting quotes around the
USER.CLIST(DB2BP) yet and seen what happened?
Rick
> *
> Walter u. Christel Pachl wrote:
>> It does not find the routine USER.CLIST
>> Naybe you want to Say 'USER.CLIST(DB2BP)'
>> <Glen.Manages.MVS@gmail.com> schrieb im Newsbeitrag
>> news:1158940851.126721.57210@h48g2000cwc.googlegroups.com...
>>> I am creating a very simple REXX exec on z/OS and receiving Routine
>>> not found for the SAY command. I have never had this happen before, but
>>> this is my first rexx routine in this location. I think it must be
>>> something simple missing, can anyone help ?
>>> *
>>> 3 +++ SAY USER.CLIST(DB2BP)
>>> Error running DB2BP, line 3: Routine not found
>>> *
>>> /* REXX */
>>> SAY USER.CLIST(DB2BP)
>>> TRACE R
>>> ADDRESS ISPEXEC
>>> "SELECT CMD(%FPEJINIT)"
>>> *
>>>
>
|
|
0
|
|
|
|
Reply
|
Rick
|
9/22/2006 5:14:28 PM
|
|
> 3 +++ SAY USER.CLIST(DB2BP)
> Error running DB2BP, line 3: Routine not found
> *
> /* REXX */
> SAY USER.CLIST(DB2BP)
> TRACE R
> ADDRESS ISPEXEC
> "SELECT CMD(%FPEJINIT)"
Just in case weight of numbers is necessary, it is the function call of
USER.CLIST(DB2BP) that is not being found. If you want proof of this
then create a rexx program named "USER.CLIST" where it will be found by
REXX and the problem will go away!
Having said all of that, I *really* wish that condition('D') was set to
the name of the routine that was not found in a Syntax error in the same
way it is set to the name of the variable that had no value when you use
Signal on Novalue.
On more than one occasion I've been absolutely flumoxed to explain what
routine wasn't found.
For example, how about this:
2 *-* Do I = 1 until myrtn(I) = 0
3 *-* Say 'I is' I
4 *-* End
You'll get something like this:
Syntax error at line 4 of sample
Routine not found
4 *-* End
I spent ages wondering how a simple "End" statement could trap the
Syntax handler! Especially when the "Do" and the "End" were a few
hundred lines apart.
--
Steve Swift
http://www.ringers.org.uk
|
|
0
|
|
|
|
Reply
|
Steve
|
9/22/2006 5:57:40 PM
|
|
In <1158940851.126721.57210@h48g2000cwc.googlegroups.com>, on
09/22/2006
at 09:00 AM, Glen.Manages.MVS@gmail.com said:
>I am creating a very simple REXX exec on z/OS and receiving Routine
>not found for the SAY command.
It has nothing to do with say.
>SAY USER.CLIST(DB2BP)
The text following say is an expression. That expression contains a
function evaluation. Replace the function call with a constant, e.g.,
SAY 'USER.CLIST(DB2BP)'
--
Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel>
Unsolicited bulk E-mail subject to legal action. I reserve the
right to publicly post or ridicule any abusive E-mail. Reply to
domain Patriot dot net user shmuel+news to contact me. Do not
reply to spamtrap@library.lspace.org
|
|
0
|
|
|
|
Reply
|
Shmuel
|
9/22/2006 8:14:49 PM
|
|
In my nomenclature of Rexx, Say and Trace are both Instructions.
Have you TRIED to put quotes around the DSN?
Commands are the thingies that are sent to the current environment (see the
address instruction), such as
"ALLOC FI(BLABLA) DA('"fully qualified dsn"') SHR REUSE"
in TSO-Land where I now live.
Note the double-quote and quote arrangement!
In .... something( ..., something is taken to be an internal or external
FUNCTION or a builtin-function (which is the only context where I use
"builtin," Rick :-)
Time to read TFM
Have a nice weekend!
Walter
"Rick McGuire" <object.rexx@gmail.com> schrieb im Newsbeitrag
news:vRUQg.1895$R%1.1538@newsfe05.lga...
> Glen.Manages.MVS@gmail.com wrote:
>> Thank you for your reply, but I am certain it is the 'SAY' command it
>> is not finding, but I do not know why. The TRACE command works.
>
> And I am just as certain it is not. Given that I used to own the Rexx
> interpreter code responsible for this, I'm willing to bet very large sums
> of money on that particular point.
>
> You've had 3 people so far point out the point of the error, yet you
> continue to ignore the advice. Have you tried putting quotes around the
> USER.CLIST(DB2BP) yet and seen what happened?
>
> Rick
>
>> *
>> Walter u. Christel Pachl wrote:
>>> It does not find the routine USER.CLIST
>>> Naybe you want to Say 'USER.CLIST(DB2BP)'
>>> <Glen.Manages.MVS@gmail.com> schrieb im Newsbeitrag
>>> news:1158940851.126721.57210@h48g2000cwc.googlegroups.com...
>>>> I am creating a very simple REXX exec on z/OS and receiving Routine
>>>> not found for the SAY command. I have never had this happen before, but
>>>> this is my first rexx routine in this location. I think it must be
>>>> something simple missing, can anyone help ?
>>>> *
>>>> 3 +++ SAY USER.CLIST(DB2BP)
>>>> Error running DB2BP, line 3: Routine not found
>>>> *
>>>> /* REXX */
>>>> SAY USER.CLIST(DB2BP)
>>>> TRACE R
>>>> ADDRESS ISPEXEC
>>>> "SELECT CMD(%FPEJINIT)"
>>>> *
>>>>
>>
|
|
0
|
|
|
|
Reply
|
Walter
|
9/22/2006 8:15:46 PM
|
|
Glen.Manages.MVS@gmail.com wrote:
> I am creating a very simple REXX exec on z/OS and receiving Routine
> not found for the SAY command. I have never had this happen before, but
> this is my first rexx routine in this location. I think it must be
> something simple missing, can anyone help ?
> *
> 3 +++ SAY USER.CLIST(DB2BP)
> Error running DB2BP, line 3: Routine not found
> *
> /* REXX */
> SAY USER.CLIST(DB2BP)
> TRACE R
> ADDRESS ISPEXEC
> "SELECT CMD(%FPEJINIT)"
> *
>
As others have said, and I'll say it again, very slowly:
put
USER.CLIST(DB2BP)
in
quotes.
Now, go and *try* it.
Graham.
|
|
0
|
|
|
|
Reply
|
Graham
|
9/22/2006 10:46:44 PM
|
|
My assumption is that you want to SAY whatever the DB2BP exec returns. On a
mainframe, this won't work the way you're trying to do it unless the
'USER.CLIST' library is part of your SYSEXEC or SYSPROC concatenations.
If it is in one of the two concatenations, then this would be your proper
statement:
SAY DB2BP()
If it is not in your concatenation, then you have to invoke it as a command
and use the special variable 'rc':
"EXEC 'USER.CLIST(DB2BP)'"
SAY rc
However, that will only work if DB2BP returns a whole number. If it is
returning a string of text, you'll get an error similar to the following:
Error running DB2BP: Invalid whole number
If DB2BP returns a text string, you'd be best to have DB2BP QUEUE that
string to the stack,then have the calling exec PULL it, so...
DB2BP would look like:
/* rexx */
QUEUE "The time is" TIME()
RETURN 0
....and call it like so:
"EXEC 'USER.CLIST(DB2BP)'"
PULL ret
SAY ret
There might be some other mainframe magic that would make what you want
work, but the examples I gave you will set you up.
<Glen.Manages.MVS@gmail.com> wrote in message
news:1158940851.126721.57210@h48g2000cwc.googlegroups.com...
>I am creating a very simple REXX exec on z/OS and receiving Routine
> not found for the SAY command. I have never had this happen before, but
> this is my first rexx routine in this location. I think it must be
> something simple missing, can anyone help ?
> *
> 3 +++ SAY USER.CLIST(DB2BP)
> Error running DB2BP, line 3: Routine not found
> *
> /* REXX */
> SAY USER.CLIST(DB2BP)
> TRACE R
> ADDRESS ISPEXEC
> "SELECT CMD(%FPEJINIT)"
> *
>
|
|
0
|
|
|
|
Reply
|
John
|
9/23/2006 1:54:44 AM
|
|
Even though it's a couple of years ago since I developed rexx on the
main frame, i'm pretty sure that say is working perfectly.
The message says it all:
Error running DB2BP, line 3: Routine not found
Rexx cannot fint DB2BP routine ..... !!!!!!!
Say works fine - and if you dont belive us, then just make a say
"hello" statement in front of the failing statement. I'm sure it wil
works just as fine as usual.
Mette
Glen.Manages.MVS@gmail.com wrote:
> I am creating a very simple REXX exec on z/OS and receiving Routine
> not found for the SAY command. I have never had this happen before, but
> this is my first rexx routine in this location. I think it must be
> something simple missing, can anyone help ?
> *
> 3 +++ SAY USER.CLIST(DB2BP)
> Error running DB2BP, line 3: Routine not found
> *
> /* REXX */
> SAY USER.CLIST(DB2BP)
> TRACE R
> ADDRESS ISPEXEC
> "SELECT CMD(%FPEJINIT)"
> *
|
|
0
|
|
|
|
Reply
|
Mettemusen
|
9/23/2006 10:15:35 AM
|
|
On Fri, 22 Sep 2006 15:46:44 -0700 Graham <norrisg@spam_free.linkline.com>
wrote:
:>Glen.Manages.MVS@gmail.com wrote:
:>> I am creating a very simple REXX exec on z/OS and receiving Routine
:>> not found for the SAY command. I have never had this happen before, but
:>> this is my first rexx routine in this location. I think it must be
:>> something simple missing, can anyone help ?
:>> *
:>> 3 +++ SAY USER.CLIST(DB2BP)
:>> Error running DB2BP, line 3: Routine not found
:>> *
:>> /* REXX */
:>> SAY USER.CLIST(DB2BP)
:>> TRACE R
:>> ADDRESS ISPEXEC
:>> "SELECT CMD(%FPEJINIT)"
:>> *
:>As others have said, and I'll say it again, very slowly:
:>put
:>USER.CLIST(DB2BP)
:>in
:>quotes.
:>Now, go and *try* it.
It reminds me of the line
"What do you tell a guy with two black eyes?
Nothing. He has already shown that he can't listen"
--
Binyamin Dissen <bdissen@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.
|
|
0
|
|
|
|
Reply
|
Binyamin
|
9/25/2006 1:01:25 PM
|
|
Glen.Manages.MVS@gmail.com wrote:
> I am creating a very simple REXX exec on z/OS and receiving Routine
> not found for the SAY command. I have never had this happen before, but
> this is my first rexx routine in this location. I think it must be
> something simple missing, can anyone help ?
> *
> 3 +++ SAY USER.CLIST(DB2BP)
> Error running DB2BP, line 3: Routine not found
> *
> /* REXX */
> SAY USER.CLIST(DB2BP)
> TRACE R
> ADDRESS ISPEXEC
> "SELECT CMD(%FPEJINIT)"
Say 'USER.CLIST(DB2BP'
As it stands, the USER.CLIST(xxxxx) is being seen as a FUNCTION.
Mickey
|
|
0
|
|
|
|
Reply
|
Mickey
|
9/25/2006 5:10:48 PM
|
|
|
14 Replies
375 Views
(page loaded in 0.17 seconds)
|