Re: Calling idcams

2012-06-21 Thread Gord Tomlin

On 2012-06-20 17:13, McKown, John wrote:

-Original Message-
From: IBM Mainframe Discussion List
[mailto:IBM-MAIN@listserv.ua.edu] On Behalf Of Gord Tomlin
Sent: Wednesday, June 20, 2012 3:30 PM
To: IBM-MAIN@listserv.ua.edu
Subject: Re: Calling idcams

One could argue that creating LE enabled programs would not be very
standard. You'd be challenged to find any UNIX implementation that
could run LE enabled programs, other than the one we try to avoid
calling USS!


OK, I get your meaning. But for all main HLLs on z/OS (COBOL, FORTRAN, PL/I, IBM C/C++), it is 
standard to use LE. Just like on Linux, I'd say that it is standard to use 
a glibc compatible environment.



   From a GCC perspective, one would normally expect to produce
 programs
 that operate with GNU's library.

 True. What might be nice, on z/OS, is to implement a library of 
stubs which are glibc compatible, but map the glibc calling sequence 
into the associated LE subroutine's calling sequence. Well, at least 
__I__ think it would be nice.


Using GCC on z/OS is a collision of technologies that were not designed 
to work together. GCC is designed with glibc in mind, and IBM XL C/C++ 
is designed with the LE runtime in mind.


If GCC and the LE runtime are to inter-operate, then something has to 
give. If I was someone porting an app developed in GCC on another 
platform, then I might be hoping that it would use glibc and run just 
like it did on the other platform. On the other hand, if I (like you) 
was someone wanting to do do new C development on z/OS, then I might 
prefer it if the compiler output could talk to the LE runtime. Needless 
to say, IBM would prefer to see the first option above rather than the 
second!


 I actually rather like the CEEDUMP output. It is well known that I am 

weird.

To each his own on that one...I try to ensure that I always get a real 
dump instead of a CEEDUMP, and I eliminate LE's ESPIE whenever possible 
as well.



--

Regards, Gord Tomlin
Action Software International
(a division of Mazda Computer Corporation)
Tel: (905) 470-7113, Fax: (905) 470-6507

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


Re: Calling idcams

2012-06-20 Thread McKown, John
IGGCSI00 is only for doing the equivalent of a LISTCAT type function. You could 
call IDCAMS itself, with I/O exits to feed it the required commands as if they 
had come from SYSIN. Or you might want to set up a TSO environment and invoke 
the TSO commands.

If you want to do the former (call IDCAMS using I/O exits), you can download 
file 864 from http://cbttape.org/updates.htm . It is some UNIX commands, one of 
which is called ams which uses IDCAMS with I/O exits to implement a z/OS UNIX 
command which prompts the shell user for IDCAMS commands and returns the 
result. The package is in standard CBT format (zip of an XMIT of a PDS). But 
the source is in a member in the PDS which is the output from a pax command. 
Which means that the reload job, included in the package, restores to a z/OS 
UNIX subdirectory. You can then use ISPF option 1 or 2 to list this 
subdirectory and then edit/view/browse the source code (in file ams.s) for an 
example.

Another possibility (not sure) is to set up a TSO environment in your code 
using IKJTSOEV and then invoking a REXX program to issue the TSO commands. I 
don't know if this will work. And, IMO, it is inelegant.

-- 
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-MAIN@listserv.ua.edu] On Behalf Of Scott Ford
 Sent: Wednesday, June 20, 2012 9:47 AM
 To: IBM-MAIN@listserv.ua.edu
 Subject: Calling idcams
 
 All,
 
 I am in the process of wanting to call idcams, principally, a 
 define and delete alias function in Assembler. I have looked 
 at IGGCSI00 and various examples, it doesn't appear I can use 
 IGGCSI00 for this purpose. Can someone point the correct direction ?
 
 
 Regards,
 
 Scott ford
 www.identityforge.com
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
 
 

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


Re: Calling idcams

2012-06-20 Thread Scott Ford
John,

I am a big fan of elegant. I know how to perform the IDCAMS functions via rexx, 
no problem.
I am toying with a called C solution, which is our stated direction. I like the 
Unix solution I will take a look at File864 on cbttapes.org.  There is a lot of 
good code by good people on those cbttapes and xephon pubs. 

Much thanks , John 

Regards ,

Scott ford
www.identityforge.com

On Jun 20, 2012, at 10:58 AM, McKown, John john.mck...@healthmarkets.com 
wrote:

 IGGCSI00 is only for doing the equivalent of a LISTCAT type function. You 
 could call IDCAMS itself, with I/O exits to feed it the required commands as 
 if they had come from SYSIN. Or you might want to set up a TSO environment 
 and invoke the TSO commands.
 
 If you want to do the former (call IDCAMS using I/O exits), you can download 
 file 864 from http://cbttape.org/updates.htm . It is some UNIX commands, one 
 of which is called ams which uses IDCAMS with I/O exits to implement a z/OS 
 UNIX command which prompts the shell user for IDCAMS commands and returns the 
 result. The package is in standard CBT format (zip of an XMIT of a PDS). But 
 the source is in a member in the PDS which is the output from a pax 
 command. Which means that the reload job, included in the package, restores 
 to a z/OS UNIX subdirectory. You can then use ISPF option 1 or 2 to list this 
 subdirectory and then edit/view/browse the source code (in file ams.s) for an 
 example.
 
 Another possibility (not sure) is to set up a TSO environment in your code 
 using IKJTSOEV and then invoking a REXX program to issue the TSO commands. I 
 don't know if this will work. And, IMO, it is inelegant.
 
 -- 
 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-MAIN@listserv.ua.edu] On Behalf Of Scott Ford
 Sent: Wednesday, June 20, 2012 9:47 AM
 To: IBM-MAIN@listserv.ua.edu
 Subject: Calling idcams
 
 All,
 
 I am in the process of wanting to call idcams, principally, a 
 define and delete alias function in Assembler. I have looked 
 at IGGCSI00 and various examples, it doesn't appear I can use 
 IGGCSI00 for this purpose. Can someone point the correct direction ?
 
 
 Regards,
 
 Scott ford
 www.identityforge.com
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
 
 
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

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


Re: Calling idcams

2012-06-20 Thread Walt Farrell
On Wed, 20 Jun 2012 10:46:43 -0400, Scott Ford scott_j_f...@yahoo.com wrote:

I am in the process of wanting to call idcams, principally, a define and 
delete alias function in Assembler. I have looked at IGGCSI00 and various 
examples, it doesn't appear I can use IGGCSI00 for this purpose. Can someone 
point the correct direction ?


Just FYI, I'm pretty sure that to call IDCAMS to delete an alias your program 
will need to run authorized.

-- 
Walt

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


Re: Calling idcams

2012-06-20 Thread Walt Farrell
On Wed, 20 Jun 2012 09:58:58 -0500, McKown, John 
john.mck...@healthmarkets.com wrote:


Another possibility (not sure) is to set up a TSO environment in your code 
using IKJTSOEV and then invoking a REXX program to issue the 
TSO commands. I don't know if this will work. And, IMO, it is inelegant.

I don't think that will work, John, because he wants to delete aliases, and in 
my experience DELETE needs to run APF-authorized to do that. And address TSO 
from REXX can not run APF-authorized commands in an environment setup by 
IKJTSOEV.

Besides, it's inelegant :)

-- 
Walt

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


Re: Calling idcams

2012-06-20 Thread McKown, John
 -Original Message-
 From: IBM Mainframe Discussion List 
 [mailto:IBM-MAIN@listserv.ua.edu] On Behalf Of Paul Gilmartin
 Sent: Wednesday, June 20, 2012 10:18 AM
 To: IBM-MAIN@listserv.ua.edu
 Subject: Re: Calling idcams
 
 On Wed, 20 Jun 2012 09:58:58 -0500, McKown, John wrote:
 
 IGGCSI00 is only for doing the equivalent of a LISTCAT type 
 function. You could call IDCAMS itself, with I/O exits to 
 feed it the required commands as if they had come from SYSIN. 
 Or you might want to set up a TSO environment and invoke the 
 TSO commands.
 
 If you want to do the former (call IDCAMS using I/O exits), 
 you can download file 864 from http://cbttape.org/updates.htm 
 . It is some UNIX commands, one of which is called ams 
 which uses IDCAMS with I/O exits to implement a z/OS UNIX 
 command which prompts the shell user for IDCAMS commands and 
 returns the result. ...
 
 Why I/O exits?  What's wrong with POSIX pipes?

Easier for me to write I/O exits than to set up and allocate the pipes to SYSIN 
and SYSPRINT. Yes, I guess that I could have used pipes. But it is simplier FOR 
ME to use I/O exits. Especially in HLASM. Remember that I don't have a C 
compiler.

 
 What are the APF constraints on IDCAMS?  I understand there are
 some, but not for all functions.  

I don't know what requires APF authorization. The ams command is APF 
authorized in my environment by doing an exattr -p -a ams to mark the ams 
command as APF authorized and PROGRAM controlled. Most functions in IDCAMS will 
still work even without these attributes. I envisioned the ams command mainly 
to do LISTCAT, DELETE, and DEFINE commands.

 Would BPX1EXM be a circumvention? (Does CBT 864 use BPX1EXM?)

No, my code uses an normal z/OS ATTACHX macro to run IDCAMS program 
asynchronously to the main program. It basically sets up the parameters, does 
the ATTACHX with an ECB operand, then does a WAIT on the ECB. It is simple and 
relatively efficient. I use ATTACHX to isolate the main code from any 
problems encountered by IDCAMS without the trouble of setting up an ESTAEX, 
which would be necessary if I did a LINKX instead. Actually, since I don't do 
much but echo the IDCAMS exit code, I wouldn't even need to ATTACHX or ESTAEX, 
just let the ams command abend.

 
 -- gil



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

 

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


Re: Calling idcams

2012-06-20 Thread Shmuel Metz (Seymour J.)
In e52f4f44-5cae-479f-92cb-c156fdfa3...@yahoo.com, on 06/20/2012
   at 10:46 AM, Scott Ford scott_j_f...@yahoo.com said:

I am in the process of wanting to call idcams, principally, a 
define and delete alias function in Assembler. I have looked at 
IGGCSI00 and various examples, it doesn't appear I can use  IGGCSI00
for this purpose.

It's a search interface.

-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 Atid/2http://patriot.net/~shmuel
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...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Calling idcams

2012-06-20 Thread Gord Tomlin
One could argue that creating LE enabled programs would not be very 
standard. You'd be challenged to find any UNIX implementation that 
could run LE enabled programs, other than the one we try to avoid 
calling USS!


From a GCC perspective, one would normally expect to produce programs 
that operate with GNU's library.


But...that's the nice thing about standards: there are so many to choose 
from!


--

Regards, Gord Tomlin
Action Software International
(a division of Mazda Computer Corporation)
Tel: (905) 470-7113, Fax: (905) 470-6507


On 2012-06-20 13:04, McKown, John wrote:

I have downloaded and looked at that. But it does not appear, to me, to be very 
standard. It doesn't create LE enabled programs (including DLLs). I don't see 
how to use it when compiling via a makefile or when using a z/OS UNIX shell. Perhaps I 
need to double check my first impression.



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


Re: Calling idcams

2012-06-20 Thread Scott Ford
Gord,
Not sure what you saying, all COBOL is LE now...Assembler you can choose, C , I 
am not knowledgable in enough to say..

Scott ford
www.identityforge.com

On Jun 20, 2012, at 4:29 PM, Gord Tomlin gt.ibm.li...@actionsoftware.com 
wrote:

 One could argue that creating LE enabled programs would not be very 
 standard. You'd be challenged to find any UNIX implementation that could 
 run LE enabled programs, other than the one we try to avoid calling USS!
 
 From a GCC perspective, one would normally expect to produce programs that 
 operate with GNU's library.
 
 But...that's the nice thing about standards: there are so many to choose from!
 
 --
 
 Regards, Gord Tomlin
 Action Software International
 (a division of Mazda Computer Corporation)
 Tel: (905) 470-7113, Fax: (905) 470-6507
 
 
 On 2012-06-20 13:04, McKown, John wrote:
 I have downloaded and looked at that. But it does not appear, to me, to be 
 very standard. It doesn't create LE enabled programs (including DLLs). I 
 don't see how to use it when compiling via a makefile or when using a z/OS 
 UNIX shell. Perhaps I need to double check my first impression.
 
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

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


Re: Calling idcams

2012-06-20 Thread McKown, John
 -Original Message-
 From: IBM Mainframe Discussion List 
 [mailto:IBM-MAIN@listserv.ua.edu] On Behalf Of Gord Tomlin
 Sent: Wednesday, June 20, 2012 3:30 PM
 To: IBM-MAIN@listserv.ua.edu
 Subject: Re: Calling idcams
 
 One could argue that creating LE enabled programs would not be very 
 standard. You'd be challenged to find any UNIX implementation that 
 could run LE enabled programs, other than the one we try to avoid 
 calling USS!

OK, I get your meaning. But for all main HLLs on z/OS (COBOL, FORTRAN, PL/I, 
IBM C/C++), it is standard to use LE. Just like on Linux, I'd say that it is 
standard to use a glibc compatible environment.

 
  From a GCC perspective, one would normally expect to produce 
 programs 
 that operate with GNU's library.

True. What might be nice, on z/OS, is to implement a library of stubs which 
are glibc compatible, but map the glibc calling sequence into the associated LE 
subroutine's calling sequence. Well, at least __I__ think it would be nice. I 
actually rather like the CEEDUMP output. It is well known that I am weird.

 
 But...that's the nice thing about standards: there are so 
 many to choose 
 from!
 
 --


-- 
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

-- 
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

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


Re: Calling idcams

2012-06-20 Thread Scott Ford
Shmuel,
I want sure and wanted to ask. All the examples I saw in rexx,assembler and 
COBOL all did searches , I figured it was a search only..

Scott ford
www.identityforge.com

On Jun 20, 2012, at 1:54 PM, Shmuel Metz (Seymour J.) 
shmuel+...@patriot.net wrote:

 In e52f4f44-5cae-479f-92cb-c156fdfa3...@yahoo.com, on 06/20/2012
   at 10:46 AM, Scott Ford scott_j_f...@yahoo.com said:
 
 I am in the process of wanting to call idcams, principally, a 
 define and delete alias function in Assembler. I have looked at 
 IGGCSI00 and various examples, it doesn't appear I can use  IGGCSI00
 for this purpose.
 
 It's a search interface.
 
 -- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 Atid/2http://patriot.net/~shmuel
 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...@listserv.ua.edu with the message: INFO IBM-MAIN

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