Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

REXX Started Task

526 views
Skip to first unread message

Hawtrey, Chris

unread,
Feb 1, 2001, 12:45:09 PM2/1/01
to
Hello all,
My shop is trying to find a way of offloading some of our resource intensive processes out of the foreground and into the background. One of the ideas that we are kicking around is using MQ to feed information to a started task. This started task would need to be written in REXX since that is where our expertise lies. However, the whole concept of a REXX started task is new to us.

Has anyone out there done this before and if so could you share with me any advise or issues to consider? Also, if anyone has an example of a REXX started task that they could share I would really like to look at it.

Regards,
Chris Hawtrey
IT Analyst - Lead
Principal Financial Group
711 High Street
Des Moines, IA 50392
(515) 247-5329
mailto:Hawtre...@Principal.com

Roberto Sanchez

unread,
Feb 1, 2001, 1:38:25 PM2/1/01
to
There's a batch trigger monitor in MQ-Series.
Is the pack MA12.
May be help.

http://www-4.ibm.com/software/ts/mqseries/txppacs/ma12.html

-------------------------------------------------------------------------------------------------------

Roberto Oscar Sánchez
Arquitecto de Sistemas Centrales
Banco Galicia
Gerencia de Sistemas - Arquitectura Corporativa
San Martín 323 - Piso 8 - C.P. 1004
4329-6000 Int: 5349/3238 - Fax: 4110
roberto...@bancogalicia.com.ar
http://www.bancogalicia.com.ar
-------------------------------------------------------------------------------------------------------



"Hawtrey, Chris"
<Hawtrey.Chris@PRIN Para: TSO-...@VM.MARIST.EDU
CIPAL.COM> cc:
Enviado por: TSO Asunto: REXX Started Task
REXX Discussion
List
<TSO-...@VM.MARIST
.EDU>


01/02/2001 14.44
Por favor, responda
a TSO REXX
Discussion List

Choon Lim

unread,
Feb 1, 2001, 6:05:17 PM2/1/01
to
I run the following Started Task which runs REXX at IPL time to capture IPL
info for disaster recovery purposes.

//GETIPLV PROC
//*******************************************************************
//* GET IPL VOLUME SERIAL AND IPLDATE
//*
//* THIS PROCEDURE WILL BE EXECUTED AT THE BEGINNING OF EACH
//* IPL. THE PURPOSE OF THIS PROC IS TO GET THE IPL VOLSERS
//* AND IPLDATE FOR DRP
//*
//*******************************************************************
//IEFPROC EXEC PGM=IKJEFT01,DYNAMNBR=35,TIME=45,REGION=4096K
//SYSPROC DD DSN=T$QQQ00.CMDPROC,DISP=SHR
//DISKIN1 DD DSN=PDR.C999.IPLDATE,DISP=OLD
//SYSPRINT DD TERM=TS,SYSOUT=A
//SYSTERM DD TERM=TS,SYSOUT=A
//SYSTSPRT DD TERM=TS,SYSOUT=A
//SYSTSIN DD DSN=SYS2.CMDPROC(GETIPLV),DISP=SHR


where SYS2.CMDPROC(GETIPLV) contains the following statement to invoke a Rexx program.

%IPLDATE


Regards,
Choon Lim
__________________________________________________
Systems Programmer
CSC
310 Ferntree Gully Road, Clayton Vic 3168
Ph: +61-3-9538-9867 Mobile: 0417-108-056 Email: cl...@csc.com.au

"Hawtrey, Chris" <Hawtre...@PRINCIPAL.COM>@VM.MARIST.EDU> on 02/02/2001
03:44:50

Please respond to TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>

Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>


To: TSO-...@VM.MARIST.EDU
cc:
Subject: REXX Started Task

Robert Zenuk

unread,
Feb 2, 2001, 12:40:35 PM2/2/01
to
I have done 3 major projects creating long running started tasks using REXX.
Depending upon the requirements, this is no more difficult than running REXX
in batch. The only difference is the JCL is placed in a JES2 PROC00
accessible PROCLIB using valid PROC syntax. Depending on your site, you may
need to deal with some security issues as well.

I found a file (386) on the CBT tape (www.cbt.org) that made life very easy.
It provided several REXX functions that made a REXX STC a viable approach.
In one case I was creating a prototype of something that was to be rewritten
after the "proof-of-concept" due to anticipate production performance issues.
In the other cases REXX was acceptable for the performance expectations.

Salvador Carrasco of Spain contributed File 386 which contains a great set of
REXX functions that make this task much easier. Many thanks go out to
Salvador. After corresponding with him last fall, he added a few new
features. I just looked on www.cbt.org and the last update date on the file
is 1/8/2001, so I believe it is the most recent set of tools. The functions
I found most useful for writing a started task were:

l_wto - Issue a WTO (normal or bold) or a WTOR (reply contents come back
to EXEC)
l_dom - DOM any bold WTO's
l_delay - Sleep for a while
l_vst - Verify a named STC is active or not
l_cmd - Quick and Dirty SVC35 interface (also consider the TSO CONSOLE
interface)
l_mod - QEdit/Post routine so REXX STC can receive MODIFY and STOP
commands

Salvador added the support for l_dom, l_cmd and l_mod after I emailed him to
ask if he had made any recent enhancements. He responded with, "What are you
looking for?" I didn't hear from him for two weeks and he sent me a new copy
of the 386 file and said "Try this!" It all worked great right out of the
box. He also has a SORT interface, a VSAM interface, a CSI interface, a DASD
interface and more. This is a great function package!

In any case, these functions made it possible to write a usable STC that
Operations could use and support.

Unfortunately, due to contracting agreements I can't post any of the code.

The basic design approach I have been using is:

Startup
Make sure I am not running already (l_vst)
Initialize the command interface (l_mod)
Begin a loop (do forever)
Check for command input (l_mod)
If STOP leave loop
Program logic (whatever the STC is supposed to do)
Sleep (l_delay)
End loop
Cleanup
Shutdown

Prior to having the l_mod function, I used to provide a command interface
using a shared member of a PDS (crude but workable). I would use two STC's.
The 1st STC was the actual long running task that had a DD statement pointing
to the PDS. The 2nd STC was used to send commands (through the member
interface) to the long running task. This 2nd STC was solely used to provide
a command interface i.e. S CMDTASK,CMD=SHUTDOWN. The 2nd STC was also REXX
with a DD pointing to the same PDS and all it did was take the arg input and
EXECIO it into the shared member. The long running task would FREE and
re-ALLOC the member each "cycle". In the same loop described above in the
long running STC the file input was read and acted upon appropriately.

The l_mod approach is much cleaner. Let me know if the posted 386 file on
CBT doesn't have the new routines and I will send you a copy of mine.

Good Luck,
Robert Zenuk

robz...@aol.com

Schwarz, Barry A

unread,
Feb 2, 2001, 1:37:29 PM2/2/01
to
www.cbt.org is the web site of the Columbia Basin Trust. You probably meant www.cbttape.org.

I just downloaded the file based on your recommendation and the new products are not there. Everything is dated in 1999. Could you be more specific where you found the 2001 updates.


Barry Schwarz
OS/390 Systems Programmer
Phone: 253-773-4221
Fax: 253-773-2099
Mail stop: 80-JC
e-mail: barry.a...@boeing.com


> ----------
> From: Robert Zenuk[SMTP:Robz...@AOL.COM]
> Reply To: TSO REXX Discussion List
> Sent: Friday, February 02, 2001 9:38 AM
> To: TSO-...@VM.MARIST.EDU
> Subject: Re: REXX Started Task

Tom Parker

unread,
Feb 2, 2001, 2:05:05 PM2/2/01
to
The CBT tape can be found at www.cbttape.org.

cbt.org is something else.

Robert Zenuk

unread,
Feb 2, 2001, 3:24:18 PM2/2/01
to
I tried to post the cbt386 file to the list and the post was rejected. If
you would like the file, please email me directly and I will send it out...

---- rejected post -----------------------------

I'm sorry, I have the CBT site bookmarked. You are absolutely right, the CBT
site is www.cbttape.org, sorry for any confusion.

I received a personal reply also stating the CBT file contents haven't been
updated. Salvador sent me a copy directly so I will post it now.

Here is the CBT386 zip file, it is not in XMI format (somehow I lost the XMI
file). Just unzip into a PC directory then "FTP MPUT *" the whole directory
into a FB80 PDS (personally, when text is involved I find this easier, faster
and I can look at stuff on the PC prior to doing anything). I added some
install JCL (ASMALL and ASMFLOC). Tailor and run these 2 jobs (they link
into SYS1.LINKLIB). Then refresh LLA and you should be ready to go...

If anyone involved with CBT is on the list, maybe contacting Salvador for a
fresh copy would be the best course of action. Unfortunately, he emailed me
last with his new email address and I forgot to save it before AOL purged
it...

Thanks,
Robert Zenuk
robz...@aol.com

Robin....@stelco.ca

unread,
Feb 28, 2001, 4:26:14 PM2/28/01
to

We run IRXJCL as a started task for several functions without any
problems. One example is to feed SMTP to distribute mailings

On 1 Feb 2001 09:45:09 -0800, Hawtre...@PRINCIPAL.COM (Hawtrey,

0 new messages