Re: Calling idcams
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
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
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
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
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
-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
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
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
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
-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
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