SAY command on z/OS - Routine not found

  • Follow


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)

Similiar Articles:


















7/22/2012 4:53:37 PM


Reply: