Re: Anyone a Unicode Services expert? -- roundtrip conversion
ave received this communication in error, please notify us immediately by e-mail and delete the message and any attachments from your system. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
test
Just testing the new ibm-main address -Steve Comstock -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Allocation mystery
On 5/31/2012 4:13 PM, Thomas Conley wrote: On 5/31/2012 5:26 PM, Steve Comstock wrote: I'm finding an unexpected allocation situation that maybe someone can explain. I run a job that creates a new data set using this DD statement: //NEWMAST DD DISP=(NEW,CATLG),DSN=&SYSUID..WORK.NEW.ZINPUTA, // LIKE=STNT329.TRAIN.ZINPUTA Job runs fine and creates the new file. Now I run it again; I expect it to fail with 'DUPLICATE DATA SET NAME' - but it doesn't. Instead, it goes ahead and allocates the file on a storage volume and gives me a zero completion code; just doesn't catalog the data set. I find this a change (but maybe it's been that way for some time). And potentially disasterous: suppose a multi-step job creates a file in the first step, and it gets created but not cataloged; but the completion code is zero. Second step references the new dataset, but it gets the old version because that's what's in the catalog. Any hints or insights here? Steve, Check out the ALLOCxx member, the duplicate dataset parms are in there. Tom I'll check it out. Thanks. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Allocation mystery
On 5/31/2012 4:59 PM, Paul Gilmartin wrote: On Thu, 31 May 2012 21:45:54 +, Gibney, Dave wrote: There is a parmlib option to abend NOT CATLG 2. I recommend using it. Would this cause the ABEND at the beginning or at the end of the job step? The latter would be suboptimal. IMO, SMS should be set up for all allocations and the fallback pathway to storage volumes blocked. Back in the "old days", we did experience the scenario you describe. After the same dataset name appeared on all available volumes, then the abend would occur. I am also a strong believer in the philosophy "If it ain't cataloged, it doesn't exist". I feel free to whack any such I find in the application storage pools. They have always (so far) been the result of an error. Sounds good. On Thu, 31 May 2012 15:25:04 -0600, Steve Comstock wrote: I run a job that creates a new data set using this DD statement: //NEWMASTDD DISP=(NEW,CATLG),DSN=&SYSUID..WORK.NEW.ZINPUTA, // LIKE=STNT329.TRAIN.ZINPUTA Something has to specify the UNIT. Does "LIKE" establish the UNIT but not the VOL? Strange. LIKE establishes neither; UNIT comes from the system default unit, usually SYSALLDA; VOL is chosen from available storage volumes. On occasion, when I want to create a data set if it doesn't exist or reuse it if it does, I code, e.g.: //ALLOCDD DISP=(MOD,CATLG),DSN=&SYSUID..WORK.NEW.ZINPUTA, // LIKE=STNT329.TRAIN.ZINPUTA //* //NEWMASTDD DISP=SHR,DSN=*.ALLOC,VOL=REF=*.ALLOC Would this fail if SMS-managed or "ABEND on NOT CATLGD 2" were in effect? I could use the well-known trick of "DISP=(MOD,DELETE)" in a previous IEFBR14 step, but that would lose existing members if the data set is a PDS. -- gil -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Allocation mystery
I'm finding an unexpected allocation situation that maybe someone can explain. I run a job that creates a new data set using this DD statement: //NEWMASTDD DISP=(NEW,CATLG),DSN=&SYSUID..WORK.NEW.ZINPUTA, // LIKE=STNT329.TRAIN.ZINPUTA Job runs fine and creates the new file. Now I run it again; I expect it to fail with 'DUPLICATE DATA SET NAME' - but it doesn't. Instead, it goes ahead and allocates the file on a storage volume and gives me a zero completion code; just doesn't catalog the data set. I find this a change (but maybe it's been that way for some time). And potentially disasterous: suppose a multi-step job creates a file in the first step, and it gets created but not cataloged; but the completion code is zero. Second step references the new dataset, but it gets the old version because that's what's in the catalog. Any hints or insights here? -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Major update: HTML 5 on z/OS
Finally finished revising our five day course "You and z/OS and the World Wide Web" to be all HTML 5 oriented. Previously the course was centered on HTML 4 and XHTML 1; since further development of XHTML has been moribund and new development moved to enhancing HTML 5, I felt this was the right direction to take. This course is a thorough introduction to HTML and includes extensive discussions of CSS (Cascading Style Sheets), the DOM (Document Object Model), and JavaScript - all with the intent of creating web pages to be served from z/OS using either of the two free HTTP servers available with z/OS. If ever there was a proof-of-concept course, this is it. Further details are available at: http://www.trainersfriend.com/UNIX_and_Web_courses/u518descr.htm which includes links to further details. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: SMP/E and UNIX (JAVA?) (solved)
On 5/30/2012 8:43 AM, R.S. wrote: W dniu 2012-05-30 16:06, Paul Gilmartin pisze: On Tue, 29 May 2012 22:50:05 +0200, R.S. wrote: Solution: add SMPJHOME DD to SMPE job. I'm curious why IBM did not add a DDDEF for that... http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/gimrfr42/4.20 4.20 SMPJHOME ... No default location is assumed by SMP/E for SMPJHOME. ... Notes: 1. SMPJHOME can be specified using a DD statement or a DDDEF entry. Do you mean that sample UCLIN for the product should include a customizable sample/default SMPJHOME DDDEF? A reasonable UNIX distribution (in contrast to z/OS USS) would provide a (customizable) symlink to the current Java libraries in (e.g.) /usr/lpp/java/... Well, I found 'jar' program in 9 different locations, including WebSphere - the product I applied the PTF to. I compared size of the files - it looks I have 9 identical jar's. I have this objection to RDz or whatever it's called, and Eclipse, the base for that: I found many copies of the same Java support files in one installation of the product; I find that senseless bloat of resources very offensive. Probably in today's world the response is "get over it", but for a guy who prefers Assembler, that's a big attitude change; at the very least there should be only a single set of Java modules used by all the classes in an application (or better, in a single system). -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Comparing datasets
On 5/29/2012 10:48 AM, Frank Yaeger wrote: Zaromil at IBM Mainframe Discussion List wrote on 05/29/2012 01:32:36 AM: ... Before you post this, I have already found SPLICE example 8 in the same publication and was also able to get the results I wanted. I would never come to JOINKEYS myself. If you're not familiar with DFSORT and DFSORT's ICETOOL, I'd suggest reading through "z/OS DFSORT: Getting Started". It's an excellent tutorial, with lots of examples, that will show you how to use DFSORT, DFSORT's ICETOOL and DFSORT Symbols. It can introduce you to the DFSORT and ICETOOL functions you may not know about. You can access it online, along with all of the other DFSORT books, from: http://www.ibm.com/support/docview.wss?rs=114&uid=isg3T780 And then, for some intense, hands-on experiences, consider our classroom based class, "Using DFSORT and ICETOOL", 4 days(!). For more details, see: http://www.trainersfriend.com/JCL_courses/B625descrpt.htm -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: How to leave ISPF
On 5/25/2012 7:54 AM, R.S. wrote: When one leaves ISPF usually there is a panel "Specify Disposition of Log Data Set". Usually the answer is 2 - delete. Q: how is it possible to exit ISPF by choosing some option (X - Exit) and NOT see the panel? I saw it many moons ago. BTW: I don't ask how to logoff TSO immediately after leaving ISPF. This is another issue. Issue the Settings command Select the top menu item: Log/List Select option 1, Log data set defaults Select Process Option 2;press enter; PF3 Select Log/List again Select option 2, List data set defaults Select Process Option 2;press enter; PF3 done after this, =x will skip the message(s) about log or list processing. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Brain drain: Where Cobol systems go from here
On 5/23/2012 3:39 PM, Roberts, John J wrote: When the last Cobol programmers walk out the door, so may 50 years of business processes within the software they created. Will you be ready? http://www.computerworld.com/s/article/9227263/The_Cobol_Brain_Drain? taxonomyId=154 Ed, Interesting article and fairly accurate IMO. This is what I can foresee happening: (1) Many companies will try to offshore their COBOL application support. But this won't work so well because it is hard enough to understand these systems without facing the complications of language and arcane terminology. And the young ones back in Bangalore will want to do Java, not COBOL. (2) Other companies will want to recruit overseas, either for CS grads that they can train, or for those few that are willing to invest in COBOL learning if that is what it takes to punch that H1B ticket. But even so, once here they are all going to be looking to do something else, not COBOL. So that company that recruits and trains a COBOL resource is going to be looking for a replacement within a couple years. (3) Efforts to train new young COBOL resources are going to flop, as the article mentions. Again, everyone expects COBOL to be a career dead-end once beyond a 5 to 10 year transition period. Not everyone. (4) In the end, US companies are going to be forced to pay a premium just to hang on to their old-timers long enough to buy time to implement that new ERP package or new custom application. The ones that will be successful doing this are going to be the ones that accommodate their senior developer's desires: lots of time off, telecommuting, job sharing, benefits, etc. John Ahem. We can help. Our problem is reaching the right people. We have a low visibility to training directors and above for most companies, even after more than three decades of providing top quality training to many mainframe organizations. Just too tech-y and not enough sales-y, I guess. So, everybody: help us and your company out: find out who is responsibile for your z/OS applications programmer training and pass this on... There seems to be a resurgence in attention being paid to the mainframe, to z/OS, and to COBOL. For good reason: * z/OS is still the premier operating system in terms of performance, security, and business services * COBOL has been modernized to work with new technologies: + Works with data encoded in ASCII and Unicode + WOrks with data stored in XML + Works with the web - COBOL CGIs can handle transactions from the web, accessing data from VSAM or DB2, then formatting output web pages (HTML) that include the requested information - can even serve up audio, video, and other multimedia files * COBOL is a clear, understandable language that is easy to code, debug, and maintain * COBOL code performs well, with no need for the overhead of Java, for example The Trainer's Friend has a complete z/OS COBOL curriculum, that can: * teach new COBOL developers how to code, test, debug, and maintain programs written in COBOL * teach experienced COBOL programmers new features of the language * teach experienced COBOL programmers how to use COBOL to work with facilities of z/OS such as Language Environment, DB2, CICS, and z/OS UNIX We can teach classes on your site, so the students learn on their own environment. We can license materials so your instructors can teach your students as many classes as needed for just a one time charge. Check out the COBOL curriculum at: http://www.trainersfriend.com/COBOL_Courses/cobolcurr.htm The Trainer's Friend, Inc. is a well-respected company that has been incorporated since 1989, longer than most of our competition. We pride ourselves on our top quality training materials and our dynamic instructors. Visit our website; drop us a line; give us a call - ask questions, explore. Train. Thanks. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Comparison of compiler generated code AD 1980(ish) v 2010(ish)
On 5/16/2012 7:11 AM, Paul Gilmartin wrote: On Wed, 16 May 2012 06:41:27 -0600, Steve Comstock wrote: He has no choice on this: all the new compilers _must_ use LE. Even Metal C? -- gil Well, I knew someone would raise that exception. No, Metal C does not use LE. Not sure if SP C (Systems Programmer C) is still around and it would be an exception too. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Comparison of compiler generated code AD 1980(ish) v 2010(ish)
On 5/16/2012 1:26 AM, Elardus Engelbrecht wrote: Robert Prins wrote: Can anyone skilled in the art tell me why a compiler that probably dates back to the late 1970'ies or early 1980'ies generates the following short and sweet code for a PL/I "BY NAME" assignment, while the not completely new (but still fairly recent) version of Enterprise PL/I (V3R9) generates the very, very, very long-winded code below it? I'm not skilled in this art, but is your Enterprise PL/I (v3r9) also using Language Environment or not? He has no choice on this: all the new compilers _must_ use LE. Then again, I always thought that the fastest instructions are those ones that are never executed... Those instructions don't need to be optimized... :-) Groete / Greetings Elardus Engelbrecht -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Retiring after 43+ years with IBM
On 5/15/2012 7:00 PM, Frank Yaeger wrote: Just a note to let everyone know I'll be retiring at the end of this month (5/31/2012). I've been with IBM for 43+ years (plus a couple of summers in college) and I've enjoyed my career immensely. I've especially enjoyed being able to help people use the DFSORT/ICETOOL functions I developed, over many years, in new and interesting ways. Once I retire, I won't be posting solutions any more since I won't have access to a mainframe to test them, and I don't like posting untested solutions. I may lurk a bit or I may not. I'm looking forward to retirement, but I'll also miss this list. I'm happy to say that others on the DFSORT Team will continue to contribute. Thanks to everyone for giving me the chance to earn a living all these years doing something that was a lot of fun for me. Long live the mainframe, IBM, z/OS, DFSORT and ICETOOL! Frank Yaeger - DFSORT Development Team (IBM) - yae...@us.ibm.com Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration => DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort Best wishes, and thanks for all your help and support. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: IT versus the in-flight magazine
On 5/8/2012 11:55 AM, Kirk Talman wrote: http colon //www.infoworld.com/t/it-strategy/it-versus-the-in-flight-magazine-192066 Oooh! I like it! Thanks, Kirk. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Comments on DFSMS verbose messages?
On 5/8/2012 11:05 AM, McKown, John wrote: Sort of. It does not set the AMODE of the currently executing program, true. Actually it returns the AMODE of the LOAD'ed module in GPR0. Perhaps the OP was a bit "loose" in his phrasing. Quite. Sorry about that. Of course, LOAD doesn't set any PSW amode bits, since the service does not run the loaded module. But if the AMODE of the loaded module is any, then the returned amode bits (in GPR0) are based on the AMODE of the invoker. http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2A9C0/ -- 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@bama.ua.edu] On Behalf Of Shmuel Metz (Seymour J.) Sent: Tuesday, May 08, 2012 9:47 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Comments on DFSMS verbose messages? In<4fa7ede9.2060...@trainersfriend.com>, on 05/07/2012 at 09:44 AM, Steve Comstock said: LOAD is a system service; it will set the bits to the AMODE of the program issuing the service call. Are you sure? -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see<http://patriot.net/~shmuel/resume/brief.html> 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...@bama.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Comments on DFSMS verbose messages?
On 5/7/2012 9:29 AM, Tom Marchant wrote: On Mon, 7 May 2012 08:09:45 -0600, Steve Comstock wrote: On 5/7/2012 7:54 AM, Tom Marchant wrote: On Sun, 6 May 2012 23:23:14 -0400, Robert A. Rosenberg wrote: The problem is that before 64 AMODE you had 3 AMODE Choices - 24-Only, 31-Only, or BOTH 24 and 31 (ie: Any). Where does AMODE(ANY) mean both? Certainly not on the AMODE assembler instruction or in the binder. AMODE ANY means the program will be given control in the AMODE of its invoker No, it doesn't. Regardless of AMODE specification, a program that is invoked with BASR or BALR will get control in the AMODE of its caller. Well, OK. I am talking about an invoker using system services LOAD / LINK / ATTACH / XCTL. A program that is invoked with BASSM will have the AMODE set based upon the value of bits 32 and 63 in register 15 (assuming standard linkage conventions). Yes, yes. When a load module that is marked AMODE ANY is LOADed, which way are these bits set in the entry point address? LOAD is a system service; it will set the bits to the AMODE of the program issuing the service call. Of course, if a module that was assembled AMODE ANY is bound with another module that has its AMODE set to 24 or 31, the resulting load module will have its AMODE set to 24 or 31, respectively. Unless you override it with binder control statements. You can, indeed, shoot yourself in the foot here, if you work at it. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Comments on DFSMS verbose messages?
On 5/7/2012 8:25 AM, Paul Gilmartin wrote: On Mon, 7 May 2012 08:09:45 -0600, Steve Comstock wrote: AMODE ANY means the program will be given control in the AMODE of its invoker and supports running in AMODE24 or AMODE31, whichever it's caller is currently running in. Of course this contradicts the conventional English notion of "any" in that it excludes AMODE64. Granted that conventional words may be overloaded with technical terms with specialized meaning, but such direct confrontation should be avoided. It is what it is. And, yes, you can specify AMODE ANY in the Assembler and in the binder. If Binder marks a load module AMODE(ANY), you say that ATTACH (e.g.) passes it control in the caller's AMODE, right? If a load module is marked AMODE(24) or AMODE(31), will ATTACH pass it control in that AMODE regardless of the caller's addressing mode? -- gil ATTACH will pass control in the module's AMODE regardless of the current AMODE of the attacher. Perhaps more intriguing: each entry point in a load module / program object has its own AMODE specification. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Comments on DFSMS verbose messages?
On 5/7/2012 7:54 AM, Tom Marchant wrote: On Sun, 6 May 2012 23:23:14 -0400, Robert A. Rosenberg wrote: The problem is that before 64 AMODE you had 3 AMODE Choices - 24-Only, 31-Only, or BOTH 24 and 31 (ie: Any). Where does AMODE(ANY) mean both? Certainly not on the AMODE assembler instruction or in the binder. AMODE ANY means the program will be given control in the AMODE of its invoker and supports running in AMODE24 or AMODE31, whichever it's caller is currently running in. And, yes, you can specify AMODE ANY in the Assembler and in the binder. In fact, the ASSEMBLER supports: AMODE {24|31|64|ANY|ANY31|ANY64} the Binder supports AMODE {24|31|ANY|64|MIN} If I code AMODE-31 I can have problems with something that needs AMODE-24. yes. There needs to be am AMODE (such as ALL) to say that all 3 AMODES (24/31/64) are supported. That makes no sense. Addressing mode is set in the PSW and it tells the processor how to behave. It does make sense, if you consider it as the required / recommended / suggested initial AMODE, recognizing that programs may change AMODE as they run. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Course announcement: DB2 and XML
We are pleased to announce the availability of a new course, "DB2 and XML". This three day course focuses on how to create and use tables with the new XML data type. The general course description is here: http://www.trainersfriend.com/DB2_and_VSAM_courses/G532descrpt.htm and the detailed topical outline is here: http://www.trainersfriend.com/DB2_and_VSAM_courses/G532O.htm If you are in need of training on XML, schemas, XPath, file reference variables for XML, and much more, as it applies to and works in DB2, this is the course for you! -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: GO TO "cobol"
On 4/27/2012 3:18 PM, Edward Jaffe wrote: On 4/26/2012 3:46 AM, Shmuel Metz (Seymour J.) wrote: 3. Rexx does not have a GOTO. Those who try to use SIGNAL as if it were GOTO often shoot themselves in the foot as a result Wow! Not only does Rexx not support GOTO, but if you try to use it you get an infinite loop! Consider the following test program: /* REXX */ trace i goto a say 'the goto failed' exit a: say 'the goto worked' exit If you execute under TSO on z/OS 1.13 you get: 3 *-* goto a >L> "GOTO" >L> "A" >O> "GOTO A" 3 *-* goto a >L> "GOTO" >L> "A" >O> "GOTO A" 3 *-* goto a >L> "GOTO" >L> "A" >O> "GOTO A" 3 *-* goto a >L> "GOTO" >L> "A" >O> "GOTO A" 3 *-* goto a >L> "GOTO" >L> "A" >O> "GOTO A" 3 *-* goto a >L> "GOTO" >L> "A" >O> "GOTO A" 3 *-* goto a >L> "GOTO" >L> "A" >O> "GOTO A" 3 *-* goto a >L> "GOTO" >L> "A" >O> "GOTO A" .. (never-ending loop...) But, Ed, it does have "DO FOREVER". I like to joke "You gotta' love a language that does not have a GOTO but does have a DO FOREVER" So somehow you've combined the two in one exec! Very strange behavior. Do you have a local TSO command called 'goto'? When REXX sees a command it does not know, it passes it to the underlying host as a host command. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Confused on DFSORT SORTWK
On 4/27/2012 1:31 PM, David Betten wrote: ��z{S���}�ĝ��xjǺ�*'���O*^��m��Z�w!j��Ėb��RvBƖ�R�6V�BF�RgV��7�6�WBv�F�F�R�4S�4F��W"De4�%B��FƖ�PТ�Fg6�'DW2�&��6�Ғ�BvRv��6VR�bvR6�f�wW&R�WBv���Bw2f�Ɩ�r�РРУ��РФ�BF�B�2��r�v�B&�V�Bג�&�v���&�&�V��7V6�g���rE4�E�S��$tPЦ�BW6��r7�Ɩ�FW'2W"DB��W2F�B7GW�B֗7F�R�b��R�bF�PЦF�6���B&V��r4�2��vVB�'WB���V6�v�G6�WfW"v�F�W6��rE�����2�РФ��g&��"#r�#"B�Sr��Ff�B&WGFV��&WGFV�W2�&��6���w&�FS�РУ��W7BF�6�&�g��De4�%B7W�'G2�&vRf�&�BFF6WG2f�"6�'Gv�&�0ЧF�W0У����v��rF�V�F�W6R��&RF��У�cD�G&! 6�2�� �De4�%Bw2G��֖2���6F������6FW2F�V�2�&vRf�&�B�У�f�"�4����6FVB6�'Bv�&�0У���R�VVBF�7V6�g�E4�E�S��$tR��F�RDB7FFV�V�G2�BDe4�%Bv���У�7W�'BF�B�У�У�У���У�ג'V�R�bF�V�"f�"4�%Et��76R�3���R�VVB&�WB�"F�"F��W0ЧF�PУ�6��R�b4�%D��f�"��W"4�%Et�2���6��V&�G�v���&�&&ǒ6�'&V7B�R� У���B�RF�v�W&RF�W&Rw2F�7V�V�FF���&�WBF�R&V�f�VW2�'WBF�Bw0У�v�B��fRW6VB��F�R7B��У�4�%Et�FF6WBw2����V�6��R�2��"W6VBF�&Rv�V���7B�W76V@Ц&�V�@У�v�F�F�BfWr�V'2v�cD�G&6�2�C3c�5��У�6��v��r�WB��ג��BƖ�"��wVW! 77F�� FRF�Bf�"#�5���b��W@У�f��R��R���VVB&WGvVV�3��BC�5���b4�%Et�76R�"@Ц�V7@У�4�%Et�DG2���&R6���W"��W2֖v�B&R&WGFW"2F�W����rF�RF�6�0ЧF�У�&Rf���VB��&R6���WFVǒ�У��bF�RF�6�2&R4�2��vVB���fW&f��r����֖v�B&Rv��@Ц&6�7F��У�У�&Vv&G2�У�V�&�6��'VVvW У�У�У��fR�6RF��У�FfR&WGFV�У�De4�%BFWfV���V�B�W&f�&��6R�V@У��$�6�'�&F���У�V��â&WGFV�W2�&��6��У��3�#C�3��У�De4�%B��e6��F�WvV"B�GG���wwr�&��6���7F�&vR�Fg6�'B�У�У���! � ���У�f�"�$�����7V'67&�&R�6�v��fb�&6��fR66W72��7G'V7F���2�У�6V�BV���F�Ɨ7G6W'd&��V�VGRv�F�F�R�W76vS���d��$�����У�РРРТ��ХF�R�7F��w2��F��26�FR&Rג�v��BF��( �B�V6W76&�ǒ&W&W6V�@Ф���Ɩ�^(�2�6�F���2�"�0РФ�&�B6PХ6V��"7�7FV�2V�v��VW Ф���Ɩ�R��f�&�F���7�7FV�0РТ��Фf�"�$�����7V'67&�&R�6�v��fb�&6��fR66W72��7G'V7F���2�Ч6V�BV���F�Ɨ7G6W'd&��V�VGRv�F�F�R! �W76v S���d��$�����РРФ�fR�6RF��ФFfR&WGFV�ФDe4�%BFWfV���V�B�W&f�&��6R�V@Ф�$�6�'�&F���ЦV��â&WGFV�W2�&��6��У�3�#C�3��ФDe4�%B��e6��F�WvV"B�GG���wwr�&��6���7F�&vR�Fg6�'B�РТ��Фf�"�$�����7V'67&�&R�6�v��fb�&6��fR66W72��7G'V7F���2�Ч6V�BV���F�Ɨ7G6W'd&��V�VGRv�F�F�R�W76vS���d��$������o=== Uh-oh -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Test
On 4/27/2012 9:13 AM, David Betten wrote: Sorry about this post. Trying to determine why my posts are coming out garbled. Dave Betten -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN Well, this one is fine! -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Confused on DFSORT SORTWK
On 4/27/2012 6:52 AM, David Betten wrote: ��z{S���}�ĝ��xjǺ�*'���O*^��m��Z�w!j��Ėb��R6�V���F�RV�F�&R7�6�WBF��W"De4�%B��BƖ�R�vR6����@Ц�B�BG'�F�V�FW'7F�Bv�Bw2v��r���ג��F��&V6���V�FF����2F�ЦFBE4�E�S��$tRF���W"4�%Et���DB7FFV�V�G26�F�B��R6�W6R��&PЧF��cD�G&6�2�BF�RGf�FvR�b��F�Rf��&�R76R��V6�У33�Ӓ�РРФ�fR�6RF��ФFfR&WGFV�ФDe4�%BFWfV���V�B�W&f�&��6R�V@Ф�$�6�'�&F���ЦV��â&WGFV�W2�&��6��ФDe4�%B��e6��F�WvV"B�GG���wwr�&��6���7F�&vR�Fg6�'B�РФ�$����g&�RF�67W76���Ɨ7BĔ$�����&��V�VGS�w&�FR��B�#r�# У��C3��ӠРУ�g&�! Ӣ�& �6R�6V���Ɩ�Tt����4���У�F��$�����&��V�VGR�У�FFS�B�#r�#"��CB�У�7V&�V7C�6��gW6VB��De4�%B4�%Et�У�6V�B'���$����g&�RF�67W76���Ɨ7BĔ$�����&��V�VGS�У�У�G'���rF�6�'Bf�&ǒ�&vR$�bFFf��R�#��7�Ɩ�FW'2�У���VW'V���r�WB�b4�%Et�76R���fR�33�Ӓf��V�W2��ג4�0У�FV��&'�7F�&vR'WB��W7B��F�6VBF�B���GFW"��r��Х4�%Et���У�DG2�FB�B��ǒ���6FW2f��R��F�Rf�'7BRFV�7F�&vRf��V�W2�У����R�fR��FV��r���RDe4�%BW6R��&Rf��V�W3�У�У���4�%Et�DBD�5҄�Ur�DT�UDR��T�C�5�4D�54S҄5��333R�33! 3R��� ����4�%Et�"DBD�5҄�Ur�DT�UDR��T�C�5�4D�54S҄5��333R�333R��У���4�%Et�2DBD�5҄�Ur�DT�UDR��T�C�5�4D�54S҄5��333R�333R��У���4�%Et�BDBD�5҄�Ur�DT�UDR��T�C�5�4D�54S҄5��333R�333R��У���4�%Et�RDBD�5҄�Ur�DT�UDR��T�C�5�4D�54S҄5��333R�333R��У���4�%Et�bDBD�5҄�Ur�DT�UDR��T�C�5�4D�54S҄5��333R�333R��У���4�%Et�rDBD�5҄�Ur�DT�UDR��T�C�5�4D�54S҄5��333R�333R��У���4�%Et��DBD�5҄�Ur�DT�UDR��T�C�5�4D�54S҄5��333R�333R��У���4�%Et��DBD�5҄�Ur�DT�UDR��T�C�5�4D�54S҄5��333R�333R��У���4�%Et�DBD�5҄�Ur�DT�UDR��T�C�5�4D�54S҄5��333R�333R��У�! У�� 4SCdR4�%B44�E�U�4TTDTB�$T4�$B4�T�B#CS��S�У�У�#3r�BĔdsSSD�D�T�ĕ3�$�e4�%B�4�%Et��$�D��У�C#�5�3#��C�3SR�$�D�T�ĕ3�#c3#�У�#3r�BĔdsSSD�D�T�ĕ3�$�e4�%B�4�%Et�R�$"�D�"�У�C#�5�3#��C�3SR�$�D�T�ĕ3�#c330У�#3r�BĔdsSSD�D�T�ĕ3�$�e4�%B�4�%Et���$2�D�2�У�C#�5�3#��C�3SR�$�D�T�ĕ3�#c33`У�#3r�BĔdsSSD�D�T�ĕ3�$�e4�%B�4�%Et�B�$B�D�B�У�C#�5�3#��C�3SR�$�D�T�ĕ3�#c33 У�#3r�BĔdsSSD�D�T�ĕ3�$�e4�%B�4�%Et�"�$R�D�R�У�C#�5�3#��C�3SR�$�D�T�ĕ3�#c33 Well that cleared that up! Now I understand. :-) -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: GO TO "cobol"
On 4/18/2012 11:06 PM, Dale Miller wrote: Years ago, I learned my first programming language (FORTRAN) from an excellent book by Daniel McCracken who was justly famous for his excellent programming books. He was also known, (but not quite as well) for a mid-life crisis which involved completing a degree from a seminary, but never getting ordained, if my memory serves me. His popularity peaked around the time of the big push for structured programming, and I attended a discussion by him of structured programming. He was positive about it, but with a few caveats. I do remember his saying (approximately):"Pity the poor COBOL programmer working on the error recovery routines for Indexed-Sequential file handling, who finds himself 5 levels deep in nested PERFORMS, and is heard to shout as he sinks beneath the waves: 'Just one GO TO!'.". Looking at the situation where there are multiple conditions under which a procedure/block should terminate, if one is forced to follow the stricture of a single exit from a procedure, one is forced to choose between a convoluted set of nested if's or using goto's to the single exit point. The use of goto's could be considerably easier to follow, especially in the case of the original non-structured COBOL where PERFORM's would be necessary. Dale Miller Well that brings back memories! I worked with Dan, back in the late 70's I think it was. I wrote the script and accompanying handouts for is ASI video tape series on structured COBOL. Many of you probably remember ASI and Deltak (and a few others, but these were the big two) when large chunks of training were built around video libraries. When I left IBM to work for myself, I thought IBM would be my biggest competitor. In those days, however, it was ASI and Deltak. Over the years I ended up doing some work for both of them and speaking at their conferences. Even did some work in London for ASI. Good days. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Anybody use the "cob2" command on a UNIX shell to compile COBOL?
On 4/17/2012 4:04 PM, Tom Ross wrote: On 4/16/2012 3:26 PM, McKown, John wrote: If so, have you figured out how to specify a PDS as an "include" or "copybook"source? The documentation for this command basically stinks. There is an -I switch. But it apparently only accepts UNIX path specifications. The ld command (binder) accepts a PDS name via -L "//pds.name". The as command (HLASM) and C compilers accept a -I "//pds.name". I may end up writing my own version of the "cob2" command, if I really decide that I want to compile COBOL from the UNIX shell. I'll likely model it after the as command. Yes. I discuss this command in our course "Developing Applications for z/OS UNIX". But you're right, the doc is very poor. The assumption seems to be that copy books must be in HFS directories and my experiments produce error messages that would support that. In a way, that's too bad. OTOH, I, too, was assuming that copy books would reside in HFS directories so I had never tried to access copy books as members of a PDS before. You would think that if you used the classic clue that a library was a PDS/E, the compiler could figure it out. Maybe: export SYSLIB="//'SCOMSTO.U520.LIBRARY'" which I tried, and the message from the compile comes back: LineID Message code Library phase message text 24 IGYLI0049-S The "COPY" library "SCOMSTO.U520.LIBRARY/APODEFS" was not found. Skipped to the period terminating the "COPY" statement. so it was pretty clearly expecting (nay: requiring) a z/OS UNIX file, not a PDS. I'm copying this over to ibm-main, too, as Tom Ross occasionally follows that group so maybe he will chime in with some info. Well, I actually ALWAYS follow this group, but via digest, so by the time I see the COBOL questions someone on IBMMAIN has already given the answer that I would have given! A perfect example is the GO TO discussion where the poster did not use the "NOT AT END" phrase of READ. Thank you listers for being so COBOL savvy! On the topic of where your source can be for the cob2 command, it is documented in the Programming Guide. It did take me a minute to find it, but the location seems to make sense to me. In COBOL V4R2 version, see "Chapter 15. Compiling under z/OS UNIX", under the heading "Setting environment variables under z/OS UNIX": SYSLIB Specify paths to directories to be used in searching for COBOL copybooks if you do not specify an explicit library-name in the COPY statement. Separate multiple paths with a colon. Paths are evaluated in order from the first path to the last in the export command. If you set the variable with multiple files of the same name, the first located copy of the file is used. For COPY statements in which you have not coded an explicit library-name, the compiler searches for copybooks in this order: 1. In the current directory 2. In the paths you specify with the -I cob2 option 3. In the paths you specify in the SYSLIB environment variable It clearly says only directories and paths, but I suppose a confirmation that datasets are not supported would be nice. I will try to get that into the next version of the Programming Guide. If anyone has a better suggestion for where this confirmation would go, let me know! Cheers, TomR>> COBOL is the Language of the Future!<< So, in other words, you'll make the exclusion explicit instead of removing the restriction. :-) But, I gather from some of the discussions, and your comments, on this list, you are rather tied up with other compiler priorities these days. Hope all is well. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Anybody use the "cob2" command on a UNIX shell to compile COBOL?
On 4/17/2012 12:53 PM, McKown, John wrote: As the OP, I thought I'm mention that I finally got the z/OS NFS server to allow me to mount a high-level onto a z/OS UNIX subdirectory on the same system. I could then successfully use the cob2 command to compile a COBOL program which did a COPY CEEIGZCT from the mounted subdirectory. I mounted them at /$SYSNAME/nfs-legacy/. I.e. I put -I /\$SYSNAME/nfs-legacy/cee/SCEESAMP on my cob2 command. Clever and resourceful. But certainly just a workaround for the situation: you would like the compilers to be able to use MVS data sets directly for SYSLIB (and other DD names). -- 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...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Anybody use the "cob2" command on a UNIX shell to compile COBOL?
On 4/16/2012 3:26 PM, McKown, John wrote: If so, have you figured out how to specify a PDS as an "include" or "copybook"source? The documentation for this command basically stinks. There is an -I switch. But it apparently only accepts UNIX path specifications. The ld command (binder) accepts a PDS name via -L "//pds.name". The as command (HLASM) and C compilers accept a -I "//pds.name". I may end up writing my own version of the "cob2" command, if I really decide that I want to compile COBOL from the UNIX shell. I'll likely model it after the as command. Yes. I discuss this command in our course "Developing Applications for z/OS UNIX". But you're right, the doc is very poor. The assumption seems to be that copy books must be in HFS directories and my experiments produce error messages that would support that. In a way, that's too bad. OTOH, I, too, was assuming that copy books would reside in HFS directories so I had never tried to access copy books as members of a PDS before. You would think that if you used the classic clue that a library was a PDS/E, the compiler could figure it out. Maybe: export SYSLIB="//'SCOMSTO.U520.LIBRARY'" which I tried, and the message from the compile comes back: LineID Message code Library phase message text 24 IGYLI0049-S The "COPY" library "SCOMSTO.U520.LIBRARY/APODEFS" was not found. Skipped to the period terminating the "COPY" statement. so it was pretty clearly expecting (nay: requiring) a z/OS UNIX file, not a PDS. I'm copying this over to ibm-main, too, as Tom Ross occasionally follows that group so maybe he will chime in with some info. 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 MVS-OE subscribe / signoff / archive access instructions, send email to lists...@vm.marist.edu with the message: INFO MVS-OE -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: GO TO "cobol"
On 4/15/2012 9:49 PM, Jake anderson wrote: Hi All, Apology for asking a basic question and Being Ignorant. We know that GO TO statments are a big "NO" in many production sites and one of the reason being it monopolizes the entire CPU. Really? Well, as they say, "It ain't what you know, it's what you 'know' that ain't so" Are there any documentation explaining about the GO TO statements which clearly describes how it effects the System CPU and performances ? Apology again if the question is not really sensible or else it requires more information. Jake The root of it all is a paper "Go To Statement Considered Harmful" by E. Dijkstra; get Ed Yourdon's book "Classics in Software Engineering"; lots of classic papers in there, including this one. But the Go To in and of itself does not have a significant effect on CPU utilization. I guess you could have a problem with: here. Go to here. Don't take anything for granted. Recieved wisdom is often based on misunderstandings of old folklore. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: PL/I with variable PLISTs
On 4/11/2012 3:44 PM, Frank Swarbrick wrote: That does, indeed, work. And it's also as fugly as h*ck. :-) Thanks Steve. Frank Plenty more where that came from: practical information on how to call programs statically and dynamically, how to set up arguments and receive parameters with each of four languages (COBOL, Assembler, PL/I, and C) or even just within the same language, discussion on EXTERNAL data items, alternate entry points, and more. In only three days! Check out http://www.trainersfriend.com/Language_Environment_courses/m520descr.htm -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: PL/I with variable PLISTs
f "THEFUNCTION" was written in COBOL then you have to invoke it thusly: CALL 'THEFUNCTION' USING MAGIC, INPUT-BUFFER, INPUT-LENGTH, OMITTED, OMITTED RETURNING RC. (The OMITTED keyword simply passes an address of NULL.) Oy! Frank -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: openssl make - z/OS UNIX question - Help
entirety, whether in electronic or hard copy format. Thank you. Please refer to http://www.jpmorgan.com/pages/disclosures for disclosures relating to European legal entities. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: PL/I with variable PLISTs (was: LE C calling HLASM)
On 4/11/2012 6:38 AM, Phil Smith wrote: Thanks for all the responses; off to hospital for spinal surgery, more anon. Ouch! Best wishes. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: PL/I with variable PLISTs (was: LE C calling HLASM)
On 4/10/2012 3:11 PM, Phil Smith wrote: Steve Comstock wrote: Slipperier and slipperier. OK, let's try a different approach: You tell me exactly what you want to see from the PL/I routine calling your API and I'll see if I can cause PL/I to construct that. In other words, your routine will see (R1) -> rc = THEFUNCTION(magic,inputbuffer,inputlength) (R1) ==> A(magic),A(inputbuffer),A(inputlength)<== high bit set on the third fullword OR (the fully specified case): rc = THEFUNCTION(magic,inputbuffer,inputlength,outputbuffer,outputlength) (R1) ==> A(magic),A(inputbuffer),A(inputlength),A(outputbuffer),A(outputlength)<== high bit set on the fifth fullword Pretty standard, yes? Yes. And here's some code: psubsrk: proc options(main); /* declare invoked subroutines */ dcl thefunction entry external('CATCHER') options(asm retcode); dcl pliretv builtin; /* declare data items */ dcl magic fixed bin(31); dcl bufone char(1200); dcl lenone fixed bin(31) value (1200); dcl buftwo char(1600); dcl lentwo fixed bin(31) value (1600); dcl rslt fixed bin(31); dcl msg char(16) value('Return value is '); /* actual code begins here */ call thefunction(magic, bufone, lenone); call thefunction(magic, bufone, lenone, buftwo,lentwo); rslt = pliretv(); put list (msg, rslt); end psubsrk; _Notes_ 1. CATCHER was an old routine I had around that does the following: * display an entry message (..In CATCHER) * display the first seven words pointed at by R1, in hex * returns a value of '7' for its return code (hard coded) * display an exit message (..Leaving CATCHER) 2. The output from the run is: ..In CATCHER ..c(R1) = 19C1A4D0 ..Seven words at address pointed at by R1 = : 19C1A500 19C1A504 99C1B074 000B 0001 00B0 ..Leaving CATCHER ..In CATCHER ..c(R1) = 19C1A4D0 ..Seven words at address pointed at by R1 = : 19C1A500 19C1A504 19C1B074 19C1A9B4 99C1B070 00B0 ..Leaving CATCHER Return value is 7 3. Notice the first time in the third word is x'99C1B074' - the end of list bit is on the second call of thefunction the third word is x'1C1B074' - the end of list bit is not on there, but the fifth word is x'99C1B070' - the end of list bit is on 4. The strange values after the parm pointers (e.g.: 000B 0001 00B0 in the first call) are just random garbage; the compiler does not clear out the storage used for the parmlist: it just changes the words that actually have parameter entries So, I think that's pretty straighforward; it's a CALL instead of a function reference, but it will work. Now, if you need a function reference I can look into it some time. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: PL/I with variable PLISTs (was: LE C calling HLASM)
On 4/10/2012 4:33 PM, Frank Swarbrick wrote: - Original Message - From: Phil Smith To: IBM-MAIN@bama.ua.edu Cc: Sent: Tuesday, April 10, 2012 3:31 PM Subject: Re: PL/I with variable PLISTs (was: LE C calling HLASM) Bernd Oppolzer wrote: I don't know if it helps you, but using C I would code the two calls this way: rc = THEFUNCTION (&magic, inputbuffer,&inputlength, NULL, NULL); Exactly backwards-the idea here is to NOT be obscure, but to have a nice, flexible, intuitive API. Having to specify null parameters or to use a macro for things is what we *don't* want to do. Haha, I can agree with that! Funny thing with Enterprise COBOL... It "properly" sets the high-order bit on the last parm, but supplies no way to interrogate it! So if "THEFUNCTION" was written in COBOL then you have to invoke it thusly: CALL 'THEFUNCTION' USING MAGIC, INPUT-BUFFER, INPUT-LENGTH, OMITTED, OMITTED RETURNING RC. (The OMITTED keyword simply passes an address of NULL.) Oy! Well, there is a little trick you use, involving defining the trailing parameters as pointers coming in by value, on the procedure division header name the pointers not the items, defining items you expect in linkage, redefining a binary item on top of the pointers, to access one of the data items use 'set addres of data_item to pointer', when you're done with an item check if the redefined (binary version) is negative - that indicates the end of list bit is on. No problem. :-) Frank -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Strange SDSF behavior
Twice today the order of jobs in the SDSF status queue has been changed on me without my issuing any commands. That is, if you choose the View menu and Sort option, the value is different from what I set! I'm the only one on the system. Has anyone else seen this behavior? (z/OS 1.13) -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: PL/I with variable PLISTs (was: LE C calling HLASM)
On 4/10/2012 1:54 PM, Phil Smith wrote: Steve Comstock wrote: Yes. But that's Assembler. I thought the called routine was C, and you were testing the parms passed in the C routine. Is that not true? Are there more layers here? Yes, there are lots of layers, it's a mixture of assembler and C, sorry. The point is, we're confident that the description of the behavior we've seen is as described (we have XDC, too, so can see some of it). it's very strange-as if nobody at IBM ever really tried to use variable plists with PL/I! Slipperier and slipperier. OK, let's try a different approach: You tell me exactly what you want to see from the PL/I routine calling your API and I'll see if I can cause PL/I to construct that. In other words, your routine will see (R1) -> -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: PL/I with variable PLISTs (was: LE C calling HLASM)
On 4/10/2012 1:27 PM, Phil Smith wrote: Steve Comstock wrote: But I would like to see the code you use to test the high bit, please. Nothing proprietary, just informative OK, something like this: L R2,0(,R8) TM0(R8),X'80' BOLASTPARM ? Pretty basic... Yes. But that's Assembler. I thought the called routine was C, and you were testing the parms passed in the C routine. Is that not true? Are there more layers here? -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: PL/I with variable PLISTs (was: LE C calling HLASM)
On 4/10/2012 12:44 PM, Phil Smith wrote: Steve Comstock wrote: re whether we'll expect customers to be running Enterprise PL/I: And the answer is? Oops...meant to answer this. Um...I guess "whatever's current" was my assumption. Are the older compilers supported? Some are. But there are, apparently, many customers running with unsupported compilers. Some of the posts here have been pretty incredibly about how old the software is. But, we'll assume current Enterprise PL/I, then. Thanks. Re our C prototype: Do you really have the ellipsis? If so, my reading of the docs is that all arguments after int *inputLength, will have to be of that type (that is, all pointers to integer values) and not pointer to char followed by pointer to int; of course, you can play games. But I think that would be a problem. Generally, the above C function will expect, when it is called, to have R1 set up this way: (R1) -> a(magic) a(inputBuffer) a(inputLength) a(outputBuffer) a(outputLength) That isn't the behavior we've observed. Ah, that's why I asked about any pragma's you may have and what compiler options you are setting in C Generally, what I've show is true; however, in some cases the actual first element in the list is the address of where the function value will be returned. The docs are a little ambiguous, so I'm trying to nail down the details. So how, in your C code, do you currently check how many arguments have been received? This won't be hard, really, :-) , but we need to pay attention to detail. High-bit. But I would like to see the code you use to test the high bit, please. Nothing proprietary, just informative What's weird to me is that PL/I and C share parts of the same compiler logic! Ah well. Indeed. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: PL/I with variable PLISTs (was: LE C calling HLASM)
On 4/10/2012 12:33 PM, Phil Smith wrote: OK, Steve, here's the previous post...thanks again! Umm... that doesn't show the COBOL call, nor the Assembler call those are what I was wanting to see, to compare them to your PL/I invocations From: Phil Smith Sent: Tuesday, April 10, 2012 9:00 AM To: ibm-main@bama.ua.edu Subject: RE: Re: LE C calling HLASM Steve Comstock wrote: Ah, so that's what you want it for. But if the output buffer length is zero, doesn't that tell you to use the input buffer? And if an argument is omitted, it will appear as zero, right? I mean, why else would you pass a buffer length of zero? Because users make mistakes? I mean, we could do that, but it doesn't really solve the problem. We don't want to force them to type OMITTED - at that point they might as well code: rc = THEFUNCTION(inbuffer, inlength, inbuffer, inlength); What we want is to allow both: rc = THEFUNCTION(inbuffer, inlength, outbuffer, outlength); and rc = THEFUNCTION(inbuffer, inlength); /* Works same as if inbuffer/inlength specified again as 3rd& 4th parameters */ as we can in COBOL. Or even in C, for that matter. I still find it hard to believe that PL/I can't do this! Remember that LIST seemed like the answer, except that the high bit never got set on the last parameter. And then LINKAGE(SYSTEM) seemed like the answer, except that you can't specify that on a function call. ...phsiii (will it go 'round in circles...?) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: PL/I with variable PLISTs (was: LE C calling HLASM)
On 4/10/2012 11:15 AM, Frank Swarbrick wrote: I only happened to learn PL/I this weekend, Well I'm impressed! so take this with a grain of salt, but can't you activate THEFUNCTION with a call rather than as a function in order to be able to use LINKAGE(SYSTEM)? And then use PLIRETV() in order to get the return code? 1. Yes you can, theoretically, set this up as a procedure 2. And, yes, the call to PLIRETV should work (although in the literature it says for this to work the called program should have made a call to PLIRETC, the effect from the C function will probably match that) 3. But the problem he is concerned with: how to pass three parameters or five parameters and have the C function know which have been passed If he is counting on the end-of-list flag, then the C function must have something like #pragma linkage(thefunction,OS) but it's not clear if that is the case here That's why I wanted to see how he checks for the number of parms in his C code. Also, to turn on the end-of-list flag, the call from the PL/I program will have to have options(asm), so: call thefunction(magic, inbuff, inbufflen, outbuff, outbufflen) options(asm); or call thefunction(magic, inbuff, inbufflen) options(asm); Also note that if the subroutine were declared as a function, then options(asm) is not allowed. declare THEFUNCTION entry options(ASM RETCODE LINKAGE(SYSTEM)); (I think LINKAGE(SYSTEM) is redundant here.) call THEFUNCTION(one, two, three); display(pliretv()); call THEFUNCTION(one, two, three, four, five); display(pliretv()); (Not sure if the declare entry requires the parms to be declared.) Maybe you can even wrap the above into a PL/I function so that your PL/I programs can invoke it as a function. Just a WAG. Good luck! Frank - Original Message - From: Phil Smith To: IBM-MAIN@bama.ua.edu Cc: Sent: Tuesday, April 10, 2012 9:57 AM Subject: Re: PL/I with variable PLISTs (was: LE C calling HLASM) Steve Comstock wrote: I'm confused here, because the title of the thread is 'C calling HLASM' and here we are talking about PL/I. Yeah, true...topic drift. Renamed. So what's really going on here that is the mystery? My guess is: you have a C function that you want to call from, in this instance, a PL/I program. Right? Right. Can you show us the definition of the C function (not the body, just the definition of parameters along with any pragma statements you might have, and compiler options relevant to calls / function references)? See below. Can you show us how you invoke the function from C, COBOL, and Assembler? That is, some sample calls or function references that work successfully, both with two arguments and four arguments (BTW: do you allow the output buffer to be specified without the last length argument? How about no output buffer but with a length? In other words, must the user specify exactly two or exactly four arguments?) The previous post had an example from COBOL; C is the same, only in C syntax. Assembler too. We validate that we got three or five arguments (note there's an initial, required argument). Finally: there are some differences in the Enterprise PL/I compiler regarding compile time options and options available for declaring functions and subroutines so I ask this: is your expectation that your customers will be running the Enterprise PL/I compiler or some earlier compiler? Here's a C prototype, with the serial numbers filed off: int THEFUNCTION( char *magic, char *inputBuffer, int *inputLength, ...) -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: PL/I with variable PLISTs (was: LE C calling HLASM)
On 4/10/2012 9:57 AM, Phil Smith wrote: Steve Comstock wrote: I'm confused here, because the title of the thread is 'C calling HLASM' and here we are talking about PL/I. Yeah, true...topic drift. Renamed. So what's really going on here that is the mystery? My guess is: you have a C function that you want to call from, in this instance, a PL/I program. Right? Right. Can you show us the definition of the C function (not the body, just the definition of parameters along with any pragma statements you might have, and compiler options relevant to calls / function references)? See below. Can you show us how you invoke the function from C, COBOL, and Assembler? That is, some sample calls or function references that work successfully, both with two arguments and four arguments (BTW: do you allow the output buffer to be specified without the last length argument? How about no output buffer but with a length? In other words, must the user specify exactly two or exactly four arguments?) The previous post had an example from COBOL; C is the same, only in C syntax.Assembler too. We validate that we got three or five arguments (note there's an initial, required argument). Yeah, but I don't have the previous post. I'm trying to get better about cleaning out my inbasket, and sometimes I get overzealous. Finally: there are some differences in the Enterprise PL/I compiler regarding compile time options and options available for declaring functions and subroutines so I ask this: is your expectation that your customers will be running the Enterprise PL/I compiler or some earlier compiler? And the answer is? Here's a C prototype, with the serial numbers filed off: int THEFUNCTION( char *magic, char *inputBuffer, int *inputLength, ...) Do you really have the ellipsis? If so, my reading of the docs is that all arguments after int *inputLength, will have to be of that type (that is, all pointers to integer values) and not pointer to char followed by pointer to int; of course, you can play games. But I think that would be a problem. Generally, the above C function will expect, when it is called, to have R1 set up this way: (R1) -> a(magic) a(inputBuffer) a(inputLength) a(outputBuffer) a(outputLength) So how, in your C code, do you currently check how many arguments have been received? This won't be hard, really, :-) , but we need to pay attention to detail. What's weird to me is that PL/I and C share parts of the same compiler logic! Ah well. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE C calling HLASM
On 4/10/2012 7:00 AM, Phil Smith wrote: Steve Comstock wrote: Ah, so that's what you want it for. But if the output buffer length is zero, doesn't that tell you to use the input buffer? And if an argument is omitted, it will appear as zero, right? I mean, why else would you pass a buffer length of zero? Because users make mistakes? I mean, we could do that, but it doesn't really solve the problem. We don't want to force them to type OMITTED - at that point they might as well code: rc = THEFUNCTION(inbuffer, inlength, inbuffer, inlength); What we want is to allow both: rc = THEFUNCTION(inbuffer, inlength, outbuffer, outlength); and rc = THEFUNCTION(inbuffer, inlength); /* Works same as if inbuffer/inlength specified again as 3rd& 4th parameters */ as we can in COBOL. Or even in C, for that matter. I still find it hard to believe that PL/I can't do this! Remember that LIST seemed like the answer, except that the high bit never got set on the last parameter. And then LINKAGE(SYSTEM) seemed like the answer, except that you can't specify that on a function call. ...phsiii (will it go 'round in circles...?) I'm confused here, because the title of the thread is 'C calling HLASM' and here we are talking about PL/I. So what's really going on here that is the mystery? My guess is: you have a C function that you want to call from, in this instance, a PL/I program. Right? Can you show us the definition of the C function (not the body, just the definition of parameters along with any pragma statements you might have, and compiler options relevant to calls / function references)? Can you show us how you invoke the function from C, COBOL, and Assembler? That is, some sample calls or function references that work successfully, both with two arguments and four arguments (BTW: do you allow the output buffer to be specified without the last length argument? How about no output buffer but with a length? In other words, must the user specify exactly two or exactly four arguments?) Finally: there are some differences in the Enterprise PL/I compiler regarding compile time options and options available for declaring functions and subroutines so I ask this: is your expectation that your customers will be running the Enterprise PL/I compiler or some earlier compiler? -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE C calling HLASM
On 4/10/2012 5:58 AM, Phil Smith wrote: Jan MOEYERSONS quoted the doc, then asked: Is this not true then? I know this has been a protracted thread, so I'll summarize: If I use LIST, I can't use LINKAGE(SYSTEM), so it doesn't set the high bit. If I use OMITTED, it passes a zero for that parameter, so I can't tell whether the parameter was omitted or really passed as zero. Our API is flexible: if you don't specify an output buffer& length, it uses the input buffer& length. But that doesn't want to work in PL/I. Ah, so that's what you want it for. But if the output buffer length is zero, doesn't that tell you to use the input buffer? And if an argument is omitted, it will appear as zero, right? I mean, why else would you pass a buffer length of zero? Ideas? -- ...phsiii Phil Smith III p...@voltage.com<mailto:p...@voltage.com> Voltage Security, Inc. www.voltage.com<http://www.voltage.com> (703) 476-4511 (home office) (703) 568-6662 (cell) -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: OT: Keyboards for the archaic uber-geek
On 4/9/2012 7:39 AM, McKown, John wrote: I apologize, but others may find this interesting. Too expensive for me. http://www.etsy.com/shop/usbtypewriter John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets(r) Pretty funny. I have been trying for years to interest someone in the Optimus keyboard, which is a keyboard where each key is a small (48px * 48px) screen. You can dynamically assign icons and codepoints and build your own keyboard. My dream is to have sets of these icon-to-codepoint mappings and be able to change them on the fly in order to make a useful Unicode keyboard. But no one sees the potential and I don't have the ambition to see it through. But I think it is a potentially huge market. Here's their home: http://www.artlebedev.com/everything/optimus/ Anyone up for an adventure? -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Unix path name
On 4/8/2012 9:46 AM, Sam Siegel wrote: I'm trying to find the manual (by full name or number) that provides precise definitions about pathnames (hfs and zfs) for the unix subsystem on zos. Specifically, I'm interested in knowing the maximum length: 1) Entire path from '/' on down 2) Maximum number of characters in a file in a directory 3) Which characters are valid for a file name. Thanks, Sam 1. 1023 2. 255 3. a-z, A-Z, 0-9, period (.), underscore ( _ ), hyphen ( - ) are allowed for 'portable' file names; some other characters are allowed if you don't care about portability, but I think you are asking for trouble Check out the UNIX System Services User's Guide (chapters 16 and 17) -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: DB2 DDL
On 4/7/2012 10:33 AM, Lim Ming Liang wrote: Hi, I am new in DB2. Looking for the reference documentation on DB2 DDL, I am looking for the syntax of Creating Storgrp. I am searching through the IBM DVD Docs on DB2, no luck. IBM docs on the Web; start with: http://www.ibm.com/systems/z/os/zos/bkserv/ scroll down until you see: z/OS platform publications z/OS Parallel Sysplex z/OS software products Book | PDF click on the 'PDF' link scroll down to: DB2 10 for z/OS PDFs (DISC 2) click on that link You probably want the SQL Reference, p. 1276. ... or ... we'd be happy to send our DB2 author over to Malayasia to teach some classes. :-) -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Enterprise COBOL and XML attributes
On 4/6/2012 5:29 PM, Frank Swarbrick wrote: Enterprise COBOL v4.2. First real world attempt at using XML GENERATE. Works as designed, and relatively user friendly, but not particularly flexible for real world requirements. XML GENERATE will generate no fields as attributes unless with WITH ATTRIBUTES phrase is specified. In that case it will generate attributes (rather than elements) ANYWHERE it can. I just want to make sure, before I go any further, that there is ABSOLUTELY NO WAY, using just XML GENERATE, that some fields that COULD be attributes can not be forced to be elements if the WITH ATTRIBUTES phrase is specified. For example, I cannot generate the following using XML GENERATE alone (no post-processing to modify the generated XML document): 12000 WEB-IA Consumer 01/01/1950 725298 10 1200 Owns As you can see, all of the "elementary" data items are XML elements EXCEPT for the "categoryCode" and "limit" fields under "product". Current COBOL group data item: 01 underwritingrequest. 05 crossSellOfferId pic x(10). 05 channelType pic x(10). 05 preApprovedProds. 10 product. 15 categoryCode pic x(2). 15 l1mit pic 9(7). 05 parties. 10 party occurs 1 to 10 times depending on party-count indexed by p_idx. 15 dob pic 99/99/. 15 scoreNo pic 9(9). 15 incomepic 9(9). 15 housingExpense pic 9(9). 15 housingStatus pic x(10). Please note that I have seen the tech note "XML GENERATE should create attributes under COBOL"; http://www-01.ibm.com/support/docview.wss?uid=swg21218516 All I can say is (to quote Seth Meyers and Amy Poehler): "Really?!?!" Since we own the process that consumes this XML document I hope I can convince them to go either all attributes or all elements, but not this little mish-mash. But I want to make sure I am not missing something SIMPLE that I can do to get what they really want. (I already have to change use field name '1imit' instead of 'limit' and then do INSPECT UWR-DOC REPLACING ALL "l1mit" BY "limit", because LIMIT is a COBOL reserved word. Oy!) some short time later Ah hah, here's a trick. I don't love it, but I can perhaps live with it. I canspecify OCCURS 1 for any field that I want to be an element rather than an attribute: 01 underwritingrequest. 05 crossSellOfferId pic x(10) occurs 1. 05 channelType pic x(10) occurs 1. 05 preApprovedProds. 10 product. 15 categoryCode pic x(2). 15 l1mit pic 9(7). 05 parties. 10 party occurs 1 to 10 times depending on party-count indexed by p_idx. 15 dob pic 99/99/ occurs 1. 15 scoreNo pic 9(9) occurs 1. 15 incomepic 9(9) occurs 1. 15 housingExpense pic 9(9) occurs 1. 15 housingStatus pic x(10) occurs 1. Funky, but it works. Of course I now have to use a subscript qualification (oran extra one, in the case of the "party" children. Oh well! If there's a better way I'd still like to know, but at least I got it to work. Thanks! Frank Frank, That is really cool! How did you come up with that? I'm going to add that technique to my course "Enterprise COBOL: Unicode and XML Support". Thanks. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE C calling HLASM
On 4/6/2012 5:23 PM, Ken Brick wrote: many years ago I needed to know, in DOS/VS, whether an assembler routine was called from a PL/I or assembler module. I put in a test to see if in DOS terms the weak extrn PLIMAIN was not 0. Non zero meant a PL/I module was present. Ken On 7/04/2012 03:46 AM, Phil Smith wrote: Is there a reliable way to tell we were called by PL/I? If so, we could ignore zeroes for PL/I. And document it. ISTR there being a magic fullword in the savearea for PL/I? Well, you could maybe do the same thing about the PL/I LE signature CSECT, CEESG011. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Accessing USS on Mainframe thru Telnet
On 4/6/2012 1:18 PM, Steve Thompson wrote: Kirk Wolf: "Unfortunately, there isn't an official acronym for z/OS Unix System Services. Until such time as there is, maybe we should use zUSS or maybe Xeus :-)" Since you insisted: http://www-03.ibm.com/systems/z/os/zos/features/unix/ Regards, Steve Thompson And if you click on the 'Education' tab ... -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE C calling HLASM
On 4/6/2012 9:53 AM, Sam Siegel wrote: On Fri, Apr 6, 2012 at 8:45 AM, Phil Smith wrote: Darn it, no matter what I've tried, I CANNOT get PL/I to handle a plist [what I'd call] normally-marking the high bit on the last specified parameter. If I use OPTIONAL, I get all the parameters, with zeroes for the ones that were omitted. That's not right, because I can't tell whether they were omitted or specified as zero. Ideas?? When using OPTIONAL, isn't the address in the parmlist set to zero instead of a valid address? Said differently, if the address in the parmlist is zero, the associated parameter is not available. But his dilema is that in C data itself may be passed in the parmlist; now the dilema: is a pointer of zeros (address of parm is NULL) an indicator of an omitted argument or a deliberate pass of a value of zeros. There is no magic way for anyone to know: you have to establish conventions and protocols to make these distinctions. And with the latest compilers this conundrum exists in Assembler, COBOL, PL/I and C. Adding flexibility always comes at a price of added complexity or potential ambiguity (or both), right? -- ...phsiii Phil Smith III p...@voltage.com<mailto:p...@voltage.com> Voltage Security, Inc. www.voltage.com<http://www.voltage.com> (703) 476-4511 (home office) (703) 568-6662 (cell) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Accessing USS on Mainframe thru Telnet
On 4/5/2012 9:56 AM, Chris Mason wrote: Steve We don't have a port in our /etc/inted.conf file; in fact, the only non-comment line we have is: otelnet stream tcp nowait OMVSKERN /usr/sbin/otelnetd otelnetd I think this is because '23' is the default telnet server port, and we have that port allocated to telnet in our tcpparms profile. You may recall that one of the items in Chokalingam's list was the following: 1. Could not find 'otelnet in file /etc/services' which points to the port of the USS telnet. This is where the association between the "service name" in the first position of the inetd.conf file and the port number is established. It is *not* taken from the PORT statement list entry. Chris Mason Ah, thanks for the clarification. On Thu, 5 Apr 2012 09:06:11 -0600, Steve Comstock wrote: ... -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Accessing USS on Mainframe thru Telnet
On 4/5/2012 8:44 AM, McKown, John wrote: Using SSH is, IMO, superior. But if you are dead set on using Telnet (perhaps due to lack of an SSH client - I suggest PuTTY), then you must be running the INETD daemon. And you must have a dedicated port number on z/OS to use. We use port 2023. In the /etc/inetd.conf file, you need a line like: 2023 stream tcp nowait BPXROOT /usr/sbin/otelnetd otelnetd -l -t -D login Replace the "2023" with the port you want to use. Then, to get a UNIX shell prompt, you telnet into that port number. This works for me. We don't have a port in our /etc/inted.conf file; in fact, the only non-comment line we have is: otelnet stream tcp nowait OMVSKERN /usr/sbin/otelnetd otelnetd I think this is because '23' is the default telnet server port, and we have that port allocated to telnet in our tcpparms profile. BTW, we use telnet because that's the way our system from Dallas is set up. We are not sysprogs so we try to minimize the systems programming work we need to do. (Oh, we do some, of course, to install new versions of products, etc., but these are driven by course needs, e.g.: setting up DB2 8 and 9 and 10 as needed; even then, the Dallas staff does most the work, we merely need to tailor things to our config). There doesn't seem to be much payback to go to ssh in return for the work. Our system is actually only in non-sleep mode a few days a month (well, it's erratic, depending on our current development work). -- 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@bama.ua.edu] On Behalf Of Chokalingam Thangavelu Sent: Thursday, April 05, 2012 8:52 AM To: IBM-MAIN@bama.ua.edu Subject: Accessing USS on Mainframe thru Telnet Hi, I am unable to access the Unix system services thru Telnet and could not find below configurations in USS files. 1. Could not find 'otelnet in file /etc/services' which points to the port of the USS telnet. 2. There is no otelnetd daemon or the configured inetd is running on the system 3. Could not fine INET in /etc/inet.conf Please let me know how to define above TELNET configurations and access USS thru TELNET. Regards, Chokalingam -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: VSAM help wanted for random reads
On 4/3/2012 3:23 PM, Frank Swarbrick wrote: Current program does the following (in COBOL!). - Opens KSDS for I-O - Sequentially processes another file (non-VSAM). - For each record in the non-VSAM file it attempts a random (keyed) read of arecord on the KSDS file. The key is, essentially, a concatenation of a record type code ('4' or '5') and an account number. If no record of type '4' is found then it tries again for the same account, but with record type '5'. If either the '4' or '5' type is found it updates it and rewrites the record (assuming the data changed). This takes about 16 minutes to run. However if the 'type 5' logic is removed,so that it only ever looks for type '4' records, it takes only about one minute. Our resident VSAM expert says it has something to do with the VSAM "sequence set" and the fact that only one is kept in memory at a time. Since the same sequence set doesn't appear to be able to be used for both the 'type 4' records and the 'type 5' records it's constantly going back and forth, loading the "other" sequence set from disk. He says on VSE (which we were up until May 2010) more than one sequence set can be in memory, but with MVS this appears to not be the case. Hopefully that reason is accurate. Is there a solution? We thought about having two COBOL FDs pointing to two DDs, where both DDs pointed to the same KSDS. This would probably(?) work, except for the fact of the update. Thanks, Frank Well, I think we have a vocabulary problem. A VSAM KSDS only has one primary index, and the lowest level is the sequence set. You can't have two primary indexes, so you can only have one sequence set. It's not clear how your key is constructed, but you can get the whole sequence set in memory by using the right JCL DD parameters. First do a listc all against the cluster. Jot down these values: CI/CA for data component (shows as "PHYRECS/TRK"), and Levels in the index; then try this: if this process is batch, and no CICS processing is going on against the data set, consider adding: BUFNDI=#Index_levels,BUFND=(2*PHYRECS/TRK)+1 If, on the other hand, your type '4' records are accessed as the primary key and your type '5' are accessed as part of an alternate index, you might need a different collection of DD parameters. (Long shot guess: add BUFNDI on the DD statement for your AIX). -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Malicious Software Protection
On 4/1/2012 8:35 AM, Shmuel Metz (Seymour J.) wrote: In, on 03/31/2012 at 09:57 PM, Clark Morris said: Java on the server side is effectively executable code. Yes, Java, Javascript and PDF are code, but a web browser does not give code to a web server. OTOH, a web server can give code to a web browser, and a browser running under z/OS would have the same vulnerabilities as a browser on any other platform. Hmmm. Do you know of any browsers that run under z/OS? OTOH, maybe 'user agent' would work in that context. If dynamic SQL is allowed, Is there a way to force it to a sandbox? -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE enclave calls another LE enclave
[top posting] Yikes! And I thought Colorado was the wild, wooly west. But n! You win. On 3/31/2012 5:45 AM, Bernd Oppolzer wrote: Furthermore, you can call non-LE programs from LE programs and later call LE programs from these non-LE programs, if you do the following: - propagate R12 to the lower LE program - take care of the values in the locations after offset 72 in the savearea (NAB etc.); if you pass these values correctly to the lower save area, the lower LE program will pick up the LE areas of the higher save area. This is working for us, although I'm not quite sure, if it is recommended by IBM. But we did it this way, because otherwise we would have to change some several thousand ASSEMBLER modules (making them LE compliant). By doing it this way, we only had to change two interface modules which support the control transfer between dynamically loaded modules. These interface modules were in place since the 1970s and only had to be extended to support LE. We were able to support DLLs, too, by using these interface modules. If the module to be called is a DLL, the interface issues the CEEFETCH, which it does not, if the module is a "normal" load module. In the mid 1980s, the interfaces did the necessary AMODE switch etc., when we migrated to MVS-XA. We always have to pay about 1 percent of the overall CPU which is spended in the interfaces, but this is payed back by the flexibility we have when we have system changes, for example new compilers, new systems or migration to LE, for example. Such things can almost always be handled in the interfaces. And: the interfaces support the multi-language approach (at the moment: ASSEMBLER, PL/1 and C). Another goodie: the interfaces are perfect for setting up tests and for CPU measurements etc. (special versions of the interfaces, which produce accounting data, for example). Kind regards Bernd Am 30.03.2012 20:22, schrieb Steve Comstock: On 3/30/2012 12:13 PM, Tony Harminc wrote: On 30 March 2012 13:55, Steve Comstock wrote: [...] I would definitely look at CEEPIPI; however, this involves non-LE Assembler invoking a routine to set up one or more LE environments then running either a main or a subroutine under those environments. It's not clear if that kind of structure works for what you are trying to do. Is it not generally the case that LE assembler can make itself non-LE for purposes of calling something, just by not passing the appropriate value in R12? Tony H. Whoa! That's news to me!! I don't think so. R12 points to the Common Anchor Area; being LE-conforming means, among other things, that an ESTAE (and usually an ESPIE) is established; a heap and a stack have been acquired, and other infrastructure put into place. That being said, LE Assembler can call non-LE programs (usually Assembler themselves) with no problem (well, there are a few sticky situations), with no need to change R12 contents. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE enclave calls another LE enclave
On 3/30/2012 2:37 PM, Tony Harminc wrote: On 30 March 2012 14:22, Steve Comstock wrote: On 3/30/2012 12:13 PM, Tony Harminc wrote: [...] Is it not generally the case that LE assembler can make itself non-LE for purposes of calling something, just by not passing the appropriate value in R12? Whoa! That's news to me!! I don't think so. R12 points to the Common Anchor Area; being LE-conforming means, among other things, that an ESTAE (and usually an ESPIE) is established; a heap and a stack have been acquired, and other infrastructure put into place. Sure. I am not claiming that simply clearing R12 deletes the LE environment - certainly not. But how does a called program determine that its caller does have an LE environment set up? Is it not a requirement that a valid R12 be passed in, and if it is not, what does a called LE (main) program do? Well, HLLs have built in checking: if they are a subroutine, they expect LE to be established; if they are main, they are responsible for setting up the environment. So if you call an LE main program from a program that is not LE (or is pretending to not be LE), the main program will go ahead and establish an LE environment. You can actually follow some control block chains to quickly find out if an LE environment has been established. That being said, LE Assembler can call non-LE programs (usually Assembler themselves) with no problem (well, there are a few sticky situations), with no need to change R12 contents. Sure - but that's a quite different situation. We are talking about LE assembler calling LE assembler when it may be desirable that the called program not perceive that the caller is LE enabled. I guess I just don't see the scenario where you want to do this. Tony H. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE C calling HLASM
On 3/30/2012 2:01 PM, Phil Smith wrote: Steve Comstock made some helpful suggestions; my big problem was having a comma before the "LIST" keyword. Making progress but not there yet. So now I have: Declare MYFUNC External('MYFUNC') Entry( Char(*) byaddr, Char(*) byaddr, Fixed Bin(31) byaddr list ) returns( byvalue Fixed Bin(31) ) options ( nodescriptor ); So that compiles and runs, BUT it appears not to be setting the high bit on the last parameter. So if I issue: rc = MYFUNC(parm1, input, inputLength, output, outputLength, error); I get RC=0 and the input has been processed to the output as expected. But if instead I issue: rc = MYFUNC(parm1, input, inputLength); which works from COBOL, the function should put the output in the input buffer. It doesn't: if I make the "short form" call first, it complains that the output length is too long. If I make the "long form" call first, then reset the output buffer to a known value and issue the "short form" call, I get RC=0 *and the output buffer has been updated as if I'd specified it*. That made me think the old parameter value is lying around in the work PLIST used by the compiler, and the high bit isn't getting set. Ah HAH, sez I, after searching for "high-order bit": LINKAGE(SYSTEM) is what I need! Nope: IBM2019I S 9.1Unsupported LINKAGE used with the LIST attribute. So if you can't use LIST with LINKAGE(SYSTEM), how is the called routine supposed to know the end of the plist? -- ...phsiii Phil Smith III p...@voltage.com<mailto:p...@voltage.com> Voltage Security, Inc. www.voltage.com<http://www.voltage.com> (703) 476-4511 (home office) (703) 568-6662 (cell) Well, Phil, one way is to use the built in functions I mentioned in one of my posts: The address of the first of these additional parameters may be obtained via the VARGLIST built-in function. This address may be used to obtain the addresses of any additional parameters as follows: * if the additional parameters to this procedure were passed BYVALUE, successively incrementing this initial address by the value returned by the VARGSIZE built-in function will return the addresses of any additional parameters * if the additional parameters to this procedure were passed byaddr, successively incrementing this initial address by the size of a pointer will return the addresses of any additional parameters so you could use VARGLIST and VARGSIZE Another option is to have one of your entries in the variable list contain a reserved end-of-list value (typically f'-1' or f'0') another option is to have your first entry in the variable part of the list be a count of how many additional parameters are being passed this time. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE enclave calls another LE enclave
On 3/30/2012 12:13 PM, Tony Harminc wrote: On 30 March 2012 13:55, Steve Comstock wrote: [...] I would definitely look at CEEPIPI; however, this involves non-LE Assembler invoking a routine to set up one or more LE environments then running either a main or a subroutine under those environments. It's not clear if that kind of structure works for what you are trying to do. Is it not generally the case that LE assembler can make itself non-LE for purposes of calling something, just by not passing the appropriate value in R12? Tony H. Whoa! That's news to me!! I don't think so. R12 points to the Common Anchor Area; being LE-conforming means, among other things, that an ESTAE (and usually an ESPIE) is established; a heap and a stack have been acquired, and other infrastructure put into place. That being said, LE Assembler can call non-LE programs (usually Assembler themselves) with no problem (well, there are a few sticky situations), with no need to change R12 contents. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE enclave calls another LE enclave
On 3/30/2012 9:15 AM, Bernd Oppolzer wrote: Am 30.03.2012 14:45, schrieb Steve Comstock: My notes seem to indicate that using LINK from Assembler to a PL/I main creates a nested enclave, which I guess is what you are seeing. I don't see anyway to call a PL/I main without the main creating an enclave. I also see this note: "PL/I fetchable main cannot be dynamically called by COBOL, C, C++, FORTRAN, nor LE-conforming Assembler" do you recall where this note comes from? If this is really a restriction confirmed by IBM books etc., I simply would accept it and don't try it any more. Maybe we find another solution to our problem; there is no absolute need to call the test object within another enclave, if the test object is a PL/1 main. It's the way it works at the moment, but it could be changed; at least I think so. Well, in the pdf version of the LE Programming Guide (for 1.13), page 573, we see: --- In Language Environment, you can use the following methods to create a child enclave: . . . * Under z/OS, the PL/I FETCH and CALL to any of the following PL/I routines with PROC OPTIONS(MAIN) specified: – Enterprise PL/I for z/OS . . . Such a routine, called a fetchable main in this book, can only be introduced by a FETCH and CALL from a PL/I routine. COBOL cannot dynamically call a PL/I main and C cannot issue a fetch() against a PL/I main. In addition, a fetchable main cannot be dynamically loaded using the CEELOAD macro. The routine performing the FETCH and CALL must be compiled with the Enterprise PL/I for z/OS or the PL/I for MVS & VM compiler, or be a relinked OS PL/I routine. --- Then the next page begins a section titled "Determining the behavior of child enclaves" that has a section for each of the ways to create a nested enclave; for PL/I we find a little information, including a table on the behavior of the construct with unhandled conditions under various combinations of the TRAP run time parameter for the caller and the callee. Is that definitive enough? If not, perhaps you should peruse the PL/I docs. Perhaps CEEPIPI would work for you? (Apologies if this has already been suggested.) See above. The problem is that the existing enclave is damaged, when we try to call the PL/1 main. It doesn't matter how the existing enclave has been constructed. So we didn't consider CEEPIPI so far. If the nesting of the enclaves (with PL/1 mains) is indeed a problem, I would prefer to terminate the first enclave before calling the PL/1 main. My question to you and to the list was, if there are experiences with this, that is, if the calling of PL/1 mains in a nested enclave is indeed a problem, or if it could be done, if the PL/1 main is called via LINK, for example. Anyway, I will try it - but not this week, because it's Friday afternoon now. Have a nice weekend ... and thank you so far. Kind regards Bernd I would definitely look at CEEPIPI; however, this involves non-LE Assembler invoking a routine to set up one or more LE environments then running either a main or a subroutine under those environments. It's not clear if that kind of structure works for what you are trying to do. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE enclave calls another LE enclave
On 3/30/2012 6:34 AM, Bernd Oppolzer wrote: The problem is: We want to call a PL/1 main from an ASSEMBLER test driver environment, which is already LE enabled, that is, the test driver is an LE enclave. When we do this using CEEFETCH (which I think is the case at the moment), all is working well, but the originating enclave is destroyed somehow after return. The symptom is: strange 0C4 abends in the first function prologue after return from the second enclave. We solve this problem temporarily by issuing all subsequent calls through intermediate PL/1 mains. The problem does not appear, if we call a PL/1 subprogram this way (which does not build a new enclave). Then all works OK. Now the idea was to call the PL/1 main using simple LINK (MVS service), because the PL/1 main is started at CEESTART and builds its own LE enclave. We hope that this way the originating enclave is safe. General question: what is the preferred way for an LE enclave to call or build another LE enclave? Kind regards Bernd My notes seem to indicate that using LINK from Assembler to a PL/I main creates a nested enclave, which I guess is what you are seeing. I don't see anyway to call a PL/I main without the main creating an enclave. I also see this note: "PL/I fetchable main cannot be dynamically called by COBOL, C, C++, FORTRAN, nor LE-conforming Assembler" Perhaps CEEPIPI would work for you? (Apologies if this has already been suggested.) Am 29.03.2012 23:28, schrieb Steve Comstock: On 3/29/2012 3:11 PM, Bernd Oppolzer wrote: Ok, thank you, you gave me something to think about. Maybe I should try to call the mains in a different way. Now my co-worker is off for holidays for three weeks, I will try to run some tests myself. I'll keep you informed. The mains are in fact compiled with RENT and DLL options and linked as DLLs; that is kind of site standard, regardless of program type (sub or main). But indeed, the opsys calls the mains using ATTACH or LINK, AFAIK, and maybe I should try to do the same. CEEFETCH is not needed, because the mains are started at CEESTART and the LE initialization for the second enclave is performed, anyway. I've lost the earlier posts in this thread, and I don't have time now to go back through the archives. But if you have Assembler using ATTACH or LINK of DLL's, if the Assembler code is LE-compliant (I think you said it was), you can invoke DLLs from your Assembler program using dllload, dllqueryfn, dllqueryvar, or use the LE service CEEPCALL. Not sure if exploring these would help, but thought I'd throw them out there in case you weren't aware of them. Kind regards Bernd -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE C calling HLASM
On 3/28/2012 11:54 AM, Phil Smith wrote: Steve Comstock wrote: On 3/23/2012 2:57 PM, Phil Smith wrote: Now for the next question: this allows us to implement variable parameterlists in C, by declaring the functions thus: int SOMEFUNCTION(char *someparm, ...); > Is there an equivalent way to do this in PL/I? In the declare of the subroutine, specify the word LIST in the last argument descriptor, for example: dcl avgyx entry (fixed bin(31), fixed decimal(7,2) optional, char (8), list byaddr) options(asm); This indicates there are zero or more arguments from the point of the LIST Then, in the invocation, pass at least as many arguments as arguments before the word LIST and any others you want: call avgyx (test_no, weight, test_name, rand_var, score_low, score_high); Hm. This isn't quite working: Declare THEFN External('THEFN') Entry( Char(*) byaddr, Char(*) byaddr, Fixed Bin(31) byaddr, Char(*) byaddr, Fixed Bin(31) byaddr, Char(*) byaddr ) returns( byvalue Fixed Bin(31) ) options ( nodescriptor ); Where's the word 'list'? That wasn't a variable name, it's a required operand to get a variable number of parameters. It's hard to say from your fragment, but maybe something like: Declare THEFN External('THEFN') Entry( Char(*) byaddr, Char(*) byaddr, Fixed Bin(31) byaddr, Char(*) byaddr, Fixed Bin(31) byaddr, Char(*) byaddr list ) returns( byvalue Fixed Bin(31) ) options ( nodescriptor ); On compile, this gets RC=4 and: IBM1214I W 35.0A dummy argument will be created for argument number 4 in entry reference VSHPROT. Then it linkedits OK but gets a ABENDU4038 on run. This differs from your recommendation by being an EXTERNAL function; I had to use NODESCRIPTOR because ASM isn't supported for functions, apparently. Yes; there is some more information, from the PL/I language reference: When the LIST attribute is specified, no descriptors are allowed, and OPTIONS(NODESCRIPTOR) must be specified on its PROCEDURE statement and on its corresponding ENTRY declaration. The address of the first of these additional parameters may be obtained via the VARGLIST built-in function. This address may be used to obtain the addresses of any additional parameters as follows: * if the additional parameters to this procedure were passed BYVALUE, successively incrementing this initial address by the value returned by the VARGSIZE built-in function will return the addresses of any additional parameters * if the additional parameters to this procedure were passed byaddr, successively incrementing this initial address by the size of a pointer will return the addresses of any additional parameters Ideas? -- ...phsiii Phil Smith III p...@voltage.com Voltage Security, Inc. www.voltage.com (703) 476-4511 (home office) (703) 568-6662 (cell) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE enclave calls another LE enclave
On 3/29/2012 3:11 PM, Bernd Oppolzer wrote: Ok, thank you, you gave me something to think about. Maybe I should try to call the mains in a different way. Now my co-worker is off for holidays for three weeks, I will try to run some tests myself. I'll keep you informed. The mains are in fact compiled with RENT and DLL options and linked as DLLs; that is kind of site standard, regardless of program type (sub or main). But indeed, the opsys calls the mains using ATTACH or LINK, AFAIK, and maybe I should try to do the same. CEEFETCH is not needed, because the mains are started at CEESTART and the LE initialization for the second enclave is performed, anyway. I've lost the earlier posts in this thread, and I don't have time now to go back through the archives. But if you have Assembler using ATTACH or LINK of DLL's, if the Assembler code is LE-compliant (I think you said it was), you can invoke DLLs from your Assembler program using dllload, dllqueryfn, dllqueryvar, or use the LE service CEEPCALL. Not sure if exploring these would help, but thought I'd throw them out there in case you weren't aware of them. Kind regards Bernd Am 29.03.2012 16:45, schrieb Shmuel Metz (Seymour J.): In<201203281648.40289.bernd.oppol...@t-online.de>, on 03/28/2012 at 04:48 PM, Bernd Oppolzer said: The Mains (and the PL/1 sub program test objects) are - or can be - DLLs, compiled with the RENT compile option, so they have to be called using CEEFETCH, because the proper WSA initialization etc has to be done. Are you sure that using CEEFETCH for MAIN, or putting a MAIN in a DLL, are supported? because the proper WSA initialization etc has to be done. Isn't that what MAIN is for? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Malicious Software Protection
On 3/27/2012 10:46 AM, Greg Dorner wrote: Thank you, Elardus for your verbosity. - you can replace/fire those auditors as mentioned earlier in this thread - As Ted MacNeil insists, the auditors only RECOMMENDS, it is your management who can APPLY those recommendations. Unfortunately, we have no say with these auditors. They are working on behalf of the Feds, and if we don't comply we can lose billions of $$ in federal contracts. The beauty of this is, someone from my company contacted the person at PWC that made this claim that MCAFEE is coming out with a product, and he backtracked, saying he may have been thinking of Mac OS. MAC OS??? They just took a big chuck of our company offline for several hours to research this phantom. Wow. And did they reprimand this doofus in any way? Slap on the wrist? Letter in his personnel file? More likely he got commended for being concerned about company security, even though he had no idea what he was talking about. Thank you all for your input! -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: z/OS ftp and Unicode
On 3/26/2012 9:57 AM, Paul Gilmartin wrote: On Mon, 26 Mar 2012 08:09:48 -0600, Steve Comstock wrote: Get it working, put it in a script (REXX, CLIST, shell script); then one line to invoke the script. Simple. The "quote site ..." earlier in the thread suggests that the OP wanted to be able to operate the process from the PC side. -- gil Perhaps so. Then a .bat file; or a REXX script if he has Personal REXX. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: z/OS ftp and Unicode
On 3/26/2012 8:57 AM, McKown, John wrote: I found this page to be interesting. http://publib.boulder.ibm.com/infocenter/pcomhelp/v5r9/index.jsp?topic=/com.ibm.pcomm.doc/reference/html/hcp_reference15.htm> It shows IBM-424 Hebrew code page. Yes. It's an EBCDIC code page What is most interesting to me, is the that the code page appears to be a single byte character set (SBCS) and not a multi-byte character set (MBCS), but the message posted by the OP indicated that ftp thought that it was multi-byte. No. The _target_ was UTF-8, which is a multi-byte character set. Hebrew doesn't seem to be in UTF-8, looking here: http://www.utf8-chartable.de/ That just shows the first page of UTF-8; if you follow the "Next page" links until you get to "page with code points U+0500 to U+05FF" you will see the UTF-8 values for Hebrew (need to scroll down a bit). Unicode for Hebrew looks to be here: http://www.i18nguy.com/unicode/hebrew.html and is definitely MBCS, or perhaps DBCS (double byte character set) is better. Careful. DBCS is a special IBM mapping, not really reflected in Unicode. Better to say Hebrew in Unicode is a MBCS. None of which explains why the OP is having a problem since the conversion would be from a single byte character set on z/OS to a multibyte character set (Unicode) on Windows. The problem was the OP defined the target as (or it was implied to be) FB; FTP saw an attempt to translate from a FB single byte EBCDIC code page to a FB multi-byte Unicode code page, but basically decided that's not allowed. -- 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...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: z/OS ftp and Unicode
On 3/26/2012 8:34 AM, Sam Siegel wrote: On Mon, Mar 26, 2012 at 7:27 AM, Lloyd Fullerwrote: UNICODE does, but not necessarily subsets of the full UNICODE. UTF-8 is a subset and UTF-16 is a subset. I am not sure about UTF-32. So It does not surprise me that UTF-8 does not have the Hebrew alphabet. I believe (without checking the actual UNICODE description) that UTF-8 is primarily the Latin character and its derivatives (i.e. the umlaut characters and the accent characters). I think that you have to go to UTF-16 to get the Hebrew, Cyrillic and Arabic characters. I think that UTF-16 also includes most of the common Chinese and Japanese characters, but to get the full set you need UTF-32. UTF-8 is a variable length encoding. It can be 1 to 6 bytes in length. It fully support Hebrew and many other non-Romance based character sets. Well, be careful there. Bytes 5 and 6 are not used anywhere, and not likely to be used in our lifetime, since x''-x'001F' allows for over 1 million characters, and only 110,116 are currently assigned (as of January this year). It is safe to assume UTF-8 uses at most 4 bytes per character. See: http://en.wikipedia.org/wiki/UTF-8 for an overview. See Lloyd - Original Message From: Steve Comstock To: IBM-MAIN@bama.ua.edu Sent: Mon, March 26, 2012 9:18:17 AM Subject: Re: z/OS ftp and Unicode On 3/26/2012 7:12 AM, McKown, John wrote: I don't know if this will help, but I did the following (but I don't have anything actually in IBM-424) Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. ftp lih1 Connected to lih1.uicnrh.dom. 220-FTP 08:07:14 on 2012-03-26. 220-This is HealthMarkets. 220-Unauthorized access is strictly prohibited. 220 Connection will close if idle for more than 50 minutes. User (lih1.uicnrh.dom:(none)): tsh009 331 Send password please. Password: 230-You have successfully logged on to the LIH1 ftp server. 230 TSH009 is logged on. Working directory is "TSH009.". ftp> quote site sbdataconn=(IBM-424,UTF-8) 200-Some characters cannot be translated between UTF-8 and IBM-424 Whoa! That's startling. I thought Unicode encompassed all the world's character sets; how can a character not translate? 200 SITE command was accepted ftp> cd /home/tsh009 250 HFS directory /home/tsh009 is the current working directory ftp> get crontab.txt 200 Port request OK. 125-Tagged EBCDIC file translated with table built using file system cp=IBM-1047 , network transfer cp=UTF-8 125 Sending data set /home/tsh009/crontab.txt 250 Transfer completed successfully. ftp: 40 bytes received in 0.00Seconds 4.00Kbytes/sec. ftp> -- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets® 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® is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. –The Chesapeake Life Insurance Company®, 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@bama.ua.edu] On Behalf Of ??? ?? ??? Sent: Monday, March 26, 2012 7:23 AM To: IBM-MAIN@bama.ua.edu Subject: Re: z/OS ftp and Unicode I'm not sure what you mean buy CCSID, but the data is encoded in IBM-424 EBCDIC - Hebrew New Code. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of McKown, John Sent: Monday, March 26, 2012 2:20 PM To: IBM-MAIN@bama.ua.edu Subject: Re: z/OS ftp and Unicode What is CCSID of the data on z/OS? By Unicode, do you mean UTF-8, UTF-16, or UTF-32 on Windows? The basic command is the SBDATACONN http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/f1a 1b4b0/18.109 -- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets® 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® is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. –The Chesapeake Life Insurance Company®, 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@bama.ua.e
Re: z/OS ftp and Unicode
On 3/26/2012 8:27 AM, Lloyd Fuller wrote: UNICODE does, but not necessarily subsets of the full UNICODE. UTF-8 is a subset and UTF-16 is a subset. I am not sure about UTF-32. So It does not surprise me that UTF-8 does not have the Hebrew alphabet. I believe (without checking the actual UNICODE description) that UTF-8 is primarily the Latin character and its derivatives (i.e. the umlaut characters and the accent characters). I think that you have to go to UTF-16 to get the Hebrew, Cyrillic and Arabic characters. I think that UTF-16 also includes most of the common Chinese and Japanese characters, but to get the full set you need UTF-32. Lloyd No. UTF-8, UTF-16, and UTF-32 all contain the same character set. There are even mechanical algorithms for converting between them, and these are encapsulated in the z Architecture instructions: CU24 (UTF-16 -> UTF-32) CU42 (UTF-32 -> UTF-16) CU41 (UTF-32 -> UTF-8) CU14 (UTF-8 -> UTF-32) CU21 (UTF-16 -> UTF-8) CU12 (UTF-8 -> UTF-16) - Original Message From: Steve Comstock To: IBM-MAIN@bama.ua.edu Sent: Mon, March 26, 2012 9:18:17 AM Subject: Re: z/OS ftp and Unicode On 3/26/2012 7:12 AM, McKown, John wrote: I don't know if this will help, but I did the following (but I don't have anything actually in IBM-424) Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. ftp lih1 Connected to lih1.uicnrh.dom. 220-FTP 08:07:14 on 2012-03-26. 220-This is HealthMarkets. 220-Unauthorized access is strictly prohibited. 220 Connection will close if idle for more than 50 minutes. User (lih1.uicnrh.dom:(none)): tsh009 331 Send password please. Password: 230-You have successfully logged on to the LIH1 ftp server. 230 TSH009 is logged on. Working directory is "TSH009.". ftp> quote site sbdataconn=(IBM-424,UTF-8) 200-Some characters cannot be translated between UTF-8 and IBM-424 Whoa! That's startling. I thought Unicode encompassed all the world's character sets; how can a character not translate? 200 SITE command was accepted ftp> cd /home/tsh009 250 HFS directory /home/tsh009 is the current working directory ftp> get crontab.txt 200 Port request OK. 125-Tagged EBCDIC file translated with table built using file system cp=IBM-1047 , network transfer cp=UTF-8 125 Sending data set /home/tsh009/crontab.txt 250 Transfer completed successfully. ftp: 40 bytes received in 0.00Seconds 4.00Kbytes/sec. ftp> -- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets® 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® is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. –The Chesapeake Life Insurance Company®, 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@bama.ua.edu] On Behalf Of ??? ?? ??? Sent: Monday, March 26, 2012 7:23 AM To: IBM-MAIN@bama.ua.edu Subject: Re: z/OS ftp and Unicode I'm not sure what you mean buy CCSID, but the data is encoded in IBM-424 EBCDIC - Hebrew New Code. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of McKown, John Sent: Monday, March 26, 2012 2:20 PM To: IBM-MAIN@bama.ua.edu Subject: Re: z/OS ftp and Unicode What is CCSID of the data on z/OS? By Unicode, do you mean UTF-8, UTF-16, or UTF-32 on Windows? The basic command is the SBDATACONN http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/f1a 1b4b0/18.109 -- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets® 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® is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. –The Chesapeake Life Insurance Company®, 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@bama.ua.edu] On Behalf Of ??? ?? ??? Sent: Monday, March 26, 2012 3:49 AM To: IBM-MAIN@bama.ua.edu Subject: z/OS ftp and Unicode Can anyone show me how to transfer a file from z/OS to windows using the windows ftp client so that the resulting file on
Re: z/OS ftp and Unicode
On 3/26/2012 8:06 AM, גדי בן אבי wrote: I might be able to, but the whole point is to do it a simple as possible. Gadi Right. And one of those strategies may be as simple as possible. Get it working, put it in a script (REXX, CLIST, shell script); then one line to invoke the script. Simple. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Steve Comstock Sent: Monday, March 26, 2012 4:04 PM To: IBM-MAIN@bama.ua.edu Subject: Re: z/OS ftp and Unicode On 3/26/2012 7:50 AM, גדי בן אבי wrote: Hi again, I transferred a VB file, and it was transferred OK. Is there any way to transfer FB from z/OS while creating a Unicode file in windows? Well, I don't know anything about your source code page; could you tell FTP you want to create an ASCII file? Or, could you do the translation to Unicode on z/OS first and then transfer the resulting file as binary? -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: z/OS ftp and Unicode
On 3/26/2012 7:50 AM, גדי בן אבי wrote: Hi again, I transferred a VB file, and it was transferred OK. Is there any way to transfer FB from z/OS while creating a Unicode file in windows? Well, I don't know anything about your source code page; could you tell FTP you want to create an ASCII file? Or, could you do the translation to Unicode on z/OS first and then transfer the resulting file as binary? Gadi -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Elardus Engelbrecht Sent: Monday, March 26, 2012 3:42 PM To: IBM-MAIN@bama.ua.edu Subject: Re: z/OS ftp and Unicode GADI_B wrote: 504 MULTI-BYTE ENCODING NOT SUPPORTED FOR RECFM=FB Does anyone know of a limitation like this? Look at EZZ9797I description in 'z/OS Communications Server IP Messages: Volume 4 (EZZ, SNM)' Groete / Greetings Elardus Engelbrecht -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN לשימת לבך, בהתאם לנהלי החברה וזכויות החתימה בה, כל הצעה, התחייבות או מצג מטעם החברה, מחייבים מסמך נפרד וחתום על ידי מורשי החתימה של החברה, הנושא את לוגו החברה או שמה המודפס ובצירוף חותמת החברה. בהעדר מסמך כאמור (לרבות מסמך סרוק) המצורף להודעת דואר אלקטרוני זאת, אין לראות באמור בהודעה אלא משום טיוטה לדיון, ואין להסתמך עליה לביצוע פעולה עסקית או משפטית כלשהי. Please note that in accordance with Malam's signatory rights, no offer, agreement, concession or representation is binding on the company, unless accompanied by a duly signed separate document (or a scanned version thereof), affixed with the company's seal. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: z/OS ftp and Unicode
On 3/26/2012 7:27 AM, גדי בן אבי wrote: The last message I got said: 504 MULTI-BYTE ENCODING NOT SUPPORTED FOR RECFM=FB Does anyone know of a limitation like this? Well, UTF-8 is a variable byte system: some characters take one byte, some two, some three, and some four. For RECFM=FB it might be hard to settle on a record size (although I would just go with 4 * max number of characters and pad with UTF-8 spaces (x'20') ). But it looks like the ftp is not set up that way. Maybe your best bet is to define the target as VB. Gadi -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Steve Comstock Sent: Monday, March 26, 2012 3:18 PM To: IBM-MAIN@bama.ua.edu Subject: Re: z/OS ftp and Unicode On 3/26/2012 7:12 AM, McKown, John wrote: I don't know if this will help, but I did the following (but I don't have anything actually in IBM-424) Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. ftp lih1 Connected to lih1.uicnrh.dom. 220-FTP 08:07:14 on 2012-03-26. 220-This is HealthMarkets. 220-Unauthorized access is strictly prohibited. 220 Connection will close if idle for more than 50 minutes. User (lih1.uicnrh.dom:(none)): tsh009 331 Send password please. Password: 230-You have successfully logged on to the LIH1 ftp server. 230 TSH009 is logged on. Working directory is "TSH009.". ftp> quote site sbdataconn=(IBM-424,UTF-8) 200-Some characters cannot be translated between UTF-8 and IBM-424 Whoa! That's startling. I thought Unicode encompassed all the world's character sets; how can a character not translate? 200 SITE command was accepted ftp> cd /home/tsh009 250 HFS directory /home/tsh009 is the current working directory ftp> get crontab.txt 200 Port request OK. 125-Tagged EBCDIC file translated with table built using file system cp=IBM-1047 , network transfer cp=UTF-8 125 Sending data set /home/tsh009/crontab.txt 250 Transfer completed successfully. ftp: 40 bytes received in 0.00Seconds 4.00Kbytes/sec. ftp> -- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets® 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® is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. –The Chesapeake Life Insurance Company®, 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@bama.ua.edu] On Behalf Of ??? ?? ??? Sent: Monday, March 26, 2012 7:23 AM To: IBM-MAIN@bama.ua.edu Subject: Re: z/OS ftp and Unicode I'm not sure what you mean buy CCSID, but the data is encoded in IBM-424 EBCDIC - Hebrew New Code. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of McKown, John Sent: Monday, March 26, 2012 2:20 PM To: IBM-MAIN@bama.ua.edu Subject: Re: z/OS ftp and Unicode What is CCSID of the data on z/OS? By Unicode, do you mean UTF-8, UTF-16, or UTF-32 on Windows? The basic command is the SBDATACONN http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/f1a 1b4b0/18.109 -- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets® 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® is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. –The Chesapeake Life Insurance Company®, 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@bama.ua.edu] On Behalf Of ??? ?? ??? Sent: Monday, March 26, 2012 3:49 AM To: IBM-MAIN@bama.ua.edu Subject: z/OS ftp and Unicode Can anyone show me how to transfer a file from z/OS to windows using the windows ftp client so that the resulting file on windows is Unicode. The source file on z/OS will be EBCDIC. We are using z/OS v1.11. Unicode services are enabled on z/OS. Thanks Gadi -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our t
Re: z/OS ftp and Unicode
On 3/26/2012 7:12 AM, McKown, John wrote: I don't know if this will help, but I did the following (but I don't have anything actually in IBM-424) Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. ftp lih1 Connected to lih1.uicnrh.dom. 220-FTP 08:07:14 on 2012-03-26. 220-This is HealthMarkets. 220-Unauthorized access is strictly prohibited. 220 Connection will close if idle for more than 50 minutes. User (lih1.uicnrh.dom:(none)): tsh009 331 Send password please. Password: 230-You have successfully logged on to the LIH1 ftp server. 230 TSH009 is logged on. Working directory is "TSH009.". ftp> quote site sbdataconn=(IBM-424,UTF-8) 200-Some characters cannot be translated between UTF-8 and IBM-424 Whoa! That's startling. I thought Unicode encompassed all the world's character sets; how can a character not translate? 200 SITE command was accepted ftp> cd /home/tsh009 250 HFS directory /home/tsh009 is the current working directory ftp> get crontab.txt 200 Port request OK. 125-Tagged EBCDIC file translated with table built using file system cp=IBM-1047 , network transfer cp=UTF-8 125 Sending data set /home/tsh009/crontab.txt 250 Transfer completed successfully. ftp: 40 bytes received in 0.00Seconds 4.00Kbytes/sec. ftp> -- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets® 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® is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. –The Chesapeake Life Insurance Company®, 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@bama.ua.edu] On Behalf Of ??? ?? ??? Sent: Monday, March 26, 2012 7:23 AM To: IBM-MAIN@bama.ua.edu Subject: Re: z/OS ftp and Unicode I'm not sure what you mean buy CCSID, but the data is encoded in IBM-424 EBCDIC - Hebrew New Code. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of McKown, John Sent: Monday, March 26, 2012 2:20 PM To: IBM-MAIN@bama.ua.edu Subject: Re: z/OS ftp and Unicode What is CCSID of the data on z/OS? By Unicode, do you mean UTF-8, UTF-16, or UTF-32 on Windows? The basic command is the SBDATACONN http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/f1a 1b4b0/18.109 -- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets® 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® is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. –The Chesapeake Life Insurance Company®, 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@bama.ua.edu] On Behalf Of ??? ?? ??? Sent: Monday, March 26, 2012 3:49 AM To: IBM-MAIN@bama.ua.edu Subject: z/OS ftp and Unicode Can anyone show me how to transfer a file from z/OS to windows using the windows ftp client so that the resulting file on windows is Unicode. The source file on z/OS will be EBCDIC. We are using z/OS v1.11. Unicode services are enabled on z/OS. Thanks Gadi -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE C calling HLASM
On 3/23/2012 2:57 PM, Phil Smith wrote: Thanks. The #pragma was the answer. We had tried that but thought it wasn't working for some reason. Now for the next question: this allows us to implement variable parameter lists in C, by declaring the functions thus: int SOMEFUNCTION(char *someparm, ...); Is there an equivalent way to do this in PL/I? -- ...phsiii Phil Smith III p...@voltage.com<mailto:p...@voltage.com> Voltage Security, Inc. www.voltage.com<http://www.voltage.com> Yes. In the declare of the subroutine, specify the word LIST in the last argument descriptor, for example: dcl avgyx entry (fixed bin(31), fixed decimal(7,2) optional, char (8), list byaddr) options(asm); This indicates there are zero or more arguments from the point of the LIST Then, in the invocation, pass at least as many arguments as arguments before the word LIST and any others you want: call avgyx (test_no, weight, test_name, rand_var, score_low, score_high); Again, this is from our course "Cross Program Communication in z/OS" see http://www.trainersfriend.com/Language_Environment_courses/m520descr.htm for details of the course. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE C calling HLASM
On 3/23/2012 1:16 PM, Phil Smith wrote: When writing an LC C program that calls an HLASM function, the last element of the parameter list does not have the high-order bit set. Is there an option to force it to do so? We can't seem to find one?! -- ...phsiii Phil Smith III p...@voltage.com<mailto:p...@voltage.com> Voltage Security, Inc. www.voltage.com<http://www.voltage.com> (703) 476-4511 (home office) (703) 568-6662 (cell) Simplist is to include something like: #pragma linkage(sub_name,OS) This, and a lot more, is covered in our course "Cross Program Communication in z/OS" (see http://www.trainersfriend.com/Language_Environment_courses/m520descr.htm ) Alternatively, you can use #pragma runopts(PLIST(OS)) and work with the __osplist macro This, and a lot more, is covered in our course "Introduction to TSO and REXX APIs" (see http://www.trainersfriend.com/TSO_Clist_REXX_Dialog_Mgr/a780descrpt.htm ) -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: COBOL x ACB EXLST WITH JRNAD
On 3/22/2012 6:28 PM, Scott Ford wrote: Jose, Sam is correct, COBOL doesn't ave the facilities that I know of unless you call assembler or C . You could try looking through the LE books on COBOL, maybe there is something there... Sent from my iPad Scott Ford Senior Systems Engineer www.identityforge.com On Mar 22, 2012, at 7:56 PM, Jose ADAUTO Ribeiro wrote: Hi, Please, not diminishing the quick response from Sam Siegel, but someone has any other information (if that is possible)? I would like to use this facility to spend the minimum effort to alter a legacy of programs. This is part of a project I'm evaluating. José ADAUTO Ribeiro Em 22/03/2012 19:17, Sam Siegel< s...@pscsi.net> escreveu: On Thu, Mar 22, 2012 at 3:10 PM, Jose ADAUTO Ribeiro wrote: Hi, Is there a way, in Cobol, to specify JRNAD module exit to access a VSAM file ? In Assembler we can specify: ACB01ACB AM=VSAM,DDNAME=VSAM01,MACRF=(KEY,SEQ,DIR,OUT), EXLST=EXLST01 EXLST01 EXLST AM=VSAM,JRNAD=(JRNEXIT,A,L) JRNEXIT DCCL8'EXITJRN' I don't think that can be done w/out dropping down to an assembler module to handle the I/O. Thanks in advance, Jose Adauto Ribeiro One problem is COBOL uses an intermediate control block, an FCB that points to the ACB structure. I suppose you could generate the sequence you want in an Assembler program, then hack your way to that using COBOL's pointer and address of facilities. Unless the control blocks reside in storage you don't have access to. And, of course, it would be totally unsupported if anything went wrong went wrong went wrong :-) -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: rexx cpu intensive
On 3/21/2012 9:38 AM, Tim Brown wrote: What can be done to prevent REXXX programs from being so CPU intensive Thanks, Tim Brown Systems Specialist - Project Leader Central Hudson Gas& Electric 284 South Ave Poughkeepsie, NY 12601 Email: tbr...@cenhud.com<<mailto:tbr...@cenhud.com>> Phone: 845-486-5643 Fax: 845-486-5921 Cell: 845-235-4255 Compiling can help. But, after all, REXX is essentially interpreted. Often it has been intended for prototyping to see quickly if an idea is do-able; once the function is demonstrated, you might consider re-writing in a compiled language. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
OT: Printing emails
I had my favorite copy shop run off a course material book for an upcoming class. Got an email that the job is done. At the bottom of the email was a note so different from any others I've seen (usually "consider the environment before printing" kind of thing) that it startled me. So here, for a different perspective, is what it says: It is OK to print this email. The paper industry plants more than it harvests and today there are 25% more trees in the developed world than in 1900. Paper is biodegradable, renewable and sustainable. Growing and harvesting trees provides jobs while forestry plantations provide clean air, clean water, wildlife habitat and carbon storage. A decline in the demand for paper products risks a decline in sustainable managed re-growth forests. Use print, it is tangible, it is effective in getting your message across and when recycled it will come back to us as paper or board. • In 1992 there was 360% more wood in the forest than in 1920. • 60% of paper today is recycled compared to 18% of electronic devices. • Reading a newspaper everyday spends 20% less carbon-dioxide than reading an online news source for 30 minutes a day. Of course, he has his agenda. But an interesting insight, eh? -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Totally offtopic, sorry, almost choked laughing.
On 3/19/2012 10:27 AM, McKown, John wrote: http://www.arcamax.com/thefunnies/freerange/s-1110960 Ummm. so which comic struck you so funny? The discosaurus? 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...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: A stupid idea? Using "twitter" like service for z/SO, et al., event notification.
On 3/9/2012 3:05 PM, Kirk Talman wrote: We have an in-house monitoring system on zOS that detects significant events (very broadly defined) - batch and online-, logs them, uses an external table to lookup who to notify via a complex masking system, and notifies them. Notification uses SMTP. That allows direct interface to vendors whose devices support SMS via SMTP. E.g. major pager vendors and cellphone vendors have such interfaces in US Canada and EU. It also allows use of "maillists" in the email system. Only downsides are vendor response time and firewalls. The system is on all lpars/plexes (except the sandboxes) in all data centers. The logs are consolidated and coordinated, as are the tables - they exist locally on each lpar/plex but are in sync with the "mother ship". I created an interface so that any system (e.g. *nix, M$W) that can "touch" zOS (NDM, FTP, MQ, etc) can use the notification system, including the filtering part. Cobol/CICS/MQ plus vendor tools (e.g. Fault Analyzer) to connect to SRM and Endevor. As much as possible, the system is external table driven. Only some of the filtering algorithms are "hard code". The contact number is in the message so that in special cases (e.g. DR) there is indication of who/where is the controlling site. Otherwise the plex indicates country. I sure wish IBM would get with it and promote these kinds of capabilities as being available with z/OS. People aren't aware of all things that are possible and it always comes across as the mainframe is 'old', 'stodgy', 'not modern' and so on. Ah well. Guess they aren't really serious about the long term viability. [OK, so it's Friday.] -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: The Trainer's Friend goes Kindle - and you don't need to own a Kindle!
On 3/6/2012 7:34 AM, Beesley, Paul wrote: Calibre runs great on Linux for reading and managing e-books. Regards Paul It seems OK on Windows; but it does _not_ do a very good job of converting between formats as it advertises. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Steve Comstock Sent: 06 March 2012 13:47 To: IBM-MAIN@bama.ua.edu Subject: Re: The Trainer's Friend goes Kindle - and you don't need to own a Kindle! On 3/5/2012 7:11 PM, Shmuel Metz (Seymour J.) wrote: In<4f54f245.9000...@trainersfriend.com>, on 03/05/2012 at 10:05 AM, Steve Comstock said: * If you don't have a Kindle, you can download the Kindle app for PCs PC's with what operating system? Windows: Win XP SP2 or later, Vista, Win 7 If you're running Linux your best bet is probably the browser-based reader (the "cloud reader"); that supports: Firefox V6 or later on Mac/PC/Linux Chrome V11 or later on Mac/PC/Linux/Chromebook Safari V5 or later on Mac/PC Safari on iPad (iOS 4 or later) -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Allocating- and deallocating storage on the CEEEDBBEHP
On 3/6/2012 1:18 AM, Fred van der Windt wrote: I have an assembler module that reads files and needs storage below the 16M line to store the DCB an DCBE. Previously I allocated this storage using a STORAGE macro. Because the module is always invoked by COBOL programs I figured I could also use LE services to allocate this storage. If I code a CEEV#GTS call Do you mean CEEGTST? to allocate this storage on LE's CEEEDBBEHP (LE Below Heap) I get occasional U4038 abends with a CEE0802C (Heap storage control information was damaged) when I try to free the allocated storage with a CEEV#FRS call even though the control information seems to be ok. I'm not sure what I'm doing wrong: should I just not meddle with the LE's Below Heap (CEEEDBBEHP)? LE's below heap is for LE support routines, not user heap. Yes: you should not meddle with it. If I use a CEEVGTSB (Get Storage Below) call to allocate the memory on the User Heap (with heap id 0) I'm also able get storage below the line. This storage can be freed without any problems. Is the the only viable route to have LE allocate storage below the line? thanks for any input, Fred! I'm not sure what services you are really using, but I suspect you're using some of the APIs from the Vendor Interfaces doc. While a few of these are useful, they are really intended to be used by creators of products that use LE internal services under their covers, not part of the end user interface. I think you should create a user heap below the line using CEECRHP with an options value of 73, 74, or 76 then use CEEGTST from that heap for your DCB/DCBE blocks. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: IBM Announcement Letters
On 3/6/2012 5:41 AM, Mark Jacobs wrote: Is anyone else getting '0' announcement letters this morning? Not here; I got a few, looked at a couple, no problem. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: The Trainer's Friend goes Kindle - and you don't need to own a Kindle!
On 3/6/2012 2:38 AM, Martin Packer wrote: Given Kindle doesn't have much of a notion of a page which HTML construct are you using to contain a slide? What do you mean by 'slide'? If you mean an image, I use an img element If you mean a page from a course, I build the page from a combination of ul and li elements, using 'pre' tags for code (usually wrapped in a div tag so I can set font information and draw a box around the code). Cheers, Martin Martin Packer, Mainframe Performance Consultant, zChampion Worldwide Banking Center of Excellence, IBM +44-7802-245-584 email: martin_pac...@uk.ibm.com Twitter / Facebook IDs: MartinPacker Blog: https://www.ibm.com/developerworks/mydeveloperworks/blogs/MartinPacker From: Steve Comstock To: IBM-MAIN@bama.ua.edu, Date: 05/03/2012 21:56 Subject: Re: The Trainer's Friend goes Kindle - and you don't need to own a Kindle! Sent by: IBM Mainframe Discussion List On 3/5/2012 2:19 PM, Sevetson, Phil wrote: Steve, Speaking strictly for myself, I like the idea of buying your material in Kindle format. However, I'm not an AJAX coder. What materials are next/soon in your push for this? --Phil Sevetson DB2 z/OS DBA Well, maybe one or two more papers, then I'd like to try putting a course up. For courses, we'll probably package just one or two chapters per book so people can buy just the parts they want / need. Still debating amongst ourselves about whether any courses we put out will have labs or not. Not sure what content to put up first; happy to take suggestions. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Steve Comstock Sent: Monday, March 05, 2012 12:05 PM To: IBM-MAIN@bama.ua.edu Subject: The Trainer's Friend goes Kindle - and you don't need to own a Kindle! Well, we're trying something new: looking at putting content on Amazon.com for reading in Kindle's. The details are below. But first, I want to point out right away: you don't need to own a Kindle to read our content (or any other eBook on Amazon, for that matter). * If you don't have a Kindle, you can download the Kindle app for PCs from Amazon; for free. There are also Kindle apps for iPhone, iPad, Android, Mac, and more. This is pretty cool in and of itself. I think this requires you to establish a Kindle account (also free). If you have an Amazon account you can piggyback on that. Go to: http://www.amazon.com/gp/feature.html/ref=sa_menu_karl3?ie=UTF8&docId=1000493771 Alternatively, you can use the Kindle cloud reader and read Kindle books in your browser. See: https://read.amazon.com/about So for right now, we're experimenting by putting some of our free papers into Kindle format: first we write a significant update to the paper, to add value; next we convert the new version to Kindle format and publish to Amazon in their eBook library. Our first foray into this brave new world is a major rewrite of the paper "Coding AJAX Applications in z/OS": We've updated some content to reflect changes in the RFC, we've added two new examples, including one that uses POST and a php CGI to process the POSTed data; I also made some editorial changes. The Amazon price is about 1/3 the price of just purchasing the support files in our own Trainer's Friend store, and the Amazon price _includes_ free access to the support files, so you can download all the sample HTML, COBOL source, and php source to experiment on your own. Check it out at http://www.amazon.com/dp/B007FY0EWI Let us know what you think of this experiment. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: The Trainer's Friend goes Kindle - and you don't need to own a Kindle!
On 3/5/2012 7:11 PM, Shmuel Metz (Seymour J.) wrote: In<4f54f245.9000...@trainersfriend.com>, on 03/05/2012 at 10:05 AM, Steve Comstock said: * If you don't have a Kindle, you can download the Kindle app for PCs PC's with what operating system? Windows: Win XP SP2 or later, Vista, Win 7 If you're running Linux your best bet is probably the browser-based reader (the "cloud reader"); that supports: Firefox V6 or later on Mac/PC/Linux Chrome V11 or later on Mac/PC/Linux/Chromebook Safari V5 or later on Mac/PC Safari on iPad (iOS 4 or later) -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: The Trainer's Friend goes Kindle - and you don't need to own a Kindle!
On 3/5/2012 2:19 PM, Sevetson, Phil wrote: Steve, Speaking strictly for myself, I like the idea of buying your material in Kindle format. However, I'm not an AJAX coder. What materials are next/soon in your push for this? --Phil Sevetson DB2 z/OS DBA Well, maybe one or two more papers, then I'd like to try putting a course up. For courses, we'll probably package just one or two chapters per book so people can buy just the parts they want / need. Still debating amongst ourselves about whether any courses we put out will have labs or not. Not sure what content to put up first; happy to take suggestions. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Steve Comstock Sent: Monday, March 05, 2012 12:05 PM To: IBM-MAIN@bama.ua.edu Subject: The Trainer's Friend goes Kindle - and you don't need to own a Kindle! Well, we're trying something new: looking at putting content on Amazon.com for reading in Kindle's. The details are below. But first, I want to point out right away: you don't need to own a Kindle to read our content (or any other eBook on Amazon, for that matter). * If you don't have a Kindle, you can download the Kindle app for PCs from Amazon; for free. There are also Kindle apps for iPhone, iPad, Android, Mac, and more. This is pretty cool in and of itself. I think this requires you to establish a Kindle account (also free). If you have an Amazon account you can piggyback on that. Go to: http://www.amazon.com/gp/feature.html/ref=sa_menu_karl3?ie=UTF8&docId=1000493771 Alternatively, you can use the Kindle cloud reader and read Kindle books in your browser. See: https://read.amazon.com/about So for right now, we're experimenting by putting some of our free papers into Kindle format: first we write a significant update to the paper, to add value; next we convert the new version to Kindle format and publish to Amazon in their eBook library. Our first foray into this brave new world is a major rewrite of the paper "Coding AJAX Applications in z/OS": We've updated some content to reflect changes in the RFC, we've added two new examples, including one that uses POST and a php CGI to process the POSTed data; I also made some editorial changes. The Amazon price is about 1/3 the price of just purchasing the support files in our own Trainer's Friend store, and the Amazon price _includes_ free access to the support files, so you can download all the sample HTML, COBOL source, and php source to experiment on your own. Check it out at http://www.amazon.com/dp/B007FY0EWI Let us know what you think of this experiment. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: The Trainer's Friend goes Kindle - and you don't need to own a Kindle!
On 3/5/2012 10:31 AM, Martin Packer wrote: I'm not likely to be your customer but this sounds great. A question: What authoring mechanism are you using to create Kindle materials and in what format are they delivered? MOBI-derivative? Cheers, Martin Martin Packer, Mainframe Performance Consultant, zChampion Worldwide Banking Center of Excellence, IBM All our materials are produced using Ventura Publisher. For creating Kindle works (remember, I've only done one so far), I use a Ventura option to extract just the text into a file. Then I use SPF/PC (any editor will work, of course) to convert that into HTML by copying in some small copy books I've built that re-create the bullet / sub-bullet structure we use (more or less; I'm still learning the ins and outs of formatting for Kindle). Then I add some packaging files (table of contents, manifest, ncx file) and any image files. Put all this into a single directory and zip it; upload the zip to KDP (Kindle Direct Publishing) Before I actually send a file to KDP, I test it by using a command line book compiler available for free from KDP, and view the output in another free tool the Kindle Previewer. So far, the previewer seems to do a better job of rendering my doc than Kindle PC, so you could download that tool and use it to view any Kindle pubs you buy from Amazon. Kindle seems fine for novels and literature; it has a way to go for technical presentations, just due to the nature of bulleted notes. Still, it's an interesting process and improving all the time. +44-7802-245-584 email: martin_pac...@uk.ibm.com Twitter / Facebook IDs: MartinPacker Blog: https://www.ibm.com/developerworks/mydeveloperworks/blogs/MartinPacker From: Steve Comstock To: IBM-MAIN@bama.ua.edu, Date: 05/03/2012 17:05 Subject: The Trainer's Friend goes Kindle - and you don't need to own a Kindle! Sent by: IBM Mainframe Discussion List Well, we're trying something new: looking at putting content on Amazon.com for reading in Kindle's. The details are below. But first, I want to point out right away: you don't need to own a Kindle to read our content (or any other eBook on Amazon, for that matter). * If you don't have a Kindle, you can download the Kindle app for PCs from Amazon; for free. There are also Kindle apps for iPhone, iPad, Android, Mac, and more. This is pretty cool in and of itself. I think this requires you to establish a Kindle account (also free). If you have an Amazon account you can piggyback on that. Go to: http://www.amazon.com/gp/feature.html/ref=sa_menu_karl3?ie=UTF8&docId=1000493771 Alternatively, you can use the Kindle cloud reader and read Kindle books in your browser. See: https://read.amazon.com/about So for right now, we're experimenting by putting some of our free papers into Kindle format: first we write a significant update to the paper, to add value; next we convert the new version to Kindle format and publish to Amazon in their eBook library. Our first foray into this brave new world is a major rewrite of the paper "Coding AJAX Applications in z/OS": We've updated some content to reflect changes in the RFC, we've added two new examples, including one that uses POST and a php CGI to process the POSTed data; I also made some editorial changes. The Amazon price is about 1/3 the price of just purchasing the support files in our own Trainer's Friend store, and the Amazon price _includes_ free access to the support files, so you can download all the sample HTML, COBOL source, and php source to experiment on your own. Check it out at http://www.amazon.com/dp/B007FY0EWI Let us know what you think of this experiment. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
The Trainer's Friend goes Kindle - and you don't need to own a Kindle!
Well, we're trying something new: looking at putting content on Amazon.com for reading in Kindle's. The details are below. But first, I want to point out right away: you don't need to own a Kindle to read our content (or any other eBook on Amazon, for that matter). * If you don't have a Kindle, you can download the Kindle app for PCs from Amazon; for free. There are also Kindle apps for iPhone, iPad, Android, Mac, and more. This is pretty cool in and of itself. I think this requires you to establish a Kindle account (also free). If you have an Amazon account you can piggyback on that. Go to: http://www.amazon.com/gp/feature.html/ref=sa_menu_karl3?ie=UTF8&docId=1000493771 Alternatively, you can use the Kindle cloud reader and read Kindle books in your browser. See: https://read.amazon.com/about So for right now, we're experimenting by putting some of our free papers into Kindle format: first we write a significant update to the paper, to add value; next we convert the new version to Kindle format and publish to Amazon in their eBook library. Our first foray into this brave new world is a major rewrite of the paper "Coding AJAX Applications in z/OS": We've updated some content to reflect changes in the RFC, we've added two new examples, including one that uses POST and a php CGI to process the POSTed data; I also made some editorial changes. The Amazon price is about 1/3 the price of just purchasing the support files in our own Trainer's Friend store, and the Amazon price _includes_ free access to the support files, so you can download all the sample HTML, COBOL source, and php source to experiment on your own. Check it out at http://www.amazon.com/dp/B007FY0EWI Let us know what you think of this experiment. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Discussion list for IBM System z Ensembles
On 3/1/2012 1:54 PM, SHARE LVM Team wrote: I've created a new LISTSERV list for the discussion of running in an IBM System z Ensemble environment, ibmen...@marist.edu. We have just ventured into this world. I've been working to set up a z114/zBX ensemble for our research lab and have run into numerous challenges unlike anything I've seen before. I've heard similar things from the few others who are also venturing into this "brave new world". So, I figured it would help to have some place to share information, tips on getting around problems or just commiserating about it. Some have suggested using the existing lists, but I've found that these challenges are very complex and don't lend themselves to one of the more specific lists. Discussions on the new list will not be limited to a specific operating system, but should involve the ensemble environment. So, there will probably be things involving multiple levels, such as Unified Resource Manager, network, SAN, Blades, Windows, etc. along with z/VM, Linux and z/OS. To subscribe, send an email to lists...@vm.marist.edu containing the text: sub ibmens-l The list is open to all subscribers, but you must be subscribed in order to post to it. Feel free to share this note on other lists or forums where there may be people who would be interested. Martha McConaghy System Architect/Technical Lead Marist College An excellent idea, Martha. Thanks. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Unwanted New Threads (Was: SMP/E Order Server Pair)
On 2/28/2012 9:11 PM, Edward Jaffe wrote: On 2/28/2012 4:09 PM, Paul Gilmartin wrote: On Tue, 28 Feb 2012 14:51:31 -0800, Edward Jaffe wrote: On 2/28/2012 8:51 AM, McKown, John wrote: IOW, damned if I do and damned if I don't (insert hard line breaks, that is). My advice is not to ever insert any hard breaks. That just makes things worse. When one relies on software that properly handles format=flowed everything should work beautifully. Thunderbird seems to support this very well. I assume Outlook does as well. I'll take the contrary position. This ain't a word processor. I learned long ago to insert line breaks where I want them -- it's the big key to the right of the home row. Allow me to restate. What I actually meant to say was not to insert any GRATUITOUS hard breaks. Obviously, hard breaks between paragraphs is a good idea. But, hard breaks in the middle of a paragraph become unreadable when quoted. I don't think so. As I mentioned earlier, I insert lots of hard breaks. The key is to keep lines short and roughly the same width. I think the result is easier to read and easier to reply to. But, of course, YMMV. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: TINC?
On 2/28/2012 9:10 AM, Shmuel Metz (Seymour J.) wrote: In , on 02/27/2012 at 02:20 PM, John Gilmore said: Still, their UNIX-oriented initiatives are a clear danger to legitimate, MVS-based undertakings; Bah! Viva PCP! You're promoting angel dust? :-) -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Unwanted New Threads (Was: SMP/E Order Server Pair)
On 2/27/2012 11:52 AM, McKown, John wrote: I guess I'm just used to the email client inserting a line break "where appropriate". I tend to do email like I do word processing. I only use the "newline" key when I want to force a line break, or and the end of a paragraph. I didn't realize that some email clients don't conform to normal standards. I'll get in a habit of using the new line key more often. Like in did in this email. Thanks. I have gotten in the habit of making sure my lines are all relatively short and roughly the same length (without obsessing about it). I find that makes it easier to read _and_ easier to reply to. -- 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@bama.ua.edu] On Behalf Of Paul Gilmartin Sent: Monday, February 27, 2012 11:22 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Unwanted New Threads (Was: SMP/E Order Server Pair) On Mon, 27 Feb 2012 18:13:06 +0100, Jan Vanbrabant wrote: Also having the same problem wth have trouble with Radoslaw Skorupka's posts . No line breaks at all. Style. John M. habitually posts without line breaks. I deal with it. Perhaps because I too often agree with his substance to complain about style. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: SV: Duplicating SYSOUT output to another DD/DSN in realtime ? (JCL)
On 2/27/2012 7:01 AM, Thomas Berg wrote: -Ursprungligt meddelande- Från: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] För Steve Comstock Skickat: den 27 februari 2012 14:58 Till: IBM-MAIN@bama.ua.edu Ämne: Re: Duplicating SYSOUT output to another DD/DSN in realtime ? (JCL) On 2/27/2012 4:18 AM, Thomas Berg wrote: Is there any possibility to duplicate the output to SYSOUT to another Ddname/DSname in realtime ? I want to follow the execution by inspecting the output but at the same time save it for processing in a following step. Preferably by JCL means. Regards, Thomas Berg _ Thomas Berg Specialist A M SWEDBANK If you want to 'follow the execution by inspecting the output' and 'in realtime', I gather you don't want an automated process. Why not just go to SDSF (or (E)JES or IOF or Flasher or ... ) and select the sysout file? It will show you what's been output so far, but does not disturb the final distribution. You can set up an automated, timed refresh of the screen (say, every 5 seconds) to watch the SYSOUT data grow, or just hit enter to see the latest entries. Or maybe I'm not clear on what you are after. The output needs to be processed in a later step. But if the output is directed to SYSOUT, are there any way for a later step to read that output ? Regards, Thomas Berg _ Thomas Berg Specialist A M SWEDBANK Ah! So the output is not originally SYSOUT? Can you direct the output to a z/OS UNIX file? Then from a UNIX session (omvs or telnet) you could use 'tail' commands to watch the file grow. If things are not going well, cancel the job. If all goes well, copy the UNIX file back to an MVS file (or just process the UNIX file if that would be supported). -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Duplicating SYSOUT output to another DD/DSN in realtime ? (JCL)
On 2/27/2012 4:18 AM, Thomas Berg wrote: Is there any possibility to duplicate the output to SYSOUT to another Ddname/DSname in realtime ? I want to follow the execution by inspecting the output but at the same time save it for processing in a following step. Preferably by JCL means. Regards, Thomas Berg _ Thomas Berg Specialist A M SWEDBANK If you want to 'follow the execution by inspecting the output' and 'in realtime', I gather you don't want an automated process. Why not just go to SDSF (or (E)JES or IOF or Flasher or ... ) and select the sysout file? It will show you what's been output so far, but does not disturb the final distribution. You can set up an automated, timed refresh of the screen (say, every 5 seconds) to watch the SYSOUT data grow, or just hit enter to see the latest entries. Or maybe I'm not clear on what you are after. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Thought: new DISP "status" function
On 2/23/2012 1:39 PM, Mike Schwab wrote: DISP=REUSE or DISP=(REUSE,CATLG) in case of additional volumes. Well, since it's almost Friday ... the first thing that came to mind reading the above was alternatives like DISP=DEPOSE - for the Arab Spring DISP=SUPPOSE - for the undecided DISP=SUPHOSE - for the elderly [ probably should have resisted the urge. Don't press Send. Don't press Send. Don't ... -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Avoiding DFSORT dynamic allocatoin, was: Abend S0C4 in an internal sort
On 2/22/2012 12:27 PM, Ulrich Krueger wrote: Thank you for your response, Staffan. To the best of my knowledge (and, being retired, I cannot experiment with a current release of DFSORT), there's no way I can think of to make DFSORT _not_ allocate SORTWKs for every invocation. So I had been thinking along the lines of "How can I avoid the _entire_ overhead of invoking SORT multiple times?" With or without SORTWKs, the cumulative overhead of invoking SORT (as you said) 1000's of times ... that's going to kill your performance. If there's any chance to rework the program's logic, similar to what I said in my previous post, and call SORT only once ... that's going to give you the best bang for your buck. I hope, you can find a solution to your problem. Perhaps posting the SORT messages for one of the invocations might help shed some more light on the issue. Regards, Ulrich Krueger So, DFSORT is being invoked from a program, as I recall. Here's an idea: have the program call the C qsort function instead of DFSORT. I have a simple COBOL program that does this: 01 no-rowspic s9(9) binary value 0. 01 row-size pic s9(9) binary value +60. 01 compdesc function-pointer. ... 01 parts-table. 05 parts occurs 300 times indexed by part-index. 10 parts-no pic x(9). 10 parts-desc pic x(30). 10 parts-on-hand pic 9. 10 parts-on-ord pic 999. 10 parts-pricepic v999. 10 parts-reordpic 999. 10 pic xxx. ... procedure division using parms. mainline. set compdesc to entry 'compdesc' ... call 'qsort' using parts-table, by value no-rows, row-size, compdesc The routine 'compdesc' is where the actual compare takes place. Since I am comparing the descrption field (parts-desc in the table above), I wrote the following Assembler code: COMPDESC CSECT COMPDESC AMODE 31 COMPDESC RMODE ANY * Copyright (C) 2004 by Steven H. Comstock * * code to be called as a C function to compare two consecutive *entries in a table of Inventory items, in process of *sorting by description field, which is 9 bytes in * with a length of 30; no save area is used or *needed, and code returns zero if two items * equal, positive number if first is high, *negative number if first is low * l 15,0(1) l 1,4(,1) clc9(30,15),9(1) je zero jh high lnr15,15 high ds 0h br 14 zero ds 0h sr 15,15 br 14 dc c'compdesc ver1' END COMPDESC So, could you code a similar program to do the compare between two entries then invoke the C qsort using your routine for the compare? -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Staffan Tylen Sent: Wednesday, February 22, 2012 11:08 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Avoiding DFSORT dynamic allocatoin, was: Abend S0C4 in an internal sort David, Ulrich, Many thanks for your comments but I think we are drifting away from the original issue, namely that there seems to be no way to prevent dynamic allocation of sort work files. I wish to be able to sort records in storage without "risking" that work files are dynamically allocated. I know this may sound silly but that's not the point. The point I'm making is that the documentation for DFSORT seems to show ways to do this using various parameters such as DYNALLOC, FILESZ, etc. but I can't make it work. Many thanks for any continued input to this. Staffan -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Do what to get C strftime %z to work?
On 2/21/2012 6:01 PM, Charles Mills wrote: Also remember when perusing the LE publications that the inventors of LE in their wisdom thought it would be too clear to the uninitiated to call the languages dependent on Language Environment "languages," choosing instead to further overload the word "member." it is made easy, for one C function to call another C function What does that have to do with LE? No other platform that I know of has LE, but on every platform cannot a C function trivially call another C function? Otherwise wouldn't every C program have to consist simply of one humongous main()? Well, z/VSE has LE; I understand AS/400 has it; there is even some support in OS/2 :-) But, right, no non-IBM platform supports LE. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of John Gilmore Sent: Tuesday, February 21, 2012 4:24 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Do what to get C strftime %z to work? The heavy irony in the rhetorical question | Why did I think that there might be a clue to the "C/C++ signature | CSECT" in the C/C++ documentation? is understandable. Moreover, Chris Mason's manner does annoy some people; but it would be unwise to ignore the substantive content of his posts for this reason. Things do not always appear where one would like to find them in IBM publications; and his example is a valuable illustration of how to find them when they do not. Moreover, a good ROT to keep in mind is that things not found in the IBM manuals for a particular statement-level procedural language may well be found in its LE manuals and in particular in the ILC discussions in these LE manuals, which contain useful detail that can be found nowhere else. Moreover again, this is unsurprising. It is easy, because it is made easy, for one C function to call another C function. It s not so easy to induce Java to call C successfully. To do this one needs to know more, and that more is just what is addressed in ILC discussions. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Batch process VS Started task
On 2/19/2012 2:25 PM, Magen Margalit wrote: Hi list. We have a daily betch job that is processing as input records which has been collected all day. volume of records is about 5 millions for 24 hours. In order to make systems more "online" we are looking for a way to run the process for each record all day long instead of a daily run, and doing so with minimum as possible application changes. One idea that came up is to convert the process to a "self developed" STC which will be triggered by a record on an MQ queue and will run as STC all the batch process programs To me it seems like a bad idea because having a "self developed" STC in production create a maintenance gap (and where there is one STC a second one will soon to follow...)... Are there other advantages / dis-advantages regarding a "self developed" STC ? Are there any "self developed" STC's at your shop? Any other ideas on how to approach this issue? Thanks in advanced. Magen Well, you could set up your free HTTP server and handle it using HTML and CGIs. You could use CICS/TS if you have it and use the web interface. Or, use a z/OS UNIX daemon with multithreading. Not sure about the 5M trans a day rate, for any of these, though. Need to do some benchmarking. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Archaic allocation in JCL (Was: Physical record size query)
On 2/17/2012 12:57 AM, Edward Jaffe wrote: On 2/13/2012 9:38 AM, Joel C. Ewing wrote: Requiring application programmers to think in terms of tracks and cylinders and to understand interaction between physical block size and track capacity is indeed archaic, as are artificial restrictions on number of extents or volumes. TRKs and CYLs? Most of our allocations are in MEGs. Doesn't everyone do that these days? SPACE=(1,(5,1),RLSE),AVGREC=M Allocate in MEGs I would have thought allocations in records or thousands of records, or millions of records, e.g.: SPACE=(440,(100,5),RLSE),AVGREG=M allocate space for 100 million records of 440 bytes long. Folks responsible for an application usually have some rough idea of the number of records (right?) and they know the size of the records. Records relate to something concrete (customers, inventory, employees, etc.) whereas megabytes is more abstract. But, hey, I live in the ivory tower. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Authorized functions
On 2/16/2012 2:31 PM, Tony Harminc wrote: On 16 February 2012 13:31, Scott Ford wrote: Walt: Are we saying Cobol cant invoke TMP ?? If so, where do i find an example I'm not Walt, of course. But as far as I know, no one can invoke the TMP. Well, not quite true, obviously, but no normal program, even if APF authorized can invoke the TMP. It wants to run as the job step task, and that's difficult. In particular, while you can have more than one job step task in an address space, the TMP and REXX won't stand for it. Well, perhaps they will let it go if you don't try to invoke anything authorized, but I don't think even that. The only ways I know that you can invoke the TMP are 1) from EXEC PGM= 2) from UNIX exec(), which effectively creates a new job step in a BPX initiator address space. Tony H. OK, just being a little crazy, what about EXEC PGM=MYASMPGM which "does some stuff" and then does XCTL to the TMP? Would that work? -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Career Watch: The most in-demand skills of 2012 - Good news the training budgets seem to be increasing
On 2/15/2012 12:38 PM, Ed Gould wrote: http://www.computerworld.com/s/article/9224116/Career_Watch_The_most_in_demand_skills_of_2012 Year-over-year changes in training spending, 2006-2011: • 2006: 7% • 2007: 6% • 2008: -11% • 2009: -11& • 2010: 2% • 2011: 9% Source: The Corporate Learning Factbook 2012, Bersin & Associates Sounds good to me! ;-) Actually, the timing is outstanding, since we are just announcing today a program that will stretch training dollars even further: If you schedule a class for us to come and teach at your site, at our regular rates, then you can ask for a materials license for that class for _free_. That is, we teach it once then you get the print masters and can teach it to your own people an unlimited number of times after that class for no extra charge! The courses eligible for this program are listed here: http://www.trainersfriend.com/General_content/Purchaselist.htm Drop me a line off list if you're interested in exploring this new promotion. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: gcc on z/OS (was: CPP (C++) file on z/OS)
On 2/6/2012 10:40 AM, Paul Gilmartin wrote: On Mon, 6 Feb 2012 12:31:31 -0500, Tony Harminc wrote: On 4 February 2012 12:03, Paul Gilmartin wrote: That idea founders on the economics of support. ... I suspect a single service call to IBM costs, in the aggregate, more than an entire desktop system. Have you priced a support call with Microsoft lately? One that lets you talk to someone who actually has access to and understands the code? No; my point is that most personal Windows customers can endure the entire life of the product without making such a call; most z/OS customers can't. -- gil I don't know about that: I would wager most z/OS end users have no need for such a call, nor most z/OS appication programmers. Now, for systems programmers, you're probably right. -- Kind regards, -Steve Comstock The Trainer's Friend, Inc. 303-355-2752 http://www.trainersfriend.com * To get a good Return on your Investment, first make an investment! + Training your people is an excellent investment * Try our tool for calculating your Return On Investment for training dollars at http://www.trainersfriend.com/ROI/roi.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN