Discussion:
How to find the Global zone names in SMP/E via REXX
Add Reply
Lizette Koehler
2017-08-07 23:11:49 UTC
Reply
Permalink
Raw Message
I have a requirement to create a process that is dependent on knowing the
TLIB/DLIB zone names from the Global CSI.

At this time, I do not see any type of ADDRESS SMPEXEC or other API process to
do the extract.

So I am guessing I will need to run an SMPE Process to do a listzone then parse
the output for the names I need.

Unless someone has an easier way to do this, this is the process I will take.

This process will eventually do a copyzone or mergezone. Just trying to
automate the process so the user does not need to tell the REXX that much
information other than the GLOBAL CSI.

Any thoughts or suggestions are appreciated.


Lizette Koehler
statistics: A precise and logical method for stating a half-truth inaccurately

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-08-08 00:29:54 UTC
Reply
Permalink
Raw Message
Post by Lizette Koehler
I have a requirement to create a process that is dependent on knowing the
TLIB/DLIB zone names from the Global CSI.
At this time, I do not see any type of ADDRESS SMPEXEC or other API process to
do the extract.
Alas, the API supports Assembler, Cobol, C, ... (I've modified and used the C
sample in SAMPLIB), but not Rexx. The problem concerns a requirement that
that the caller supply pointers in control blocks whereas Rexx is pointer-challenged.
RFE opportunity? Compare ICSF, which has a Rexx-friendly API.
Post by Lizette Koehler
So I am guessing I will need to run an SMPE Process to do a listzone then parse
the output for the names I need.
I can only suggest running an ADDRESS LINKMVS and scraping the SMPLIST,
as you guess.
Post by Lizette Koehler
Unless someone has an easier way to do this, this is the process I will take.
This process will eventually do a copyzone or mergezone. Just trying to
automate the process so the user does not need to tell the REXX that much
information other than the GLOBAL CSI.
-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Nims,Alva John , Al
2017-08-08 13:42:58 UTC
Reply
Permalink
Raw Message
Does any of the CBT Tape REXX programs that access the SMP/e API do the job?

Al Nims
UFIT
University of Florida
(352) 273-1298
@Home

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-***@LISTSERV.UA.EDU] On Behalf Of Lizette Koehler
Sent: Monday, August 07, 2017 7:13 PM
To: IBM-***@LISTSERV.UA.EDU
Subject: How to find the Global zone names in SMP/E via REXX

I have a requirement to create a process that is dependent on knowing the TLIB/DLIB zone names from the Global CSI.

At this time, I do not see any type of ADDRESS SMPEXEC or other API process to do the extract.

So I am guessing I will need to run an SMPE Process to do a listzone then parse the output for the names I need.

Unless someone has an easier way to do this, this is the process I will take.

This process will eventually do a copyzone or mergezone. Just trying to automate the process so the user does not need to tell the REXX that much information other than the GLOBAL CSI.

Any thoughts or suggestions are appreciated.


Lizette Koehler
statistics: A precise and logical method for stating a half-truth inaccurately

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

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Lizette Koehler
2017-08-08 14:10:06 UTC
Reply
Permalink
Raw Message
I will check those out closer.

Thanks

Lizette
Post by Nims,Alva John , Al
-----Original Message-----
Behalf Of Nims,Alva John (Al)
Sent: Tuesday, August 08, 2017 6:44 AM
Subject: Re: How to find the Global zone names in SMP/E via REXX
Does any of the CBT Tape REXX programs that access the SMP/e API do the job?
Al Nims
UFIT
University of Florida
(352) 273-1298
@Home
-----Original Message-----
Behalf Of Lizette Koehler
Sent: Monday, August 07, 2017 7:13 PM
Subject: How to find the Global zone names in SMP/E via REXX
I have a requirement to create a process that is dependent on knowing the
TLIB/DLIB zone names from the Global CSI.
At this time, I do not see any type of ADDRESS SMPEXEC or other API process
to do the extract.
So I am guessing I will need to run an SMPE Process to do a listzone then
parse the output for the names I need.
Unless someone has an easier way to do this, this is the process I will take.
This process will eventually do a copyzone or mergezone. Just trying to
automate the process so the user does not need to tell the REXX that much
information other than the GLOBAL CSI.
Any thoughts or suggestions are appreciated.
Lizette Koehler
statistics: A precise and logical method for stating a half-truth inaccurately
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-08-08 15:23:08 UTC
Reply
Permalink
Raw Message
Post by Nims,Alva John , Al
Does any of the CBT Tape REXX programs that access the SMP/e API do the job?
I see no mention of an API for Rexx in the SMP/E User's Guide, Reference, or Commands.
Where is an API for Rexx documented?

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Nims,Alva John , Al
2017-08-08 17:00:34 UTC
Reply
Permalink
Raw Message
It is documented in "SA23-2276-02 SMP/E for z/OS Reference" look for GIMAPI, on the CBTTAPE are some routines that provide an interface between REXX and GIMAPI.


"Overview of GIMAPI

GIMAPI is a program (load module) provided with IBM SMP/E for z/OS, V3R6 that can be called by a user-written application program to query the contents of the CSI.

GIMAPI uses data structures both to receive the query parameters from the caller and to return the query output to the caller. To request a query, you must set up the data structure containing the appropriate query parameters and call GIMAPI.
The general form of the GIMAPI call is:

GIMAPI(apicmd,parmptr,outptr,language,rc,cc,msgbuff)
where apicmd specifies the API command that GIMAPI is to process (either QUERY, FREE or VERSION). See QUERY command, FREE command and VERSION command for descriptions of these commands and a detailed description of how the remaining parameters parmptr, outptr, language, rc, cc, and msgbuff) are used on those commands.
Parent topic: SMP/E CSI application programming interface"


Al Nims
UFIT
University of Florida
(352) 273-1298
@Home

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-***@LISTSERV.UA.EDU] On Behalf Of Paul Gilmartin
Sent: Tuesday, August 08, 2017 11:24 AM
To: IBM-***@LISTSERV.UA.EDU
Subject: Re: How to find the Global zone names in SMP/E via REXX
Post by Nims,Alva John , Al
Does any of the CBT Tape REXX programs that access the SMP/e API do the job?
I see no mention of an API for Rexx in the SMP/E User's Guide, Reference, or Commands.
Where is an API for Rexx documented?

-- gil

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

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-08-08 19:06:13 UTC
Reply
Permalink
Raw Message
Post by Nims,Alva John , Al
It is documented in "SA23-2276-02 SMP/E for z/OS Reference" look for GIMAPI, on the CBTTAPE are some routines that provide an interface between REXX and GIMAPI.
I don't consider GIMAPI a Rexx API; it's Rexx-hostile. It requires
that the caller supply pointers in argument blocks, and pointers are
not a capability of Rexx. So an interface to the interface is
necessary.

ICSF did far better with its API -- its arguments are Rexx-friendly
without being Rexx-peculiar. It's a pity that the designers of GIMAPI
lacked such foresight.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
ITschak Mugzach
2017-08-08 20:55:14 UTC
Reply
Permalink
Raw Message
Have a look at the catalog interface (sys1.samplib(IGG*)). They use rexx to
invoke the utility. I believe same way can br used with the smpe api. I
once tried that, but didn't have the time to complete the work...

ITschak

On Tue, Aug 8, 2017 at 10:07 PM, Paul Gilmartin <
Post by Nims,Alva John , Al
Post by Nims,Alva John , Al
It is documented in "SA23-2276-02 SMP/E for z/OS Reference" look for
GIMAPI, on the CBTTAPE are some routines that provide an interface between
REXX and GIMAPI.
I don't consider GIMAPI a Rexx API; it's Rexx-hostile. It requires
that the caller supply pointers in argument blocks, and pointers are
not a capability of Rexx. So an interface to the interface is
necessary.
ICSF did far better with its API -- its arguments are Rexx-friendly
without being Rexx-peculiar. It's a pity that the designers of GIMAPI
lacked such foresight.
-- gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
--
ITschak Mugzach
*|** IronSphere Platform* *|** Automatic ISCM** (Information Security
Contiguous Monitoring) **| *

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Nims,Alva John , Al
2017-08-09 05:55:46 UTC
Reply
Permalink
Raw Message
You will not get any argument from me about GIMAPI being "REXX Hostile," but that is why I mentioned the CBTTAPE, I believe more than one person has created the interface between REXX and GIMAPI, to let REXX work with it.

Al Nims
UFIT
University of Florida
(352) 273-1298
@Home

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-***@LISTSERV.UA.EDU] On Behalf Of Paul Gilmartin
Sent: Tuesday, August 08, 2017 3:07 PM
To: IBM-***@LISTSERV.UA.EDU
Subject: Re: How to find the Global zone names in SMP/E via REXX
Post by Nims,Alva John , Al
It is documented in "SA23-2276-02 SMP/E for z/OS Reference" look for GIMAPI, on the CBTTAPE are some routines that provide an interface between REXX and GIMAPI.
I don't consider GIMAPI a Rexx API; it's Rexx-hostile. It requires that the caller supply pointers in argument blocks, and pointers are not a capability of Rexx. So an interface to the interface is necessary.

ICSF did far better with its API -- its arguments are Rexx-friendly without being Rexx-peculiar. It's a pity that the designers of GIMAPI lacked such foresight.

-- gil

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

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
CM Poncelet
2017-08-09 19:56:44 UTC
Reply
Permalink
Raw Message
FWIW Any SMP/E PGM=GIMSMP (or any other PGM=) in batch TSO can be
executed in REXX. All that is required is that the DDNames and datasets
be allocated - either as preallocated SMPPLOG, SMPPTFIN, SMPHOLD etc. in
the CSI's GLOBAL, TLIB and/or DLIB zones, or as 'ALLOC etc.' overrides -
and then issuing a "CALL GIMSMP" or "CALL <full path DSN>(GIMSMP)" in REXX.

The GLOBAL zone names will always be called 'GLOBAL'. The TLIB and DLIB
zones can be called anything you choose, and can all be associated with
a single GLOBAL zone (but this is not recommended unless they are
'separate' FMIDs of a same product).

If the question was meant to be "How to find all the CSI DSNames in
SMP/E via REXX", I cannot answer. Their DSNames could be anything,
including e.g. the DSNs of clones of production etc. SMP/E CSIs.

HTH.

Chris Poncelet (retired sysprog)
Post by Nims,Alva John , Al
You will not get any argument from me about GIMAPI being "REXX Hostile," but that is why I mentioned the CBTTAPE, I believe more than one person has created the interface between REXX and GIMAPI, to let REXX work with it.
Al Nims
UFIT
University of Florida
(352) 273-1298
@Home
-----Original Message-----
Sent: Tuesday, August 08, 2017 3:07 PM
Subject: Re: How to find the Global zone names in SMP/E via REXX
Post by Nims,Alva John , Al
It is documented in "SA23-2276-02 SMP/E for z/OS Reference" look for GIMAPI, on the CBTTAPE are some routines that provide an interface between REXX and GIMAPI.
I don't consider GIMAPI a Rexx API; it's Rexx-hostile. It requires that the caller supply pointers in argument blocks, and pointers are not a capability of Rexx. So an interface to the interface is necessary.
ICSF did far better with its API -- its arguments are Rexx-friendly without being Rexx-peculiar. It's a pity that the designers of GIMAPI lacked such foresight.
-- gil
----------------------------------------------------------------------
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-08-09 21:33:45 UTC
Reply
Permalink
Raw Message
Post by CM Poncelet
FWIW Any SMP/E PGM=GIMSMP (or any other PGM=) in batch TSO can be
executed in REXX. All that is required is that the DDNames and datasets
be allocated - either as preallocated SMPPLOG, SMPPTFIN, SMPHOLD etc. in
the CSI's GLOBAL, TLIB and/or DLIB zones, or as 'ALLOC etc.' overrides -
and then issuing a "CALL GIMSMP" or "CALL <full path DSN>(GIMSMP)" in REXX.
No need for TSO. Use ADDRESS LINKMVS GIMSMP.

But I suspect the OP was seeking a solution that didn't involve scraping a
listing data set.
Post by CM Poncelet
The GLOBAL zone names will always be called 'GLOBAL'. The TLIB and DLIB
zones can be called anything you choose, and can all be associated with
a single GLOBAL zone (but this is not recommended unless they are
'separate' FMIDs of a same product).
In which case, they might as well, or better, be in a single zone pair,
especially if load modules are built with cross-FMID INCLUDEs.
Post by CM Poncelet
If the question was meant to be "How to find all the CSI DSNames in
SMP/E via REXX", I cannot answer. Their DSNames could be anything,
including e.g. the DSNs of clones of production etc. SMP/E CSIs.
If the DSNames are in DDDEFs (highly recommended) they can be listed
with SMP/E commands. At times, a question has been posed here,
"Can I, for a one-off, overide in JCL the DDDEFs in the CSIs?" Yes, but
don't do that!

(How useful has the new-fangled DD *,SYMBOLS=JCLONLY proved to be
in making CSI definition UCLIN more consistent?)

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Edward Gould
2017-08-10 00:07:04 UTC
Reply
Permalink
Raw Message
——————————————SNIP----------------------------------------------
If the DSNames are in DDDEFs (highly recommended) they can be listed
with SMP/E commands. At times, a question has been posed here,
"Can I, for a one-off, overide in JCL the DDDEFs in the CSIs?" Yes, but
don't do that!
Gil,

I have a preference to use JCL with dd’s in the step(proc) for maintenance.

I have been burned by a fellow sysprog as he managed to put the maintenance in the wrong zone.

After the IPL I started to get the phone calls saying that X is still broken. The time it takes is a PITA. I then have to track down what went where.
I also get a black mark from the programmers and my boss for screwing it up. The black mark from the programmers is aggravating as then they stop trusting me and I have to earn their trust back. The boss is not so forgiving even when a 3rd person is involved. His answer is your fault as you didn’t verify what the person did. Personally I don’t have the time in the day/evening to check out what fellow sysprogs did. About 20 years ago I was putting in 100 hour work weeks and it burned me out.
Once I figure out what happened, that means paper work and another scheduled IPL.
I can *TRUST* JCL and not worry about the DDEF’s which are for all intents purposes is invisible.

Ed
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Gerhard Adam
2017-08-10 01:44:54 UTC
Reply
Permalink
Raw Message
Isn't that the point of getting a file allocation report with every SMP run?

Adam

Sent from my iPhone
Post by Edward Gould
Post by Paul Gilmartin
——————————————SNIP----------------------------------------------
If the DSNames are in DDDEFs (highly recommended) they can be listed
with SMP/E commands. At times, a question has been posed here,
"Can I, for a one-off, overide in JCL the DDDEFs in the CSIs?" Yes, but
don't do that!
Gil,
I have a preference to use JCL with dd’s in the step(proc) for maintenance.
I have been burned by a fellow sysprog as he managed to put the maintenance in the wrong zone.
After the IPL I started to get the phone calls saying that X is still broken. The time it takes is a PITA. I then have to track down what went where.
I also get a black mark from the programmers and my boss for screwing it up. The black mark from the programmers is aggravating as then they stop trusting me and I have to earn their trust back. The boss is not so forgiving even when a 3rd person is involved. His answer is your fault as you didn’t verify what the person did. Personally I don’t have the time in the day/evening to check out what fellow sysprogs did. About 20 years ago I was putting in 100 hour work weeks and it burned me out.
Once I figure out what happened, that means paper work and another scheduled IPL.
I can *TRUST* JCL and not worry about the DDEF’s which are for all intents purposes is invisible.
Ed
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
CM Poncelet
2017-08-10 01:47:17 UTC
Reply
Permalink
Raw Message
Yes indeed. The DSNames would not be those of the original DDDEFs, but
of the UCLIN REP[laced] ones - after a cloned CSI has been updated to
point at them.

E.g.

//SMPCNTL DD *
SET BOUNDARY(GLOBAL)
.
UCLIN
.
REP DDDEF(SMPPTS)
DA(<whatever the cloned SMPPTS new HLQ
is>.SMPPTS)
SHR
.
DEL DDDEF(SMPLOG)
.
ADD DDDEF(SMPLOG)
SYSOUT(*)
.
ENDUCL
.

<etc.>
Post by Edward Gould
——————————————SNIP----------------------------------------------
If the DSNames are in DDDEFs (highly recommended) they can be listed
with SMP/E commands. At times, a question has been posed here,
"Can I, for a one-off, overide in JCL the DDDEFs in the CSIs?" Yes, but
don't do that!
Gil,
I have a preference to use JCL with dd’s in the step(proc) for maintenance.
I have been burned by a fellow sysprog as he managed to put the maintenance in the wrong zone.
After the IPL I started to get the phone calls saying that X is still broken. The time it takes is a PITA. I then have to track down what went where.
I also get a black mark from the programmers and my boss for screwing it up. The black mark from the programmers is aggravating as then they stop trusting me and I have to earn their trust back. The boss is not so forgiving even when a 3rd person is involved. His answer is your fault as you didn’t verify what the person did. Personally I don’t have the time in the day/evening to check out what fellow sysprogs did. About 20 years ago I was putting in 100 hour work weeks and it burned me out.
Once I figure out what happened, that means paper work and another scheduled IPL.
I can *TRUST* JCL and not worry about the DDEF’s which are for all intents purposes is invisible.
Ed
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-08-10 01:24:22 UTC
Reply
Permalink
Raw Message
Post by Edward Gould
Post by Paul Gilmartin
If the DSNames are in DDDEFs (highly recommended) they can be listed
with SMP/E commands. At times, a question has been posed here,
"Can I, for a one-off, overide in JCL the DDDEFs in the CSIs?" Yes, but
don't do that!
Gil,
I have a preference to use JCL with dd’s in the step(proc) for maintenance.
I have been burned by a fellow sysprog as he managed to put the maintenance in the wrong zone.
If your fellow sysprog selects the wrong zone, are you better off for having
DD statements in the JCL for the zone he should have used rather than
DDDEFs in the zone he used matching that zone?

--gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Edward Gould
2017-08-10 12:41:28 UTC
Reply
Permalink
Raw Message
Post by Paul Gilmartin
If your fellow sysprog selects the wrong zone, are you better off for having
DD statements in the JCL for the zone he should have used rather than
DDDEFs in the zone he used matching that zone?
Gil,

The guy was an old timer and struggled with anything new, SMP and SMPE.
He had a canned set of icl he used and didn’t even bother to look at it.
I learned something from it and that was always check the output on the spool.

Ed
Post by Paul Gilmartin
--gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Paul Gilmartin
2017-08-10 02:44:12 UTC
Reply
Permalink
Raw Message
Post by Gerhard Adam
Isn't that the point of getting a file allocation report with every SMP run?
That's after the fact; the damage has been done. OK. Study the report after
a *CHECK step. But I think it's better to get the DDDEFs right when creating
the CSI and not worry about them in subsequent install and service jobs.
Post by Gerhard Adam
Post by Edward Gould
Post by Paul Gilmartin
If the DSNames are in DDDEFs (highly recommended) they can be listed
with SMP/E commands. At times, a question has been posed here,
"Can I, for a one-off, overide in JCL the DDDEFs in the CSIs?" Yes, but
don't do that!
Gil,
I have a preference to use JCL with dd’s in the step(proc) for maintenance.
I have been burned by a fellow sysprog as he managed to put the maintenance in the wrong zone.
-- gil

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