Re: Anyone a Unicode Services expert? -- roundtrip conversion
I got a response to the PMR. Taking the liberty of paraphrasing a long reply, the essence of it seemed to be that -- per the CCSID pair lists in the manual -- they support round trip conversion from 1027 to 1208 but not from 1208 to 1027. Here is what I wrote back: It sounds like you are saying (for the CCSIDs in question) we support round trip, but in one direction only. It would be like if I bought a round trip ticket on Delta between San Francisco and Atlanta, and after I got to Atlanta, they explained that it was a round trip ticket only in one direction. I would kind of question also whether what you are doing conforms to your definition of round trip in the Unicode manual glossary: Round trip. Encoding that occurs when every code point in the source CCSID maps to a unique code point in the target CCSID. Using round trip tables ensure the capability of reversing the conversion, and recovering the complete original source datastream. I would question every code point in the source CCSID maps to a unique code point in the target CCSID when both 3F and 41 map to the same code point, and I wonder how I would recover the original source datastream. Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Anyone a Unicode Services expert? -- roundtrip conversion
I did not miss the word defined. It's not in IBM's definition. I hear everyone who is saying the term 'code point' *really* means a bit value with a glyph assigned to it, but that's not what the definitions out there say. Wikipedia: In character encoding terminology, a code point or code position is any of the numerical values that make up the code space (or code page).[1] For example, ASCII comprises 128 code points in the range 0hex to 7Fhex, Extended ASCII comprises 256 code points in the range 0hex to FFhex, and Unicode comprises 1,114,112 code points in the range 0hex to 10hex. The Unicode code space is divided into seventeen planes (the basic multilingual plane, and 16 supplementary planes), each with 65,536 (= 216) code points. Thus the total size of the Unicode code space is 17 × 65,536 = 1,114,112. ASCII comprises 128 code points. Not all 128 of those have glyphs. Unicode comprises 1,114,112 code points. Not all of those million-plus code points have glyphs. every code point in the source CCSID maps to a unique code point in the target CCSID (note no defined) That says every one of the 128 ASCII code points maps to a unique bit combination. But it ain't so. If one is going to define round trip conversion as applying only to corresponding glyphs then the definition loses any meaning. Any rational translation is round trip with regard to corresponding glyphs. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Mike Schwab Sent: Wednesday, June 13, 2012 12:02 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion On Wed, Jun 13, 2012 at 12:59 PM, Charles Mills charl...@mcn.org wrote: I got a response to the PMR. Taking the liberty of paraphrasing a long reply, the essence of it seemed to be that -- per the CCSID pair lists in the manual -- they support round trip conversion from 1027 to 1208 but not from 1208 to 1027. Here is what I wrote back: What this means is: Roundtrip example: Every defined character in 1027, excluding values that do not have a character defined, exist in 1208, is successfully translated from 1027 to 1208 and back to 1027. All codepoints that do not have a character defined will be translated to (one?) non-valid value. Non-roundtrip example: Some defined characters in 1208, and all codepoints that do not have a character defined, do not exist in 1027. If you translate text from 1208 to 1027, the characters not defined in 1027, and all undefined codepoints will be translated to (one?) non-valid codepoint. In any translation, a codepoint that does not encode a character will be translated to (one?) non-valid codepoint. If, while the text is in 1208 is changed to add a character not in 1027, upon translation that value will be changed to an invalid value in 1027. It sounds like you are saying (for the CCSIDs in question) we support round trip, but in one direction only. It would be like if I bought a round trip ticket on Delta between San Francisco and Atlanta, and after I got to Atlanta, they explained that it was a round trip ticket only in one direction. I would kind of question also whether what you are doing conforms to your definition of round trip in the Unicode manual glossary: Round trip. Encoding that occurs when every code point in the source CCSID maps to a unique code point in the target CCSID. You missed the word defined. If a codepoint does not have a defined character, it is translated to (one?) invalid value. Using round trip tables ensure the capability of reversing the conversion, and recovering the complete original source datastream. I would question every code point in the source CCSID maps to a unique code point in the target CCSID when both 3F and 41 map to the same code point, and I wonder how I would recover the original source datastream. Again, you missed the word defined. If a codepoint does not have a defined character, it is translated to (one?) invalid value. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Anyone a Unicode Services expert? -- roundtrip conversion
FWIW, z/OS Unicode Services does indicate that at least one SUB character was output. It's not an error (RC still = 0) but it is a documented output status bit flag. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Paul Gilmartin Sent: Wednesday, June 13, 2012 5:20 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion On Wed, 13 Jun 2012 13:50:17 -0500, McKown, John wrote: I __think__ I understand what IBM is saying. You must differentiate between a hex value (0x00..0xFF) and a code point (a subset of hex values). Not every hex value is a code point in every CCSID. I.e. a single byte CCSID may have less than 256 code points, or a double byte CCSID may have less than 65336 code points... In that case, a conscientious utility _ought_ to indicate an error on encountering an octet which is not a code point rather than mapping it to some arbitrary value. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Anyone a Unicode Services expert? -- roundtrip conversion
My understanding of roundtrip conversion is that every code point in the from CCSID translates to a unique (possibly meaningless) code point in the to CCSID so that if for example a customer is so foolish as to transmit, for example, an object deck from z/OS to a PC in text format, and then transfer it back to z/OS the same way, he will have a good object deck. I am running Kirk Wolf's excellent showtrtab with the command showtrtab -s 1027 -t 1208 -q R The results I see include the following: 3F: 1A 40: 20 41: 1A Several other EBCDIC code points also translate to ASCII sub, 0x1a. So the question is if multiple EBCDIC code points all translate to 0x1a, how the heck is this a round trip translation? (I'm not alleging a bug in showtrtab. I am getting the same results with my code and ran showtrtab as a reality check and a clearer example.) Where am I going wrong? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Anyone a Unicode Services expert? -- roundtrip conversion
Well, Peter, that's certainly consistent with what I see. I'm looking, however, at slide 11 of http://publib.boulder.ibm.com/infocenter/ieduasst/stgv1r0/index.jsp?topic=/c om.ibm.iea.zos/zos/1.9/IntegratingNewAppOnzOS/zOSV1R9_Integrating_newAppl_LE UnicodeServices/player.html . (You may have to unfold that URL.) It says R - Roundtrip conversion. Roundtrip conversions between two CCSIDs assure that all characters making the roundtrip arrive as they were originally. How is that going to be accomplished if both 3F and 41 translate to 1A? How will they make the round trip back to what they were? What does technique R mean? I certainly understand that not every character in a given CCSID maps meaningfully to another CCSID. That's why I said possibly meaningless in my original question. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Farley, Peter x23353 Sent: Tuesday, June 12, 2012 8:41 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion This is a false assumption: ... every code point in the from CCSID translates to a unique (possibly meaningless) code point in the to CCSID There is no guarantee that all code points in a given CCSID map to a unique code point in any other CCSID. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Anyone a Unicode Services expert? -- roundtrip conversion
Thanks, Peter. Please understand I am not criticizing or faulting z/OS Unicode Services. I am just trying to explain to a customer the output they may expect to see when they use our product that in turn uses Unicode Services (USS? -- LOL -- never mind). Let's leave PCs out of it. If I were going z/OS to z/OS to z/OS, how could both 3F and 41 make the round trip successfully? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Farley, Peter x23353 Sent: Tuesday, June 12, 2012 9:04 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion I believe that slide refers to round trips within the z/OS world only. There is no statement that CCSID conversion by a system other than z/OS (such as the PC ftp client in your example) will be covered in the 'round trip guarantee. You have to be transmitting and receiving with the same or a very compatible iconv() instance to be able to make such a guarantee. It's remotely possible that transmission to a linux ftp client with an iconv() that is compatible with the z/OS iconv() *might* support such a guarantee (e.g., z/Linux), but I wouldn't bet on it. And Win systems are almost guaranteed NOT to support such a guarantee. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Charles Mills Sent: Tuesday, June 12, 2012 11:49 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion Well, Peter, that's certainly consistent with what I see. I'm looking, however, at slide 11 of http://publib.boulder.ibm.com/infocenter/ieduasst/stgv1r0/index.jsp?topic=/c om.ibm.iea.zos/zos/1.9/IntegratingNewAppOnzOS/zOSV1R9_Integrating_newAppl_LE UnicodeServices/player.html . (You may have to unfold that URL.) It says R - Roundtrip conversion. Roundtrip conversions between two CCSIDs assure that all characters making the roundtrip arrive as they were originally. How is that going to be accomplished if both 3F and 41 translate to 1A? How will they make the round trip back to what they were? What does technique R mean? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Anyone a Unicode Services expert? -- roundtrip conversion
Peter, thanks. Believe me, I have done a *lot* of CCSID research. CCSID 1208 is Encoding scheme 7807 - UTF-8, UCS-2 transform; Name UTF-8 WITH IBM PUA. It is *the* basic UTF-8 CCSID. there is no way for EBCDIC 41 to round trip through classic 7-bit ASCII Fair enough. Unicode services reports however that it supports roundtrip conversion in many of these cases, including for example, 37 to 850 (pretty basic ASCII). What does roundtrip conversion mean? That is my fundamental question. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Farley, Peter x23353 Sent: Tuesday, June 12, 2012 10:48 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion Well, I don't have my green card with me at the moment, but IIRC 3F is the EBCDIC SUB character, which means mapping it to ASCII 1A is correct. EBCDIC 41 I think is hard space or something like that, and classic 7-bit ASCII does not support such a character, so there is no way for EBCDIC 41 to round trip through classic 7-bit ASCII (which is what I believe CCSID 1208 is, no?). Now if you are transferring through ISO8879 (Latin-1) or UTF-8 instead, there may be a code point in one of those CCSID's that maps to hard space. I don't have time for the necessary code point research at the moment, but you may want to look into those CCSID's as an alternative to CCSID 1208. HTH Peter -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Charles Mills Sent: Tuesday, June 12, 2012 1:10 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion Thanks, Peter. Please understand I am not criticizing or faulting z/OS Unicode Services. I am just trying to explain to a customer the output they may expect to see when they use our product that in turn uses Unicode Services (USS? -- LOL -- never mind). Let's leave PCs out of it. If I were going z/OS to z/OS to z/OS, how could both 3F and 41 make the round trip successfully? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Farley, Peter x23353 Sent: Tuesday, June 12, 2012 9:04 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion I believe that slide refers to round trips within the z/OS world only. There is no statement that CCSID conversion by a system other than z/OS (such as the PC ftp client in your example) will be covered in the 'round trip guarantee. You have to be transmitting and receiving with the same or a very compatible iconv() instance to be able to make such a guarantee. It's remotely possible that transmission to a linux ftp client with an iconv() that is compatible with the z/OS iconv() *might* support such a guarantee (e.g., z/Linux), but I wouldn't bet on it. And Win systems are almost guaranteed NOT to support such a guarantee. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Charles Mills Sent: Tuesday, June 12, 2012 11:49 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion Well, Peter, that's certainly consistent with what I see. I'm looking, however, at slide 11 of http://publib.boulder.ibm.com/infocenter/ieduasst/stgv1r0/index.jsp?topic=/c om.ibm.iea.zos/zos/1.9/IntegratingNewAppOnzOS/zOSV1R9_Integrating_newAppl_LE UnicodeServices/player.html . (You may have to unfold that URL.) It says R - Roundtrip conversion. Roundtrip conversions between two CCSIDs assure that all characters making the roundtrip arrive as they were originally. How is that going to be accomplished if both 3F and 41 translate to 1A? How will they make the round trip back to what they were? What does technique R mean? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN This message and any attachments are intended only for the use of the addressee and may contain information that is privileged and confidential. If the reader of the message is not the intended recipient or an authorized representative of the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have 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
Re: Anyone a Unicode Services expert? -- roundtrip conversion
I've lost the original post, what is the mapping you are trying to achieve? The original example was somewhat extreme. CCSID 01027: Encoding scheme 1100 - EBCDIC, SBCS; Name JAPAN LATIN CCSID 01208: Encoding scheme 7807 - UTF-8, UCS-2 transform; Name UTF-8 WITH IBM Both the Unicode manual for z/OS V1R13 and the returned information from CUNLINFO indicate that roundtrip conversion is supported for this CCSID pair. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Steve Comstock Sent: Tuesday, June 12, 2012 11:06 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion On 6/12/2012 11:59 AM, Charles Mills wrote: Peter, thanks. Believe me, I have done a *lot* of CCSID research. CCSID 1208 is Encoding scheme 7807 - UTF-8, UCS-2 transform; Name UTF-8 WITH IBM PUA. It is *the* basic UTF-8 CCSID. there is no way for EBCDIC 41 to round trip through classic 7-bit ASCII Fair enough. Unicode services reports however that it supports roundtrip conversion in many of these cases, including for example, 37 to 850 (pretty basic ASCII). What does roundtrip conversion mean? That is my fundamental question. Roundtrip conversion means what you think: translate string A to string B then back from string B to string A' then A = A' Clearly you are not experiencing that. Just as clearly, there are many mappings for which roundtrip conversion is not possible. I've lost the original post, what is the mapping you are trying to achieve? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Anyone a Unicode Services expert? -- roundtrip conversion
Right. I don't have a functional problem. There is no fix that I am looking for. I have an understanding and documentation (mine!) problem. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Farley, Peter x23353 Sent: Tuesday, June 12, 2012 11:21 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion I will have to leave the answer to your fundamental question for wiser and more experienced heads to answer. I would think you could file a PMR on this and see what IBM has to say about it. You might only get a doc change out of it, but at least then there would be doc on what is and is not supported for a guaranteed round trip. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Anyone a Unicode Services expert? -- roundtrip conversion
Thanks. I think either your and my understanding of roundtrip is flawed, or Unicode Services understands it differently, or I am missing something. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Tony Harminc Sent: Tuesday, June 12, 2012 12:02 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion On 12 June 2012 13:59, Charles Mills charl...@mcn.org wrote: Fair enough. Unicode services reports however that it supports roundtrip conversion in many of these cases, including for example, 37 to 850 (pretty basic ASCII). What does roundtrip conversion mean? That is my fundamental question. The CDRA Reference and Registry book (SC09-2190-00 - admittedly rather old...) says this about Round Trip Integrity (in a larger section on Criteria for Character Set Mismatch Management): The objective of this criterion is to send data from one system to another one that has different representations of character data, and retrieve it without loss. Often the do not convert choice is not available. For example, data stored in a System/370 database is configured to have all its graphic character data in one CCSID. If it acts as a remote repository for data from a PC application, or from an application in another System/370 using a different CCSID, the data must be converted to the configured CCSID. The data is intended to be retrieved by the same application without loss when it is converted back for use in its original CCSID. There's more, but I think the notion of Round Trip Integrity is clear enough. And having typed that in with the recollection that this book was not available online, I see that there is an updated version at http://www-01.ibm.com/software/globalization/cdra/ The bit I quoted is in chapter 6. Tony H. -- 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
Re: Anyone a Unicode Services expert? -- roundtrip conversion
FYI: A round-trip conversion works only in a two-tier homogenous environment where the data makes the complete round trip. For example, if you pass data from DB2 for Linux, UNIX, and Windows to DB2 for z/OS and then back to DB2 for Linux, UNIX, and Windows with a round-trip conversion, no data is lost. The data was converted back to its original format. However, if you have a more complicated environment, a round-trip conversion does not necessarily preserve data integrity. For example, if you pass data from DB2 for z/OS to DB2 for Linux, UNIX, and Windows and then to Linux on a Java client, two conversions have potentially occurred. Because the data was not converted back to its original format before the second conversion, data might have been lost even if round-trip conversions are used. Example: In ASCII CCSID 1252, the trademark symbol T is code point X'99'. In EBCDIC CCSID 37, this code point does not exist. During character conversion from ASCII CCSID 1252 to EBCDIC CCSID 37, the trademark symbol is converted to a control character, X'39'. If you use SPUFI to select the data, the data displays as the unprintable character that you specified in your emulator, which is generally a quotation mark () or a period (.). If you issue a SELECT HEX(column) statement, the data displays as X'39', which is the DEL control character. When the client uses a round-trip conversion to convert this character back to ASCII CCSID 1252, the trademark symbol is preserved as code point X'99'. Notice that this conversion is not lossless unless it is converted back to the original format. -- http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fco m.ibm.db2z9.doc.char%2Fsrc%2Ftpc%2Fdb2z_roundtripconversion.htm Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Anyone a Unicode Services expert? -- roundtrip conversion
They are saying that if you go from Linux to z/OS to Linux then '%' might become '?' and then back to '%'. (Those are just example characters -- don't take them literally.) But if you go from z/OS to Linux to Java then '?' might become '%' and then '!'. They are saying that round-trip does not mean you can just translate it twice and be back to the original character. You have to go round trip -- back to where (the CCSID?) you came from. It's not the clearest example. g Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Paul Gilmartin Sent: Tuesday, June 12, 2012 1:45 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion On Tue, 12 Jun 2012 12:59:13 -0700, Charles Mills wrote: A round-trip conversion works only in a two-tier homogenous environment where the data makes the complete round trip. For example, if you pass data from DB2 for Linux, UNIX, and Windows to DB2 for z/OS and then back to DB2 for Linux, UNIX, and Windows with a round-trip conversion, no data is lost. The data was converted back to its original format. However, if you have a more complicated environment, a round-trip conversion does not necessarily preserve data integrity. For example, if you pass data from DB2 for z/OS to DB2 for Linux, UNIX, and Windows and then to Linux on a Java client, two conversions have potentially occurred. Because the data was not converted back to its original format before the second conversion, data might have been lost even if round-trip conversions are used. ??? Errr... The composition of two (or more) bijective function is a bijective function. This can't violate data integrity. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: How many cost a cpu second?
I think you are not getting an answer -- actually as I recall you got several answers to this effect -- because the question is effectively how long is a piece of string? I use several LPARs for development. For various business reasons a CPU second costs me and my employer nothing. OTOH if you had a contract at a service bureau where you paid $5000 a month up to 20,000 CPU seconds and $20,000 thereafter, then you just saved $15,000 per month. If I improve my car's mileage from 20 to 30 miles per gallon how much money do I save? Well, it depends on how many miles I drive and how much I pay for gas. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Salva Carrasco Sent: Tuesday, June 12, 2012 2:13 PM To: IBM-MAIN@bama.ua.edu Subject: Re: How many cost a cpu second? Apart from the syntax error How many vs. How much, My question is not having much success. In other terms: If I have a STC consuming 25,000 cpus / secs per month, and I spend two days optimizing it to reduce to 15,000. Am I gaining money or loosing time ? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Anyone a Unicode Services expert? -- roundtrip conversion
I have opened a PMR. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Charles Mills Sent: Tuesday, June 12, 2012 12:50 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion Thanks. I think either your and my understanding of roundtrip is flawed, or Unicode Services understands it differently, or I am missing something. Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Anyone a Unicode Services expert? -- roundtrip conversion
Not sure what you mean. Here's the PMR: Problem Details . Product or Service: Support for Unicode Component ID: 5752SCUNI . Operating System: z/OS . Problem title Round trip conversion not working as expected . Problem description My understanding of round trip conversion is that every code point in the Source CCSID should convert to a unique code point in the Target CCSID (so that conversion in the reverse direction will restore the original code points). However, when I use CUNLCNV to convert between CCSIDs 1027 and 1208 I see more than one character converted to x'1A' (UTF8 SUB). Is round trip conversion working correctly? (Both the documentation and CUNLINFO report that 'R' is a supported conversion technique for these two CCSIDs.) Characters converted to X'1A' include 3F, 41, 6A, 80, 90, etc. Thank you for your consideration. . Business impact ( BusImpact ) Negatively impacting product design decisions. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Tony Harminc Sent: Tuesday, June 12, 2012 4:15 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion On 12 June 2012 18:55, Charles Mills charl...@mcn.org wrote: I have opened a PMR. For the doc, or the behaviour of the service? Or did you choose the let us decide for you option...? Tony H. -- 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
Re: How many cost a cpu second?
and I spend two days optimizing it What is your time worth? Are you an employee whose salary is already a sunk cost, or are you a $250/hour consultant? You don't have to answer that question, but my point is that the value of your time figures into the question Am I gaining money or loosing time ? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Joel C. Ewing Sent: Tuesday, June 12, 2012 6:43 PM To: IBM-MAIN@bama.ua.edu Subject: Re: How many cost a cpu second? Or, to expand on R.S.'s remarks, if your installation software charges are based on peak 4-hour MSU* average during the month and this application not only must run during the peak time but is sufficient to raise that peak, then your software license charges will go up for that month and there is a real dollar cost involved. On the other hand, if your installation is on peak 4-hour MSU billing and the application is easily scheduled for slack periods and does not contribute to the monthly peak, the CPU time used is essentially free. If you are not on peak 4-hour MSU billing and the application is scheduled to use otherwise idle CPU and I/O resources, then the physical costs are $0; but if it must be run during peak loads and contributes to forcing an earlier upgrade of hardware to handle that load, then hardware upgrade costs could be significant and should be at least partially attributed to that application. Another cost not mentioned is end-user waiting time. If cutting the resources required by the application significantly improves the turn around time to the end user, those improvements could be justified by improvements to end-user productivity, which could have other desirable side effects. JC Ewing *See other discussions on hardware-dependent relationship between CPU seconds and Millions of Service Units (MSU). On 06/12/2012 04:29 PM, Charles Mills wrote: I think you are not getting an answer -- actually as I recall you got several answers to this effect -- because the question is effectively how long is a piece of string? I use several LPARs for development. For various business reasons a CPU second costs me and my employer nothing. OTOH if you had a contract at a service bureau where you paid $5000 a month up to 20,000 CPU seconds and $20,000 thereafter, then you just saved $15,000 per month. If I improve my car's mileage from 20 to 30 miles per gallon how much money do I save? Well, it depends on how many miles I drive and how much I pay for gas. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Salva Carrasco Sent: Tuesday, June 12, 2012 2:13 PM To: IBM-MAIN@bama.ua.edu Subject: Re: How many cost a cpu second? Apart from the syntax error How many vs. How much, My question is not having much success. In other terms: If I have a STC consuming 25,000 cpus / secs per month, and I spend two days optimizing it to reduce to 15,000. Am I gaining money or loosing time ? ... -- Joel C. Ewing,Bentonville, AR jcew...@acm.org -- 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
Re: Anyone a Unicode Services expert? -- roundtrip conversion
1027 was a test case and the data is arbitrary. I think the point of round trip is supposed to be that *every* character is recoverable. A good write-up in of all places g the Glossary of the Z Unicode manual. Emphasis is mine. Round trip. Encoding that occurs when *every* code point in the source CCSID maps to a unique code point in the target CCSID. Using round trip tables ensure the capability of reversing the conversion, and recovering the complete original source datastream. I'm going to see what they say on the PMR. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Bill Godfrey Sent: Tuesday, June 12, 2012 7:12 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion Maybe it will turn out that round trip only applies to the characters that are defined in the Source CCSID (and I'm not sure if defined is the right word). When I look at a chart of CCSID 1027 here: ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP01027.p df I see that all of the characters that you see being being converted to X'1A' are either outside the chart (which starts at X'40') or have no identified value in the chart. If your data contains these unidentified characters, what is their purpose, and is it really appropriate to consider the data to be associated with CCSID 1027, or just something related to but not the same as CCSID 1027? Bill On Tue, 12 Jun 2012 16:42:02 -0700, Charles Mills wrote: Not sure what you mean. Here's the PMR: Problem Details . Product or Service: Support for Unicode Component ID: 5752SCUNI . Operating System: z/OS . Problem title Round trip conversion not working as expected . Problem description My understanding of round trip conversion is that every code point in the Source CCSID should convert to a unique code point in the Target CCSID (so that conversion in the reverse direction will restore the original code points). However, when I use CUNLCNV to convert between CCSIDs 1027 and 1208 I see more than one character converted to x'1A' (UTF8 SUB). Is round trip conversion working correctly? (Both the documentation and CUNLINFO report that 'R' is a supported conversion technique for these two CCSIDs.) Characters converted to X'1A' include 3F, 41, 6A, 80, 90, etc. Thank you for your consideration. . Business impact ( BusImpact ) Negatively impacting product design decisions. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Tony Harminc Sent: Tuesday, June 12, 2012 4:15 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Anyone a Unicode Services expert? -- roundtrip conversion On 12 June 2012 18:55, Charles Mills charl...@mcn.org wrote: I have opened a PMR. For the doc, or the behaviour of the service? Or did you choose the let us decide for you option...? Tony H. -- 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
Re: FYI LinKEdln passwords hacked
Amen! Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Gord Tomlin Sent: Friday, June 08, 2012 8:24 AM To: IBM-MAIN@bama.ua.edu Subject: Re: FYI LinKEdln passwords hacked On 2012-06-07 07:35, R.S. wrote: W dniu 2012-06-06 23:31, Ed Gould pisze: LinkedIn Users: Change Password Now Attackers appear to have obtained--and may have already decrypted--at least 6.5 million LinkedIn passwords. How is it related to IBM mainframes? Hint: Maybe some mainframers do use this portal, but mainframers also use VISA cards, hammers, watch football, wear panties (or not), etc. Granted, the post was off-topic to this list. Nonetheless, it was of much more practical value than reminiscences about devices that attached to S/360. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: JES/2 Proc SYSIN Concat Error??
ITYM 'A full implementation would allow not just allow the following but interpret it in a bizarre fashion, but would handle it in a rational manner.' Amen! Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Shmuel Metz (Seymour J.) Sent: Thursday, June 07, 2012 7:01 AM To: IBM-MAIN@bama.ua.edu Subject: Re: JES/2 Proc SYSIN Concat Error?? In 029601cd4400$477d3890$d677a9b0$@mcn.org, on 06/06/2012 at 09:20 AM, Charles Mills charl...@mcn.org said: //REFFING DD DDNAME=REFFED that REFFED could be any valid DD statement. It can, but the results are not what you want. But it appears that what they are saying is that the following will not work: //REFFING DD DDNAME=REFFED ... //UNRELATE DD DSN=dsname.zero,... //REFFED DD DSN=dsname.one,... // DD DSN=dsname.two,... // DD etc. It will work as documented; that is, allocate REFFING to dsname.one, swallow up REFFED and leave the two DD statements with blank names alone. The way it is documented, IMHO, is broken as designed. Think about it. A full implementation would allow the following. ITYM 'A full implementation would allow not just allow the following but interpret it in a bizarre fashion, but would handle it in a rational manner.' -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: trouble writing member to PDS/E in C/++
Obviously not much detail in your question but I do it all the time. Note the single quotes on the dataset name. fopen('FOO.BAR(MEMBER)', %c, blksize=0, lrecl=%d, recfm=%s,space=(%s,(%d,%d,%d)), noseek) should work, where the substitution values into the second parameter are 'a' or 'w' plus the obvious. Charles From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Ondruška Peter Sent: Thursday, June 07, 2012 1:56 AM To: IBM-MAIN@bama.ua.edu Subject: trouble writing member to PDS/E in C/++ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: JES/2 Proc SYSIN Concat Error??
Does this imply that I can't code two separate DD statements, each containing the DDNAME=... option in the same PROC, where they refer to separate concatenations, respectively? Not sure that I read that into it, although it certainly is possible User Response: If the DDNAME reference was intended to refer to the entire concatenation, move the concatenated DDs to follow the referencing DD rather than the referenced DD. This will ensure that the You would expect that given //REFFING DD DDNAME=REFFED that REFFED could be any valid DD statement. But it appears that what they are saying is that the following will not work: //REFFING DD DDNAME=REFFED ... //UNRELATE DD DSN=dsname.zero,... //REFFED DD DSN=dsname.one,... // DD DSN=dsname.two,... // DD etc. I think it fails the least astonishment test, particularly in that dsname.two will end up getting concatenated to //UNRELATE DD. I could see someone spending hours debugging some S0C5 or 6 from invalid input because of a totally inappropriate input file. I think they are saying that only the following will work. It's arguably less useful; it's certainly less useful than either/or. // DD DSN=some.other.dsn or similar ... // DD etc ... //REFFED DD DSN=dsname.one,... I can certainly understand the design issues in doing it right, given implementation in assembler originally for a 44K region. Think about it. A full implementation would allow the following. This is certainly a handful! //REFFING DD DDNAME=REFFED1 //DD DDNAME=REFFED2 ... //REFFED1 DD DSN=dsname.one,... // DD DSN=dsname.two,... // DD etc. ... //REFFED2 DD DSN=dsname.three,... // DD DSN=dsname.four,... Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Paul Gilmartin Sent: Wednesday, June 06, 2012 8:12 AM To: IBM-MAIN@bama.ua.edu Subject: Re: JES/2 Proc SYSIN Concat Error?? On Tue, 5 Jun 2012 13:59:25 -0700, Lizette Koehler stars...@mindspring.com wrote: IEF694I DDNAME REFERENCE TO DD CONCATENATION REFERS ONLY TO FIRST DD Explanation: THE JCL DDNAME keyword has been used to refer to a DD concatenation. When the object of a DDNAME reference is a concatenation of multiple DDs, only the first DD in the concatenation is actually referenced. System Action: The system issues message IEF677I and continues processing the job. The first DD in the referenced concatenation is associated with the referencing DD. The remaining (unlabeled) DDs in the referenced concatenation are concatenated to the labeled DD immediately preceding the concatenation. User Response: If the DDNAME reference was intended to refer to the entire concatenation, move the concatenated DDs to follow the referencing DD rather than the referenced DD. This will ensure that the concatenation is correctly defined to the system. Was this truly the intent of the design, or did it just happen to work that way, so they documented it as a feature? Does this imply that I can't code two separate DD statements, each containing the DDNAME=... option in the same PROC, where they refer to separate concatenations, respectively? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: LE COBOL odd behavior
I don't know what the cause is but I know that sometimes I see output when I do an S on a running job or STC and sometimes I do not (even though the output has in fact been written). Not sometimes as in today versus yesterday but sometimes as in one system or situation versus another over some extended period of time. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Scott Ford Sent: Wednesday, June 06, 2012 7:04 AM To: IBM-MAIN@bama.ua.edu Subject: Re: LE COBOL odd behavior John, I fixed it, but the fix was odd, I added a //sysout dd sysout=* It now works -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: JES/2 Proc SYSIN Concat Error??
If I change the proc so that SYSUT1 is last statement, everything works fine I think it's a coincidence (more or less) that it works. The orphan DD's get concatenated to the previous DD, which just happens to be SYSUT1 in this case. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Shmuel Metz (Seymour J.) Sent: Tuesday, June 05, 2012 7:12 PM To: IBM-MAIN@bama.ua.edu Subject: Re: JES/2 Proc SYSIN Concat Error?? In of4c5d492a.3aca1a06-on86257a14.0070c48f-86257a14.00717...@ameritas.com, on 06/05/2012 at 03:39 PM, Chip Grantham cgrant...@ameritas.com said: Subject: JES/2 Proc SYSIN Concat Error?? It has nothing to do with JES2. I only receive the DD * data in SYSUT2, not the copied ISCLG.JCL(SHOWIT) proc. That's the way DDNAME= has always worked; you cannot forward reference a concatenation. If I change the proc so that SYSUT1 is last statement, everything works fine Are you a betting man? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Is there an Enterprise COBOL API to detect SOURCE-COMPUTER WITH DEBUGGING on or off at runtime?
Could you have a switch that was set to 'X' by default but to 'Y' by a debugging statement, and then your if not debugging test is switch NE 'Y'. Do we really need to care about CPU cycles for a debugging IF? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of McKown, John Sent: Monday, June 04, 2012 11:14 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Is there an Enterprise COBOL API to detect SOURCE-COMPUTER WITH DEBUGGING on or off at runtime? Hum, I just thought of one reason why you might want to do this. That is if you want to __NOT__ do something if debugging is OFF. In HLASM, I use AIF, but I can do a NE test. In COBOL, there is not a character in column 7 to indicate do not compile if debugging is OFF. I did think of a __terrible__ way to abuse the compiler, however. The line(s) you do NOT want to compile with DEBUGGING OFF need to have a GO TO statement immediately BEFORE them with a D in column 7. And the target be a CONTINUE with the label immediately AFTER them with a D in column 7. So that the GO TO will be compiled if DEBUGGING ON is specified. What this does is branch around the code to be ignored when DEBUGGING is OFF. The compiler will detect this condition, warn you that LINES ... THROUGH ... cannot be executed and then not even bother to insert any object code for that code. Ugly, but more CPU efficient than an actual IF. One problem is that this terminates the paragraph by introducing a new! LABEL. This would mean you'd likely need to do an out-of-oine PERFORM para1 THRU para1-EXIT for this sort of thing, just to be very safe. An example of this might be if you want to DISPLAY 'COMPILED WITH DEBUGGING OFF' UPON SYSOUT if DEBUGGING is OFF. Perhaps like: DDISPLAY 'COMPILED WITH DEBUGGING ON' UPON SYSOUT. DGOTO DBUG-1. DISPLAY 'COMPILED WITH DEBUGGING OFF' UPON SYSOUT. DDBUG-1. CONTINUE. I got the expected message: ==78== IGYOP3091-W Code from DISPLAY (line 78.01) to CONTINUE (line 81.01) can never be executed and was therefore discarded. But only if I used the OPTIMIZE compile parm. If I left it out, the code would compile. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Is there an Enterprise COBOL API to detect SOURCE-COMPUTER WITH DEBUGGING on or off at runtime?
Takes a lot of IF statements to equal one MSU. Does not take a heck of a lot of programmer time to equal $13,000. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of McKown, John Sent: Monday, June 04, 2012 1:05 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Is there an Enterprise COBOL API to detect SOURCE-COMPUTER WITH DEBUGGING on or off at runtime? Most probably do not care. We do. You'd be amazed at the things we do to reduce our MSU requirements. Programmers are a fixed cost. From what I've been told, if we could reduce our Group Capacity by 1 MSU, we would save $13,000/yr, in hard dollars. So we would spend many soft dollars to do this. I'd best say no more. -- 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 Charles Mills Sent: Monday, June 04, 2012 2:54 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Is there an Enterprise COBOL API to detect SOURCE-COMPUTER WITH DEBUGGING on or off at runtime? Could you have a switch that was set to 'X' by default but to 'Y' by a debugging statement, and then your if not debugging test is switch NE 'Y'. Do we really need to care about CPU cycles for a debugging IF? Charles -- 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
Re: Is there an Enterprise COBOL API to detect SOURCE-COMPUTER WITH DEBUGGING on or off at runtime?
I hear you. Keep the faith. Good luck. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of McKown, John Sent: Monday, June 04, 2012 2:11 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Is there an Enterprise COBOL API to detect SOURCE-COMPUTER WITH DEBUGGING on or off at runtime? $13,000 in soft dollars is infinitely more than $13,000 in hard dollars. And the takes a lot of IF statements to make one MSU is true. And we execute a LOT of IF statements, when aggregated across all executions of all programs in a year. In theory, I agree with you. In a shop which is more normal than ours, it would be stupid. In our shop, it not only is as directed, it shows a commitment to frugality mindset. Which impresses management. Kind of like goes the extra mile. More political than technical. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: SMF log stream access
System exits IEFU83, IEFU84, and IEFU85. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Miklos Szigetvari Sent: Friday, June 01, 2012 5:48 AM To: IBM-MAIN@bama.ua.edu Subject: SMF log stream access Hi Any fast way to access the SMF log stream ? Intend to collect, in the SMF log stream, the performance records (30,14,15) for the actual day. Have an assembler program to browse the log stream from the required date/time, but it is still very slow Tried with dump(IFASMFDL) and with SUBSYS=(LOGR) JCL , but seems to me, it is not a very fast method. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Cell pool questions
The intent is the CPOOL is not used with the term cell pool services Somebody forgot to tell the tech writers: Chapter 31. CPOOL - Perform Cell Pool Services :-) And yes, the total count of free+in-use can be gotten via CPOOL LIST and doing whatever additions you choose to do. Thanks, Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Peter Relson Sent: Thursday, May 31, 2012 4:28 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Cell pool questions The intent is the CPOOL is not used with the term cell pool services, and the CSRCPxxx be the only use of that term. Have we screwed that up? Wouldn't surprise me. Counts related to in-use are not maintained because that would compromise the performance of the service. And yes, the total count of free+in-use can be gotten via CPOOL LIST and doing whatever additions you choose to do. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: What is a PC Call?
Great stuff Chris, thank you! The problem I have had with a lot of things like this is that the PoOp describes the hardware in a vacuum, as though z/OS did not exist. (As it probably should.) It is also non-judgmental -- never says this instruction is basically an antique, or is likely to get you into trouble -- use this other one instead. Then the z/OS manuals describe things using z/OS terminology, and it is hard to pull the whole big picture together: you can use this hardware facility thusly in the z/OS environment. There is some whole addressing mode as I recall that the PoOp spends a bunch of time on but that z/OS does not support, so it is basically useless unless you are running (or writing!) some OS other than z/OS. This presentation is great! Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Blaicher, Christopher Y. Sent: Thursday, May 31, 2012 9:11 AM To: IBM-MAIN@bama.ua.edu Subject: Re: What is a PC Call? Do a google search on 'PC for dummies MVS' and you should get a link to www.kcats.org/csci/567/ho/pcrtn.pdf This is a great starting point. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Cell pool questions
Thanks all! Appears to return the expected results: MODIFY command accepted Size of Record Cell Pool is 15 cells MODIFY processing completed Formula is static const int CPOOLworkExtentNum = 3;// number of extents in word 3 count = QueueSize + ((cpoolWork[CPOOLworkExtentNum]-1) * QueueIncrement); Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Peter Relson Sent: Thursday, May 31, 2012 4:28 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Cell pool questions The intent is the CPOOL is not used with the term cell pool services, and the CSRCPxxx be the only use of that term. Have we screwed that up? Wouldn't surprise me. Counts related to in-use are not maintained because that would compromise the performance of the service. And yes, the total count of free+in-use can be gotten via CPOOL LIST and doing whatever additions you choose to do. Peter Relson z/OS Core Technology Design -- 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
Cell pool questions
1. Can I mix CPOOL and CSRP calls on the same cell pool? Could one for example use CPOOL GET for performance, and CSRPQPL to obtain statistics that are not available through CPOOL? I already have working CPOOL macro code, but I would like to get the CSRQPL statistics. Can I do so without having to re-write my working CPOOL macro code? 2. Assuming the answer to (1.) is Yes, what CSRPQPL calls anchor_addr -- is that the same datum that CPOOL calls pool id? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Cell pool questions
Jim, thanks. Wow, I totally did not get that. I saw it as two different APIs to the same core service, like the C and assembler APIs to TCP/IP. Not sure if it is just me, but you might want to make that clearer in the documentation, seeing as both are called Cell Pool Services. I almost did not bother to ask question (1.) as it seemed so obvious that the answer was Yes. Okay, moving right along ... re-formulating the question: Is there any way to determine the number of cells in a CPOOL cell pool? I have a cell pool with a primary and a secondary count. It occurs to me that if, for example, I had a bug in which one time in ten I failed to return a cell to the pool, that I would have no indication of a problem until I got an SC78 abend, which might take quite a while. I am kind of inferring that I could do a LIST and get the number of extents from work area Word 3 (possibly iteratively based on Word 1), from which I guess I could determine the pool size as primary + (secondary * (extents - 1)). Is that correct? Or is there not a one-to-one between pool expansions and extents? Is there a better way? Actually, I now see that that method won't work very well because I have no way of making sure that there would be no intervening GET requests. The GET requests come from asynchronous processes which the main task has no ability to pause. I guess I could just make sure the work area was large enough to get all of the extents in a single call? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Jim Mulder Sent: Wednesday, May 30, 2012 12:23 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Cell pool questions 1. Can I mix CPOOL and CSRP calls on the same cell pool? Could one for example use CPOOL GET for performance, and CSRPQPL to obtain statistics that are not available through CPOOL? I already have working CPOOL macro code, but I would like to get the CSRQPL statistics. Can I do so without having to re-write my working CPOOL macro code? 2. Assuming the answer to (1.) is Yes, what CSRPQPL calls anchor_addr -- is that the same datum that CPOOL calls pool id? No, CPOOL and CSRP are completely different services, which have no relation to each other. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Cell pool questions
Thanks! I'm trying to catch potential problems, not create complexity! :-) Would not have to front-end the macro -- I do all the GETs and FREEs in a subroutine. I could do it there. Would need to use CS as there are lots of processes doing the GETs plus one doing the FREEs. I could increment the GET count with CS and decrement the free count just with normal arithmetic. Subtract free count from get count, and if the result is wildly negative, add 2 billion. (Might not be quite right. I would have to think it through.) Actually, cells in use is not the number I really want, although it would certainly point to a problem if it were much larger than events in queue. The number I really want is cells allocated (cells in use + free cells). I don't want to add a whole lot of complexity just to keep an eye out for a potential problem. I will probably just sit tight if there is not something better than the LIST solution I proposed below. Want to hear what Jim has to say on that, especially whether my formula will work, or whether expansions are not 1:1 with extents. If not, I suppose that sum( (extent_end - extent_start) / cell_length ) should work. Perhaps the formula needs tweaking for non-cell overhead. Am I the only one who finds the incompatibility between CPOOL and callable not as clear as it could be? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Rob Scott Sent: Wednesday, May 30, 2012 2:36 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Cell pool questions Charles You could solve this requirement using a code solution - for example : (1) Design a common structure for a cell pool identifier - something that includes the cell pool id and some double-word count fields for GET and FREE operations (2) Build a macro to front-end the CPOOL GET and CPOOL FREE services (eg #CPOOL GET and #CPOOL FREE) that take a pointer to the structure in (1) as a parameter (3) Inside the macro, issue the real CPOOL GETs and FREEs - however you can now maintain the GET and FREE count fields using CSG (4) Write your own service to list/dump the contents of the structures in (1) for diagnostic purposes Obviously the above is simplistic and you could get into a more elegant solution depending on the environment that you are working in. If the program is running in a server, then perhaps you could consider a separate TCB acting as a storage manager (SM) and all other TCBs having some sort of API to GET and FREE cells from within defined pools. If so, the SM TCB could use callable cell pool services to manage the pools and the APIs could just manage your own free cell queue(s). The big advantage of callable cell pool services is the ability to contract the pools if required. Rob Scott Lead Developer Rocket Software 77 Fourth Avenue . Suite 100 . Waltham . MA 02451-1468 . USA Tel: +1.781.684.2305 Email: rsc...@rs.com Web: www.rocketsoftware.com -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Charles Mills Sent: 30 May 2012 21:09 To: IBM-MAIN@bama.ua.edu Subject: Re: Cell pool questions Jim, thanks. Wow, I totally did not get that. I saw it as two different APIs to the same core service, like the C and assembler APIs to TCP/IP. Not sure if it is just me, but you might want to make that clearer in the documentation, seeing as both are called Cell Pool Services. I almost did not bother to ask question (1.) as it seemed so obvious that the answer was Yes. Okay, moving right along ... re-formulating the question: Is there any way to determine the number of cells in a CPOOL cell pool? I have a cell pool with a primary and a secondary count. It occurs to me that if, for example, I had a bug in which one time in ten I failed to return a cell to the pool, that I would have no indication of a problem until I got an SC78 abend, which might take quite a while. I am kind of inferring that I could do a LIST and get the number of extents from work area Word 3 (possibly iteratively based on Word 1), from which I guess I could determine the pool size as primary + (secondary * (extents - 1)). Is that correct? Or is there not a one-to-one between pool expansions and extents? Is there a better way? Actually, I now see that that method won't work very well because I have no way of making sure that there would be no intervening GET requests. The GET requests come from asynchronous processes which the main task has no ability to pause. I guess I could just make sure the work area was large enough to get all of the extents in a single call? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Snap dump question
Aw John, don't be grumpy. By obtuse I just meant you merely alluded to the solution, you didn't explicitly say if you really coded LECL you need to correct it to LRECL. No harm intended. Sorry for the offense. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of John Gilmore Sent: Friday, May 25, 2012 5:47 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Snap dump question Charles Mills writes begin extract DBB LECL will almost certainly not assemble (as John G. was pointing out, a bit obtusely). Should be LRECL /end extract Equally, 'DBB' should of course be 'DCB'. My point--serendipitously well illustrated by what you typed--was that, since the OP obviously knows that 'LECL'. should be 'LRECL', there was a strong possibility that his typo was a transcription error, defective in his post but not in his code. In reviewing the language I used to make this point I find no basis for the notion that it is obtuse -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Snap dump question
DBB LECL will almost certainly not assemble (as John G. was pointing out, a bit obtusely). Should be LRECL. A DSECT is just a name for the variables presumably (the assembler trusts you) pointed to by some register. (There are additional forms of USING but let's not go there now.) If I say USING MYDSECT,R5 and dump MYDSECT, John says USING HISDSECT,R5 and dumps HISDSECT, and you just dump whatever R5 points to, we are all going to get the same output. It does not matter whether my DSECT is a bunch of halfwords, John's is a bunch of doublewords, and the storage in question is actually a bunch of bit fields. Dropping back from the dump question to DSECTs in general, if I say MYDSECT DSECT FOO DSF'0' BAR DS F'0' ... USING MYDSECT,R5 L R1,BAR the only thing I have accomplished is a (theoretically) more readable version of L R1,4(,R5) A DSECT is not really there -- it is just a story you have told the assembler about what you claim is there. If R5 is pointing out in the weeds then L R1,BAR is going to blow up exactly the same as L R1,4(,R5). Neither the assembler nor any sort of runtime validates USING MYDSECT,R5 (beyond the syntax). The L R1,BAR above will always assemble cleanly, even if the preceding instruction is L R5,=F'-1', which is obviously going to produce a S0C4 then at runtime. Perhaps you already knew that. Perhaps the S0C4 is unrelated to DSECTs. I have not used SNAP in about fifty years (literally). I don't think PDATA=ALL should be dependent on DSECTs or anything else -- it should just dump all of your program storage. No amount of erroneous DSECT definitions should matter one iota. Or are you also using SNAP LIST= ? I am not certain if LIST=(MYDSECT+X'8000',MYDSECT+100) would assemble but it will not work at run time -- an address constant in memory will NEVER assemble pointing to a DSECT because a DSECT is just a story you have told the assembler about a register, not storage that exists at assembly time -- and might well S0C4, I don't know. Do you really need TCB? If the SNAP is for your basic program storage then TCB is just adding to the confusion. How do you set R5? Is the DCB in 24-bit storage? On what instruction is the S0C4? Your hand-coded assembler? Inside a macro expansion? Out in SNAP magic land? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Scott Ford Sent: Friday, May 25, 2012 12:33 PM To: IBM-MAIN@bama.ua.edu Subject: Snap dump question All: I have a program that uses a dsect...filling in fields and then calls an external program. I am doing a RACF extract through IRRSEQ00.. OPEN (SNAPOUT,OUTPUT) LA R3,SNAPOUT SNAP DCB=(3),TCB=(5),PDATA=ALL CLOSE SNAPOUT L R15,=V(IRRSEQ00) BALR R14,R15 ** dcb ** SNAPOUT DCB DDNAME=SNAPOT,DSORG=PS,MACRF=(W),RECFM=VBA,LECL=125 I want to see the the contents of the dsect prior to the call, I am experiencing the dreaded S0C4-11 When I execute the above code the SNAPOUT contents shows nada.. can anyone shed some light on my mistake, yes I am admiting I make mistakes :( Regards, Scott J Ford Software Engineer http://www.identityforge.com -- 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
Re: Snap dump question
DBB LECL will almost certainly not assemble (as John G. was pointing out, a bit obtusely). Should be LRECL. I meant DCB LECL and LRECL, obviously. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Charles Mills Sent: Friday, May 25, 2012 3:28 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Snap dump question DBB LECL will almost certainly not assemble (as John G. was pointing out, a bit obtusely). Should be LRECL. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Comparing datasets
Very cool! Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Sri h Kolusu Sent: Thursday, May 24, 2012 8:35 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Comparing datasets Zaromil, You can use DFSORT's JOINKEYS to compare the datasets. Here is a sample job which will compare the 2 datasets treating the first 2 bytes as a key to compare. You can have a maximum of 4080 bytes as a key. //STEP0100 EXEC PGM=SORT //SYSOUT DD SYSOUT=* //INA DD * C1 B1 A1 E1 //INB DD * A1 B1 C1 D1 //SORTOUT DD SYSOUT=* //SYSINDD * OPTION COPY JOINKEYS F1=INA,FIELDS=(1,2,A) JOINKEYS F2=INB,FIELDS=(1,2,A) JOIN UNPAIRED REFORMAT FIELDS=(F1:1,10,F2:1,10,?) OUTFIL IFOUTLEN=25, IFTHEN=(WHEN=(21,1,CH,EQ,C'B'),BUILD=(01,10,C'MATCHED RECORD')), IFTHEN=(WHEN=(21,1,CH,EQ,C'1'),BUILD=(01,10,C'ONLY FILE1 REC')), IFTHEN=(WHEN=(21,1,CH,EQ,C'2'),BUILD=(11,10,C'ONLY FILE2 REC')) //* The output from this job is A1MATCHED RECORD B1MATCHED RECORD C1MATCHED RECORD D1ONLY FILE2 REC E1ONLY FILE1 REC Check this link for a detailed explanation of JOINKEYS http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ICE1CA60/4.0? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Unicode Services translation question
I don't understand what I am seeing from Unicode Services translation. I specify translation from 1047 (Encoding scheme 1100 - EBCDIC, SBCS; Name LATIN 1 / OPEN SYSTEM) to 1252 (Encoding scheme 4105 - ASCII, SBCS; Name MS-WIN LATIN-1). As both CCSIDs are SBCS I would expect that any common EBCDIC character would get translated into a single ASCII byte. But for an input byte of X'B0' (logical not in 1047) I am seeing translation to the 2-byte sequence C2AC. AC is by my reading correct: it's 1252 logical not. But what the heck is that C2 about (C2 is A with an acute accent in 1252). FWIW technique E, substitution 1A. Where am I confused? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Unicode Services translation question
Are you sure that you are translating to 1252? Mighty sure. Could I be confused? Of course. But it looks rock solid to me. I have a lot of display facilities in the code and everything looks right (except the output). Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Kirk Wolf Sent: Wednesday, May 23, 2012 8:37 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Unicode Services translation question Charles, x'C2AC' is the logical not symbol in UTF-8. Are you sure that you are translating to 1252? When I display the translate table for 1047-1252 using Unicode Services, it appears to be single bye - single byte: Here is a dump using the showtrtab command (part of the free Co:Z Toolkit) - *showtrtab -s 1047 -t 1252* 00: 00 01 02 03 1A 09 1A 7F 1A 8D 8E 0B 0C 0D 0E 0F 10: 10 11 12 13 9D 0A 08 1A 18 19 1A 8F 1C 1D 1E 1F 20: 80 81 1A 1A 1A 1A 17 1B 1A 1A 1A 1A 1A 05 06 07 30: 90 1A 16 1A 1A 1A 1A 04 1A 1A 1A 1A 14 15 9E 1A 40: 20 A0 E2 E4 E0 E1 E3 E5 E7 F1 A2 2E 3C 28 2B 7C 50: 26 E9 EA EB E8 ED EE EF EC DF 21 24 2A 29 3B 5E 60: 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 A6 2C 25 5F 3E 3F 70: F8 C9 CA CB C8 CD CE CF CC 60 3A 23 40 27 3D 22 80: D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 90: B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4 A0: B5 7E 73 74 75 76 77 78 79 7A A1 BF D0 5B DE AE B0: AC A3 A5 B7 A9 A7 B6 BC BD BE DD A8 AF 5D B4 D7 C0: 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5 D0: 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF E0: 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5 F0: 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 1A Kirk Wolf Dovetailed Technologies http://dovetail.com FWIW: here is how showtrtab displays a one-many table: *showtrtab -s 1047 -t utf-8* 00: 00 01: 01 02: 02 03: 03 04: C29C 05: 09 06: C286 07: 7F 08: C297 09: C28D 0A: C28E 0B: 0B 0C: 0C ... AA: C2A1 AB: C2BF AC: C390 AD: 5B AE: C39E AF: C2AE B0: C2AC B1: C2A3 B2: C2A5 B3: C2B7 B4: C2A9 B5: C2A7 B6: C2B6 B7: C2BC B8: C2BD B9: C2BE BA: C39D BB: C2A8 BC: C2AF BD: 5D BE: C2B4 BF: C397 ... Notice that B0 in 1047 translates to C2AC in UTF-8 On Wed, May 23, 2012 at 8:43 AM, Charles Mills charl...@mcn.org wrote: I don't understand what I am seeing from Unicode Services translation. I specify translation from 1047 (Encoding scheme 1100 - EBCDIC, SBCS; Name LATIN 1 / OPEN SYSTEM) to 1252 (Encoding scheme 4105 - ASCII, SBCS; Name MS-WIN LATIN-1). As both CCSIDs are SBCS I would expect that any common EBCDIC character would get translated into a single ASCII byte. But for an input byte of X'B0' (logical not in 1047) I am seeing translation to the 2-byte sequence C2AC. AC is by my reading correct: it's 1252 logical not. But what the heck is that C2 about (C2 is A with an acute accent in 1252). FWIW technique E, substitution 1A. Where am I confused? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Unicode Services translation question
Does it work as you expected for other characters in 1047 whose equivalent in 1252 have values above x7F? I just put in a broken vertical bar (EBCDIC 6A) and it translated (allegedly into 1252) as C2A6 rather than the expected A6. Where are you going with this? You obviously have something in mind. FWIW, here is more detail on the coding. Here is more of the setup: UniConvParms.Src_CCSID= Parms::XlateFrom; UniConvParms.Targ_CCSID = Parms::XlateTo; UniConvParms.Flag1.Sub_Action = '\x01';// Subsitute and continue UniConvParms.Flag1.Inv_Handle = '\x01';// if invalid handle get a new one UniConvParms.Flag1.No_Opt_Buf_Fill = '\x01';// ??? UniConvParms.Flag1.Mal_Action = '\x01';// if malformed terminate with error UniConvParms.Flag1.RL_Sub_Action = '\x01';// ??? CUNLCNV(UniConvParms); I am pretty confident of the values of Parms::XlateFrom and To because I have code that displays those same fields displayChildren(XLATE, (%05d %05d '%s'), XlateFrom, XlateTo, XlateTechniques); (it's in the Parms class so the Parms:: is implicit) and the output is XLATE (01047 01252 'LMER') Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Walt Farrell Sent: Wednesday, May 23, 2012 10:19 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Unicode Services translation question Does it work as you expected for other characters in 1047 whose equivalent in 1252 have values above x7F? Or is the not sign the only one that's mis-behaving? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Unicode Services translation question
Thanks. Could there be something wrong with how your Unicode Services tables are configured? Sure, but I try to avoid blame the compiler and blame the operating system for as long as possible! I want to see where Walt was going with the 7F question. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Kirk Wolf Sent: Wednesday, May 23, 2012 1:39 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Unicode Services translation question Charles, I'm not sure what the problem is, but 1252 is a single byte charset, so it seems wrong that you are getting multi-byte results. I don't see any difference in how you are calling CUNLCNV I tried our code with your technique string (we default to LMREC) : *showtrtab -s 1047 -t 1252 -q LMER * 00: 00 01 02 03 1A 09 1A 7F 1A 8D 8E 0B 0C 0D 0E 0F 10: 10 11 12 13 9D 0A 08 1A 18 19 1A 8F 1C 1D 1E 1F 20: 80 81 1A 1A 1A 1A 17 1B 1A 1A 1A 1A 1A 05 06 07 30: 90 1A 16 1A 1A 1A 1A 04 1A 1A 1A 1A 14 15 9E 1A 40: 20 A0 E2 E4 E0 E1 E3 E5 E7 F1 A2 2E 3C 28 2B 7C 50: 26 E9 EA EB E8 ED EE EF EC DF 21 24 2A 29 3B 5E 60: 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 A6 2C 25 5F 3E 3F 70: F8 C9 CA CB C8 CD CE CF CC 60 3A 23 40 27 3D 22 80: D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 90: B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4 A0: B5 7E 73 74 75 76 77 78 79 7A A1 BF D0 5B DE AE B0: AC A3 A5 B7 A9 A7 B6 BC BD BE DD A8 AF 5D B4 D7 C0: 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5 D0: 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF E0: 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5 F0: 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 1A Could there be something wrong with how your Unicode Services tables are configured? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Unicode Services translation question
Here is what showtrtab shows (pretty much as expected: 6A-A6 and B0 - AC). $ ./showtrtab -s 1047 -t 1252 00: 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F 10: 10 11 12 13 9D 0A 08 87 18 19 92 8F 1C 1D 1E 1F 20: 80 81 82 83 84 85 17 1B 88 89 8A 8B 8C 05 06 07 30: 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A 40: 20 A0 E2 E4 E0 E1 E3 E5 E7 F1 A2 2E 3C 28 2B 7C 50: 26 E9 EA EB E8 ED EE EF EC DF 21 24 2A 29 3B 5E 60: 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 A6 2C 25 5F 3E 3F 70: F8 C9 CA CB C8 CD CE CF CC 60 3A 23 40 27 3D 22 80: D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 90: B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4 A0: B5 7E 73 74 75 76 77 78 79 7A A1 BF D0 5B DE AE B0: AC A3 A5 B7 A9 A7 B6 BC BD BE DD A8 AF 5D B4 D7 C0: 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5 D0: 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF E0: 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5 F0: 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Charles Mills Sent: Wednesday, May 23, 2012 1:47 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Unicode Services translation question Thanks. Could there be something wrong with how your Unicode Services tables are configured? Sure, but I try to avoid blame the compiler and blame the operating system for as long as possible! I want to see where Walt was going with the 7F question. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Kirk Wolf Sent: Wednesday, May 23, 2012 1:39 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Unicode Services translation question Charles, I'm not sure what the problem is, but 1252 is a single byte charset, so it seems wrong that you are getting multi-byte results. I don't see any difference in how you are calling CUNLCNV I tried our code with your technique string (we default to LMREC) : *showtrtab -s 1047 -t 1252 -q LMER * 00: 00 01 02 03 1A 09 1A 7F 1A 8D 8E 0B 0C 0D 0E 0F 10: 10 11 12 13 9D 0A 08 1A 18 19 1A 8F 1C 1D 1E 1F 20: 80 81 1A 1A 1A 1A 17 1B 1A 1A 1A 1A 1A 05 06 07 30: 90 1A 16 1A 1A 1A 1A 04 1A 1A 1A 1A 14 15 9E 1A 40: 20 A0 E2 E4 E0 E1 E3 E5 E7 F1 A2 2E 3C 28 2B 7C 50: 26 E9 EA EB E8 ED EE EF EC DF 21 24 2A 29 3B 5E 60: 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 A6 2C 25 5F 3E 3F 70: F8 C9 CA CB C8 CD CE CF CC 60 3A 23 40 27 3D 22 80: D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 90: B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4 A0: B5 7E 73 74 75 76 77 78 79 7A A1 BF D0 5B DE AE B0: AC A3 A5 B7 A9 A7 B6 BC BD BE DD A8 AF 5D B4 D7 C0: 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5 D0: 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF E0: 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5 F0: 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 1A Could there be something wrong with how your Unicode Services tables are configured? -- 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
Re: Unicode Services translation question
I *think* I understand the problem. I am going to have to revisit the documentation and then the code. When I *re*-parametize the service with a different CCSID it is not taking. I have a handle or something that is not getting re-initialized. I just started the program over with 01047/01252 and I get the results expected: 6A is going to A6 and B0 is going to AC. In earlier tests I had been starting with 01047/01208 and then re-configuring the STC. I am calling CUNLINFO and CUNLCNV with parms that look right but it is using the original values from the first CUNLINFO call, not the current call. The above is not a very clear exposition. It has been a year or more since I wrote this code. I am going to have to re-visit the documentation for Unicode Services. Thanks everyone for your help, especially Kirk. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Charles Mills Sent: Wednesday, May 23, 2012 1:47 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Unicode Services translation question Thanks. Could there be something wrong with how your Unicode Services tables are configured? Sure, but I try to avoid blame the compiler and blame the operating system for as long as possible! I want to see where Walt was going with the 7F question. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Kirk Wolf Sent: Wednesday, May 23, 2012 1:39 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Unicode Services translation question Charles, I'm not sure what the problem is, but 1252 is a single byte charset, so it seems wrong that you are getting multi-byte results. I don't see any difference in how you are calling CUNLCNV I tried our code with your technique string (we default to LMREC) : *showtrtab -s 1047 -t 1252 -q LMER * 00: 00 01 02 03 1A 09 1A 7F 1A 8D 8E 0B 0C 0D 0E 0F 10: 10 11 12 13 9D 0A 08 1A 18 19 1A 8F 1C 1D 1E 1F 20: 80 81 1A 1A 1A 1A 17 1B 1A 1A 1A 1A 1A 05 06 07 30: 90 1A 16 1A 1A 1A 1A 04 1A 1A 1A 1A 14 15 9E 1A 40: 20 A0 E2 E4 E0 E1 E3 E5 E7 F1 A2 2E 3C 28 2B 7C 50: 26 E9 EA EB E8 ED EE EF EC DF 21 24 2A 29 3B 5E 60: 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 A6 2C 25 5F 3E 3F 70: F8 C9 CA CB C8 CD CE CF CC 60 3A 23 40 27 3D 22 80: D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 90: B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4 A0: B5 7E 73 74 75 76 77 78 79 7A A1 BF D0 5B DE AE B0: AC A3 A5 B7 A9 A7 B6 BC BD BE DD A8 AF 5D B4 D7 C0: 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5 D0: 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF E0: 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5 F0: 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 1A Could there be something wrong with how your Unicode Services tables are configured? -- 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
Re: D SMF,O -- what do DEFAULT, PARMLIB and SYS mean?
Awesome, Peter, thank you. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Peter Relson Sent: Sunday, May 20, 2012 10:31 PM To: IBM-MAIN@bama.ua.edu Subject: Re: D SMF,O -- what do DEFAULT, PARMLIB and SYS mean? I agree that you ought to submit an RCF, although we can take action without it. The result should be that the publication describes what the individual options mean (since they are not all intuitive) and adds in anything that is not currently shown (specifically, SYS) Loosely, it is something like this: CHANGED -- conflicting options, SMF changed what was asked for DEFAULT -- as you would likely expect PARMLIB -- as you would likely expect REPLY -- as you would likely expect SYSIN -- applies to an option that came in via SMF Dump utility processing SMF OVERRIDE -- SMF overrode the option, perhaps because the user specification was no longer valid or perhaps the user specification could not be accomplished. NOT IN USE -- as you would likely expect SYS -- Copied from SYS specification to SUBSYS (seems to relate to EXITS, TYPE, INTERVAL, DETAIL) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: D SMF,O -- what do DEFAULT, PARMLIB and SYS mean?
Doesn't anyone know the answer to this? I'm sure some of you think it is the world's stupidest question. Let me assure you I did not post this question just so I could see my name in print on IBM-MAIN. I am trying to write product documentation. I need to write if you see X, change Y thusly. I am trying to figure out if D SMF,O says FOO -- SYS what then to tell the customer to change. Once upon a time you could write mainframe documentation that just said if X happens you will need to increase your foo storage but with layoffs, retirements, and outsourcing those days are gone. If you write that it just leads to e-mails or phone calls that say how do I increase the foo storage? You have to write edit the XXX member of SYS1.FOOBAR. Find the line that says YYY and change it to read ZZZ. It's easy to say read the FM but the System Command documentation of D SMF is totally silent, and the messages manual merely lists the possible value, apparently erroneously. Thank you for your assistance. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Charles Mills Sent: Friday, May 18, 2012 2:08 PM To: IBM-MAIN@bama.ua.edu Subject: D SMF,O -- what do DEFAULT, PARMLIB and SYS mean? I'm sure this is a dumb question but the answer sure is not with the description of the D SMF command. In the output from a D SMF,O command, what exactly do -- DEFAULT -- PARMLIB -- SYS mean? Are there any other similar tags? What do they mean? I guess DEFAULT is the basic default value. PARMLIB means it came from SMFPRMxx. What about SYS? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: D SMF,O -- what do DEFAULT, PARMLIB and SYS mean?
Would you think that SYS was shorthand for SYSIN? Can anyone point me to the doc for how SMF parms are read from SYSIN? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Terry Sambrooks Sent: Saturday, May 19, 2012 10:01 AM To: IBM-MAIN@bama.ua.edu Subject: Re: D SMF,O -- what do DEFAULT, PARMLIB and SYS mean? Hi Charles, I believe the answer to your question was provided by Jonathan Goossen in his reply of 18th May. The System Commands manual indicates that the output from the command is displayed as message IEE967I. This manual states that orig The origin of the keyword parameter, which is one of the following: CHANGED DEFAULT PARMLIB REPLY SYSIN It would be reasonable to assume that PARMLIB as an origin is SMFPRMnn, that REPLY was a in response to a prompt from the console, and that SYSIN was from a DD statement of that name. In a similar vein it would be logical for DEFAULT to be some pre-assembled source, and CHANGED to be the result of a SET command. Agreed that what I have said above is assumption rather than definitively documented fact, but I suspect that most readers of the group only have the same documentation sources as you and I. Kind Regards - Terry -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: D SMF,O -- what do DEFAULT, PARMLIB and SYS mean?
Ah, Mark, quite possibly! Thanks. Yes. Looking at my system, I see, for example SUBSYS(STC,INTERVAL(SMF,SYNC)) -- SYS SUBSYS(STC,DETAIL) -- SYS SUBSYS(STC,EXITS(IEFUSO)) -- PARMLIB SUBSYS(STC,EXITS(IEFUJP)) -- PARMLIB Looking then at the member I see SYS(NOTYPE(14:19,62:69),EXITS(IEFU83,IEFU84,IEFU85,IEFACTRT, IEFUJV,IEFUSI,IEFUJP,IEFUSO,IEFUJI,IEFUTL,IEFU29,IEFUAV), INTERVAL(SMF,SYNC),DETAIL) SUBSYS(STC,EXITS(IEFU29,IEFU83,IEFU84,IEFU85,IEFUJP,IEFUSO)) So I am going to infer (paraphrasing what you said) that SYS means this is a SUBSYS parameter, but I got the value off of a SYS statement. Thanks again. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Mark Zelden Sent: Saturday, May 19, 2012 11:12 AM To: IBM-MAIN@bama.ua.edu Subject: Re: D SMF,O -- what do DEFAULT, PARMLIB and SYS mean? What do you see for SYS on your output? I think SYS means it is subsystem parms that took their defaults from the SYS statement. IOW, if you code something like SYS(EXITS(IEFU83,IEFU84,IEFU85),DETAIL) SUBSYS(OMVS,INTERVAL(003000)) all the exit parms for OMVS will come from the SYS statement and show SYS in the D SMF,O output. Does that match what you are seeing? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
D SMF,O -- what do DEFAULT, PARMLIB and SYS mean?
I'm sure this is a dumb question but the answer sure is not with the description of the D SMF command. In the output from a D SMF,O command, what exactly do -- DEFAULT -- PARMLIB -- SYS mean? Are there any other similar tags? What do they mean? I guess DEFAULT is the basic default value. PARMLIB means it came from SMFPRMxx. What about SYS? There is a little documentation with message IEE967I but it does not explain the tags (and lists SYSIN rather than SYS ???). Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: D SMF,O -- what do DEFAULT, PARMLIB and SYS mean?
I saw that. if a parameter came from SYS where exactly did it come from? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Jonathan Goossen Sent: Friday, May 18, 2012 2:42 PM To: IBM-MAIN@bama.ua.edu Subject: Re: D SMF,O -- what do DEFAULT, PARMLIB and SYS mean? Charles, They specify the origin of the keyword parameter. Excerpt The origin of the keyword parameter, which is one of the following: CHANGED DEFAULT PARMLIB REPLY SYSIN NOT IN USE -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Codepages and locales
Good exposition. It turns out it is incorrect to say z/OS allows '$' in dataset names. It is actually a case of z/OS allows x'5B' in dataset names. Your glyphs may vary. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Tony Harminc Sent: Friday, May 11, 2012 12:44 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Codepages and locales On 11 May 2012 08:27, Phil Smith p...@voltage.com wrote: Paul Gilmartin wrote: Different from what. Everything is different from something else. Perhaps different from IBM-1047? Doh, yeah, sorry. It seemed obvious at the time... - but of course you're right, it wasn't. It's perhaps even a little less well defined than that. Not everything on z/OS uses a system-defined codepage, different or not. Much of the traditional MVS infrastructure knows nothing of code pages at all. RACF is a good example; you can use the characters $, #, @ in passwords, but there is no codepage support to this, so the mappings are always $=5B, #=7B, @=7C, right off the green card. These are CP 037 and 1047 mappings, but not those for e.g. UK CP 285, which has the Sterling sign (£) at 5B, and the dollar sign at 4A. So typical UK users of 3270s and printers and such have always thought of £ as a valid character in passwords (and assembler language identifiers, dataset names, etc. etc.) No matter until you start to exchange data with other systems. So in the case of our products, where we transfer passwords between systems in various contexts, if e.g. a UK Windows user enters a £ (ASCII, and in this case also UNICODE A3), we must translate it to 5B in EBCDIC, even though there is no notion of CP 285 being in effect in RACF, and no reliable place we can query to find out that we should do this. If the UK company has users in Brazil or the USA, we must translate their $ to 5B instead, and the £ to B1, where it will probably correctly be treated as an error. There's a lot of infrastructure that just ain't there yet. Tony H. -- 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
Re: Codepages and locales
I am dealing with a customer issue that is low priority (have a workaround) and so I have not fully tracked it down but I think it may be that they (US customer) are running 037. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Phil Smith Sent: Thursday, May 10, 2012 5:52 PM To: IBM-MAIN@bama.ua.edu Subject: Codepages and locales How many z/OS shops actually run with a different locale (codepage)? I mean both globally for the entire system as well as within one or more databases. I'm assuming the second set is much larger than the first; it's the first I'm really interested in. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Multiple waiting tasks, one control block?
Robert, thanks. I am kicking the ENQ idea around. ENQ is certainly promising. There are some interlock issues with re-establishing the exclusive ENQ after relinquishing it, and what do the intended waiting tasks do in the meantime, but it has promise. The STIMER approach does not even really need an ECB -- you're just using it as a flag. At this moment I am still holding off. I don't have to solve this -- I can instead simply not implement the feature I am thinking of that would require this. At this moment none of the solutions are good enough to make the feature viable, IMHO. Thanks again, Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Robert A. Rosenberg Sent: Sunday, May 06, 2012 9:03 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Multiple waiting tasks, one control block? At 08:43 -0700 on 05/05/2012, Charles Mills wrote about Multiple waiting tasks, one control block?: I have a situation in which it would be a wonderful thing if I could have multiple tasks waiting for a single event, without having a separate wait control block of some sort for each task. If what you want is to have a number of tasks wait until some event occurs and once it does to have all of them resume operation independent of each other then ENQ can be used for this signalling. You have the signaling task do an Exclusive ENQ. The others do Shared ENQs. Once the signaling task does the DEQ all the waiting tasks will get dispatched. Note that this requires that the signaling task have done its ENQ before the waiting tasks do theirs (and thus go into a wait state waiting on the DEQ). Another way to use WAIT/POST is to have each waiting task know the location of a single ECB. Initially it is set to show that no post has yet been done on it. Until you want the tasks to go into a wait until the POST is done, you it set to look like a WAIT has been done on it. You later you do the actual POST. The waiting tasks are in a loop. They check the status of the ECB and if not yet posted, do a STIMER WAIT and then loop back to the ECB Status Check. Once the ECB has been posted they go on and do what they were waiting to do. Note that you are not actually using WAITs but only periodically checking the state of the ECB. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Multiple waiting tasks, one control block?
Gil - Thanks. It's not clear what your objective is -- apparentlly you have some recurrent event and an indeterminate number of tasks each of which must execute exactly once for each occurrence of that event I have z/OS tasks of all stripes driving a z/OS system exit. I have a finite supply of a resource that each task needs in the exit. Sometimes the resources are exhausted and will not be replenished for a while. What if we come through the exit and are out of the resources? It would be nice if all of the tasks in such a situation could wait until the resource was replenished, without each task having to do a GETMAIN or CPOOL GET, chaining it to the previous (not a trivial thing in a totally asynchronous multi-CPU situation), WAITing, and then unchaining the block and freeing it. It might be nice if there were a single control block on which all of the tasks could (effectively) wait. I think it ain't gonna happen. I hear the ENQ solutions -- and yes, I asked for possibly an ENQ solution -- but I think the complexity exceeds the benefit at this point. I do have a design alternative to waiting. The finite resource is a CPOOL in CSA. An alternative is to let it expand. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Paul Gilmartin Sent: Sunday, May 06, 2012 2:04 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Multiple waiting tasks, one control block? On Sun, 6 May 2012 09:27:22 -0700, Charles Mills wrote: I am kicking the ENQ idea around. ENQ is certainly promising. There are some interlock issues with re-establishing the exclusive ENQ after relinquishing it, and what do the intended waiting tasks do in the meantime, but it has promise. Two tasks, A and B alternately ENQing EXC. (Synchronize with WAIT/POST. B issues ENQ EXC, then A DEQs. All tasks with ENQ SHR are now free to run. There will always be at least one, sometimes two ENQ EXC outstanding. It's not clear what your objective is -- apparentlly you have some recurrent event and an indeterminate number of tasks each of which must execute exactly once for each occurrence of that event -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Multiple waiting tasks, one control block?
I have a situation in which it would be a wonderful thing if I could have multiple tasks waiting for a single event, without having a separate wait control block of some sort for each task. Why? I have no control over what the tasks have in advance (system exit situation) and doing a GETMAIN or the like so that each task could have its own ECB, and then chaining them all together, following the chain with POSTs, FREEMAINs, etc., etc., would be a real pain, a lot of overhead, and a real risk of mucking it up. I know WAIT/POST/ECB does not support multiple tasks waiting on a single ECB. I guess that EVENTS does not support this either -- but I don't see it explicitly in the documentation -- is my assumption correct? Is there any other way to do this? Some clever use of ENQ or something like that? Some other z/OS wait service besides WAIT and EVENTS? Thanks, Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Multiple waiting tasks, one control block?
Ed, thanks! This is supported on z/VSE. I remember that. DOS/360 was my first get down and dirty operating system. I was surprised that you could not do this when I made the big move to OS. The tradeoff is that at least at that time the DOS dispatcher had to go through a very large loop every time a POST type event happened, because waiting tasks were not chained to the relevant ECB in any way. Of course, DOS only supported a maximum of nine (?) tasks. a similar (but opposite) issue exists for not being able to wait on multiple events with IEAVPSE I forgot to mention IEAVPSE/IEAVRLS among the possible candidates for this function. They don't allow it either, unfortunately. At least the doc is abundantly clear (even if they do mis-use then for than): A PE can be used to pause only one task at a time; the system does not allow more then one dispatchable unit to be paused under a single PE. There is no support in z/OS for what you want. Phooey! Seems to me that this would have been an awfully useful thing to have included in the OS, and that it would not have been all that hard to chain all of the waiting TCBs together. The designers might have included the restriction that you get *either* ECBLIST *or* multiple tasks, not both; that tasks and ECBs are either 1:n or n:1 but never m:n. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Edward Jaffe Sent: Saturday, May 05, 2012 9:03 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Multiple waiting tasks, one control block? On 5/5/2012 8:43 AM, Charles Mills wrote: I have a situation in which it would be a wonderful thing if I could have multiple tasks waiting for a single event, without having a separate wait control block of some sort for each task. This is supported on z/VSE. Why? I have no control over what the tasks have in advance (system exit situation) and doing a GETMAIN or the like so that each task could have its own ECB, and then chaining them all together, following the chain with POSTs, FREEMAINs, etc., etc., would be a real pain, a lot of overhead, and a real risk of mucking it up. I know WAIT/POST/ECB does not support multiple tasks waiting on a single ECB. I guess that EVENTS does not support this either -- but I don't see it explicitly in the documentation -- is my assumption correct? There is no support in z/OS for what you want. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Engine increase on the 2097
I am wy into territory I know nothing about here but doesn't D M=CPU show this? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Lopez, Sharon Sent: Friday, May 04, 2012 7:39 AM To: IBM-MAIN@bama.ua.edu Subject: Engine increase on the 2097 We are turning on 1 engine this weekend to one of our processors; we are going from a 2097-604 to a 2097-605. Our IBM CE says that it will not need a Power-on-Reset (POR). We are not changing the weights for the lpars within the HMC; we are leaving them as is. How can we verify that the actual physical engine has been turned on? Is there a MVS display that will show this or somewhere within the HMC? Thanks. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Programming languages can't have copyright protection, EU court rules
Exactly. Nor may he line by line paraphrase the source code from PL/S (assembler?) to C++ or Java or PL/I (Whelan v. Jaslow). Nor, quite possibly, may he make the screen layout the same as SDSF, or almost the same. Nor, of course, may he rip off those reference manuals; he must create his own, with his own expression. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Paul Gilmartin Sent: Wednesday, May 02, 2012 11:23 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Programming languages can't have copyright protection, EU court rules On Wed, 2 May 2012 22:39:45 -0700, Edward Jaffe wrote: On 5/2/2012 7:33 PM, Scott Ford wrote: So how do you protect code, whatever language you have written in , in business ? You must treat it as trade secret information. Not quite the point. Suppose someone wanted to create a product that performs the same functions as, for example, SDSF. He's free to do so legally, as long as he doesn't base his product on the source code (or disassembled load modules, etc.) of SDSF. He may, however, read the reference manuals of SDSF to learn what function it performs, but the implementation must be original. He may not IEBCOPY unload SDSF; AMASPZAP it to change the panel appearance and sell it as original work. -- 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
Re: Programming languages can't have copyright protection, EU court rules
You cannot protect with copyright, for example, the syntax | __READ__file-name-1__ __ __ __ | ||_NEXT_| |_RECORD_| |_INTO__identifier-1_| | | | | __ _ __ __ ___ | ||_ __END__imperative-statement-1_| |_NOT__ __END__imperative-statement-2_| | | |_AT_||_AT_| | | | | __ __ ___ | ||_END-READ_| | You can protect with copyright your compiler source code that converts a statement in that syntax into machine instructions. You can probably protect with copyright the above expression of the syntax. That is to say, I am potentially violating IBM's copyright by pasting it here. There are other ways of expressing the same syntax, for example READ file_1 [NEXT] [RECORD] [INTO variable_1] [[AT] END] etc. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Scott Ford Sent: Wednesday, May 02, 2012 10:52 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Programming languages can't have copyright protection, EU court rules Charles, Functionality of the language ? Not being dense, but you functionally what the programming language does in the app or functionally what it does, I.e.; read files ,write files, etc.. Scott Ford Senior Systems Engineer www.identityforge.com On May 3, 2012, at 12:15 AM, Charles Mills charl...@mcn.org wrote: Right. If you wrote a COBOL compiler, you could protect your compiler code under copyright, you could protect your manual, you could protect the layout of your interactive debugger screens. But you can't protect the functionality of the language. I can write my own COBOL compiler, manual, and interactive debugger. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Mike Schwab Sent: Wednesday, May 02, 2012 8:19 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Programming languages can't have copyright protection, EU court rules This is not the code. This is the language specification. Someone could write their own version of your product. Then users could buy their application instead of yours and run their programs. On Wed, May 2, 2012 at 9:33 PM, Scott Ford scott_j_f...@yahoo.com wrote: All, So how do you protect code, whatever language you have written in , in business ? Without copyright, doesn't it imply , people can take you source and change it and resell it ...if the gave your source , right ? Scott Ford Senior Systems Engineer www.identityforge.com On May 2, 2012, at 1:49 PM, Charles Mills charl...@mcn.org wrote: Can one replicate the 'look and feel' without copyright issues in the EU now? I might add that look and feel might be subject to copyright protection. Copyright, again, protects *expression.* If I wrote a z/OS system monitor that cleverly displayed the status of started tasks as bouncing balls of various sizes and colors, that expression might be subject to copyright, but the function of displaying the status of started tasks graphically would not. Charles -- 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 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Programming languages can't have copyright protection, EU court rules
Right, Walt. Their claims fly in the face of precedent as I understand it. They are trying to claim than any implementation of Java is a derivative work (see earlier posts in this thread) of the Java specifications. I predict -- and hope -- they lose. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Walt Farrell Sent: Thursday, May 03, 2012 6:05 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Programming languages can't have copyright protection, EU court rules On Wed, 2 May 2012 10:49:18 -0700, Charles Mills charl...@mcn.org wrote: Can one replicate the 'look and feel' without copyright issues in the EU now? I might add that look and feel might be subject to copyright protection. Copyright, again, protects *expression.* If I wrote a z/OS system monitor that cleverly displayed the status of started tasks as bouncing balls of various sizes and colors, that expression might be subject to copyright, but the function of displaying the status of started tasks graphically would not. And, if I understand the Oracle claims in the US lawsuit, Oracle says that they -can- copyright the library specifications and implementation (API) because (I think) it's a kind of look and feel aspect of their Java implementation, even if they can't copyright the Java language itself. But that seems to go directly against the EU decision we're talking about here, since the SAS case seems to revolve around duplication of library APIs, too, if I understand it correctly. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Programming languages can't have copyright protection, EU court rules
If you think patents are easy to get you should try applying for one. I have. Seriously, whatever one's criticisms of the USPTO, it is indisputable that patents are a lot harder to get than copyright. Copyright is trivial. You write something, you fix it in a tangible medium (which includes, by statute, keying it into a text editor) and voila! you own the copyright on it. That's it! Patents involve applications, years, at least a plausible claim of novelty and usefulness, and non-trivial fees. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Shmuel Metz (Seymour J.) Sent: Thursday, May 03, 2012 6:18 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Programming languages can't have copyright protection, EU court rules In 14d901cd2887$312cfba0$9386f2e0$@mcn.org, on 05/02/2012 at 10:15 AM, Charles Mills charl...@mcn.org said: Patents are very hard to get Would that that were true. USPTO fails to exclude patents that should be invalid due to, e.g., prior art. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Programming languages can't have copyright protection, EU court rules
You are right. I stand corrected. They could implement a different library of function calls, but of course at that point none of the Java programs expecting Oracle's library would work. I wonder if Google raised a merger defense: if there is only one way to do something, you can't protect it under copyright. Expression and function merge and function wins out. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Walt Farrell Sent: Thursday, May 03, 2012 7:33 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Programming languages can't have copyright protection, EU court rules On Thu, 3 May 2012 06:43:45 -0700, Charles Mills charl...@mcn.org wrote: Right, Walt. Their claims fly in the face of precedent as I understand it. They are trying to claim than any implementation of Java is a derivative work (see earlier posts in this thread) of the Java specifications. I predict -- and hope -- they lose. No, I don't -think- that's what they're claiming. The Java language is rather straightforward. But knowing the -language- doesn't really help you write Java programs. Most programs have to rely on the library of function calls that Sun provided, and Oracle seems to be claiming that the library is separate from the language, and that the library calls (the API) are a look and feel expression that is copyrightable. So anyone is free to make a Java interpreter or compiler, but they can't implement the same library without duplicating Oracle's look-and-feel. They could implement a different library of function calls, but of course at that point none of the Java programs expecting Oracle's library would work. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Programming languages can't have copyright protection, EU court rules
I always bristle at the use of the word copyright as a verb (all of the dictionaries do support the verb form) and try never to use it that way myself, although it is easy to slip. Historically, perhaps you could copyright something, as John's Shakespeare perhaps did. Now, in the US and most nations (Berne convention) copyright is a noun that inures automatically to authors upon fixing the work in a tangible form. You can't copyright (verb) something. You either own the copyright (noun) or you do not. The work is copyright (adjective) or it is not. You can (optionally) REGISTER the copyright with the Library of Congress, but that's a different matter. Not to argue in the least with the substance of John's post ... Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of John Gilmore Sent: Thursday, May 03, 2012 7:17 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Programming languages can't have copyright protection, EU court rules Charles Mills has made the operative distinction very clear, but let me try another analogy. Think of yourself, briefly, as Shakespeare. You have written Sonnet XXX, When to the sessions of sweet silent thought I sigh the lack of many a thing I sought. Then can I . . . . . . You, Shakespeare, may copyright this sonnet, its specific content. You may not copyright the fourteen-line sonnet form and its rhyming scheme. Instances of a schema are copyrightable and protectable. The schema itself is not. You may, that is, protect yourself against the misappropriation of a sonnet that you write. You may not interdict the writing of [non-duplicative] sonnets by others. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Rexx IRXEXCOM reporting insufficient storage -- what storage?
I have IRXEXCOM returning a -2 (Processing was not successful. Insufficient storage was available for a requested SET. Processing was terminated. Some of the request blocks (SHVBLOCKs) may not have been processed and their SHVRET bytes will be unchanged.) at a customer site where I have limited debugging tools. Routine has been working without error for years. What storage is it referring to? Is it referring to Rexx-specific storage of some sort? Does not appear to be the REGION size -- tried 12M and 0 there. Environment is z/OS 1.13 batch. Works in other 1.13 LPARs. Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Programming languages can't have copyright protection, EU court rules
This is what I was saying (for US law) relative to Oracle's claim that a copyright on the Java specification document protected the functioning of the language described therein. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Mark Regan Sent: Wednesday, May 02, 2012 8:35 AM To: IBM-MAIN@bama.ua.edu Subject: Programming languages can't have copyright protection, EU court rules Watch for possible URL truncation as it gets wrapped http://www.computerworld.com/s/article/9226783/Programming_languages_can_t_h ave_copyright_protection_EU_court_rules -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Does C/LE open of DD:ddname(member) use SVC 99 or FIND?
Full samples of deblocking BPAM directory blocks with code? Which program? I don't see any examples in the P/G you linked to either. What am I missing? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of David Crayford Sent: Tuesday, May 01, 2012 8:20 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Does C/LE open of DD:ddname(member) use SVC 99 or FIND? The book also has examples and you will find full samples in the SCBCSAMP data set. http://publib.boulder.ibm.com/infocenter/zvm/v5r4/index.jsp?topic=/com.ibm.z os.r9.cbcpx01/cbcpg18096.htm On 2/05/2012 9:58 AM, Charles Mills wrote: Thanks! Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Bernd Oppolzer Sent: Tuesday, May 01, 2012 6:09 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Does C/LE open of DD:ddname(member) use SVC 99 or FIND? Thank you! Here is an excerpt of a C program which reads a directory of a PDS and inserts the member names into an AVL tree (the insert is not shown, it is done by a function call - see below). -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Programming languages can't have copyright protection, EU court rules
Lots of confusion here. 1. US and EU are of course different. Laws and precedents don't matter much from one to the other. 2. Copyright in the US has never protected programming language specifications, etc. Google Lotus v. Borland, the seminal case, which went all the way to SCOTUS. 3. Copyright and Patent are way different. Copyright is trivially easy to get and protects expression: think of poetry. Copyright protects a particular COBOL manual and compiler source code but not the concepts and functions of COBOL. Patents are very hard to get and protect function. This decision has no relationship to patents (except that it reaffirms that copyright does not protect the things that only a patent would protect). 4. Intellectual Property is the name of the kind of stuff copyrights and patents protect. It is not a form of protection of its own. Personal property is not a form of protection, but personal property is protected by theft laws. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Hal Merritt Sent: Wednesday, May 02, 2012 10:01 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Programming languages can't have copyright protection, EU court rules I'm not a lawyer and don't pretend to understand the ramifications, but this sounds huge. The result is that the court finds that ideas and principles which underlie any element of a computer program are not protected by copyright under that directive, only the expression of those ideas and principles. What does the above really mean? Can one replicate the 'look and feel' without copyright issues in the EU now? In the US, there is the concept of 'intellectual property' that seems to protect ideas from theft. Does that now mean open season in the EU? Or am I confusing copyright with patents? Granted, I currently think that the US patent system is broken, but this seems a bit of an over kill. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Programming languages can't have copyright protection, EU court rules
Can one replicate the 'look and feel' without copyright issues in the EU now? I might add that look and feel might be subject to copyright protection. Copyright, again, protects *expression.* If I wrote a z/OS system monitor that cleverly displayed the status of started tasks as bouncing balls of various sizes and colors, that expression might be subject to copyright, but the function of displaying the status of started tasks graphically would not. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Charles Mills Sent: Wednesday, May 02, 2012 10:16 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Programming languages can't have copyright protection, EU court rules Lots of confusion here. 1. US and EU are of course different. Laws and precedents don't matter much from one to the other. 2. Copyright in the US has never protected programming language specifications, etc. Google Lotus v. Borland, the seminal case, which went all the way to SCOTUS. 3. Copyright and Patent are way different. Copyright is trivially easy to get and protects expression: think of poetry. Copyright protects a particular COBOL manual and compiler source code but not the concepts and functions of COBOL. Patents are very hard to get and protect function. This decision has no relationship to patents (except that it reaffirms that copyright does not protect the things that only a patent would protect). 4. Intellectual Property is the name of the kind of stuff copyrights and patents protect. It is not a form of protection of its own. Personal property is not a form of protection, but personal property is protected by theft laws. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Hal Merritt Sent: Wednesday, May 02, 2012 10:01 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Programming languages can't have copyright protection, EU court rules I'm not a lawyer and don't pretend to understand the ramifications, but this sounds huge. The result is that the court finds that ideas and principles which underlie any element of a computer program are not protected by copyright under that directive, only the expression of those ideas and principles. What does the above really mean? Can one replicate the 'look and feel' without copyright issues in the EU now? In the US, there is the concept of 'intellectual property' that seems to protect ideas from theft. Does that now mean open season in the EU? Or am I confusing copyright with patents? Granted, I currently think that the US patent system is broken, but this seems a bit of an over kill. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Programming languages can't have copyright protection, EU court rules
Right. If you wrote a COBOL compiler, you could protect your compiler code under copyright, you could protect your manual, you could protect the layout of your interactive debugger screens. But you can't protect the functionality of the language. I can write my own COBOL compiler, manual, and interactive debugger. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Mike Schwab Sent: Wednesday, May 02, 2012 8:19 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Programming languages can't have copyright protection, EU court rules This is not the code. This is the language specification. Someone could write their own version of your product. Then users could buy their application instead of yours and run their programs. On Wed, May 2, 2012 at 9:33 PM, Scott Ford scott_j_f...@yahoo.com wrote: All, So how do you protect code, whatever language you have written in , in business ? Without copyright, doesn't it imply , people can take you source and change it and resell it ...if the gave your source , right ? Scott Ford Senior Systems Engineer www.identityforge.com On May 2, 2012, at 1:49 PM, Charles Mills charl...@mcn.org wrote: Can one replicate the 'look and feel' without copyright issues in the EU now? I might add that look and feel might be subject to copyright protection. Copyright, again, protects *expression.* If I wrote a z/OS system monitor that cleverly displayed the status of started tasks as bouncing balls of various sizes and colors, that expression might be subject to copyright, but the function of displaying the status of started tasks graphically would not. Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Does C/LE open of DD:ddname(member) use SVC 99 or FIND?
Aha! Muchas gracias! Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of David Crayford Sent: Wednesday, May 02, 2012 7:37 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Does C/LE open of DD:ddname(member) use SVC 99 or FIND? My link was bad! Seems I didn't quite understand how to copy a link in Infocenter! http://publib.boulder.ibm.com/infocenter/zvm/v5r4/topic/com.ibm.zos.r9.cbcpx 01/cbcpg180781.htm#wq1935 On 3/05/2012 1:09 AM, Charles Mills wrote: Full samples of deblocking BPAM directory blocks with code? Which program? I don't see any examples in the P/G you linked to either. What am I missing? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: zOS under zVM
FWIW the IBM Dallas Development Center runs multiple (many?) z/OS images under z/VM. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Mark Jacobs Sent: Tuesday, May 01, 2012 6:05 AM To: IBM-MAIN@bama.ua.edu Subject: zOS under zVM It's been many, many years since we've run our sysplex under zVM. Our next DR exercise will be hosted in a VM environment and I'm looking for any environmental setup concerns that I need to consider. I know that we'll have to change LOADxx, but I'm unsure about anything else. Any advice on what I have to do would be greatly appreciated. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Does C/LE open of DD:ddname(member) use SVC 99 or FIND?
Thanks! Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Bernd Oppolzer Sent: Tuesday, May 01, 2012 6:09 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Does C/LE open of DD:ddname(member) use SVC 99 or FIND? Thank you! Here is an excerpt of a C program which reads a directory of a PDS and inserts the member names into an AVL tree (the insert is not shown, it is done by a function call - see below). Kind regards Bernd static int lese_memberliste (char *parm_infile, baumMEMknoten **pres) // /* Funktion zum Lesen einer Memberliste */ /* einer PO-Datei; die Membernamen werden */ /* in einen AVL-Baum eingetragen */ // { FILE *direct; char buf [256]; int x; char *cp; int laenge; unsigned long ttrc; int ttr; int anz_bytes; int eof; int rc = 0; char mem_high [8]; baumMEMknoten *proot = NULL; baumMEMknoten *pneu; int hchanged; membname m; eof = 0; memset (mem_high, 0xff, 8); // /* raus, wenn Directory nicht aufgeht */ // direct = fopen (parm_infile, rb); if (direct == NULL) RETURN_VALUE 8; for (;;) { // /* naechsten Directory-Block einlesen */ // memset (buf, 0x00, 256); x = fread (buf, 1, 256, direct); if (x == 0) break; #ifdef TEST printf ([cp2970] \n); printf ([cp2970] Rueckgabe von fread = %d\n, x); printf ([cp2970] \n); dump (buf, buf + x - 1, stdout); #endif cp = buf + 2; laenge = *((short *) buf) - 2; while (laenge 0) { // /* naehere Info hierzu in den IBM-Brosch. */ /* zum Aufbau der PO-Directories. */ // if (memcmp (cp, mem_high, 8) == 0) { eof = 1; break; } // /* Laenge des Eintrags in Halbworten steht*/ /* in den Bits 3 bis 7 des TTRC-Wortes*/ // ttrc = *((unsigned long *) (cp + 8)); ttr = ttrc 8; anz_bytes = (ttrc 0x1f) * 2; #ifdef TEST printf ([cp2970] Member %-8.8s TTR %06X Laenge/Bytes %d\n, cp, ttr, anz_bytes); #endif if (memcmp (cp, ED, 2) == 0) { memcpy (m.name, cp, 8); hchanged = 0; pneu = baumMEMsuche (m, proot, hchanged, 1); pneu - obj = atoi (cp + 2); } cp += (anz_bytes + 12); laenge -= (anz_bytes + 12); } if (eof) break; } fclose (direct); *pres = proot; RETURN_VALUE rc; } Am 01.05.2012 23:52, schrieb John Gilmore: The point here is not what some particular routine oor utility may do or permit. It is what can be done ab initio by an programmer who wants to do it using the HLASM or some particular SLPL . z/OS MVS does permit one to open a PDS as a PS data set in a routine written in assembly language or PL/I, and what one then gets with successive reads are its successive directory blocks. I have done this many times without incident, but I do not of course recommend it to novices. I have not myself done it in C; but Bernd Oppolzer is a careful, highly reliable reporter of his experience; and I am thus sure that it can be done in C too. John Gilmore, Ashland, MA 01721 - USA -- 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 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Does C/LE open of DD:ddname(member) use SVC 99 or FIND?
Does anyone *know* whether a C/C++ Language Environment fopen() of a filename of the form DD:ddname(member) use an OPEN of ddname followed by a BLDL or FIND for member (the way any reasonable programmer would) or does it do a whole new DYNALLOC for dsname(member)? (Seems like a dumb question, but FTP does it that way, so stranger things have happened.) My *interpretation* of the allocation messages - I don't see allocate and de-allocate messages for a SYSn that appears to be for member - leads me to believe that C/C++ LE does it right. But I could be reading it wrong. Does anyone *know*? Thanks, Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Does C/LE open of DD:ddname(member) use SVC 99 or FIND?
Thanks! At least too many OPEN's is better than too many DYNALLOC's *and* too many OPEN's. There isn't a way to update (or get) the PDS directory user data Not a huge deal to write your own BPAM library, but I agree. When I first came to z/OS C/C++ about two years ago I was surprised that there were not more z/OS-specific library routines (or z/OS-specific enhancements to the inherited-from-UNIX library routines). Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Kirk Wolf Sent: Monday, April 30, 2012 11:11 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Does C/LE open of DD:ddname(member) use SVC 99 or FIND? Charles, I'm nearly certain that it doesn't do a SVC99 when you are using fopen with a DDNAME But it does seem to do a OPEN/BLDL/POINTSTOW/CLOSEfor each fopen() / fclose() using //DD:MYDD(MEM) IMO, there are a couple of important missing things: 1) There isn't a way to update (or get) the PDS directory user data when processing the member with fopen()/fclose(). 2) You would really like to be able to do this: fopen(//DD:MYDD(MEM1), ...) freopen(//DD:MYDD(MEM2), ) so that the freopen() caused a STOW (if opened update) and a BLDL/POINT, and avoided the cost of a complete OPEN/CLOSE path.I don't think that it does that. So, for my money, better BPAM support would be nice. Kirk Wolf Dovetailed Technologies http://dovetail.com On Mon, Apr 30, 2012 at 11:45 AM, Charles Mills charl...@mcn.org wrote: Does anyone *know* whether a C/C++ Language Environment fopen() of a filename of the form DD:ddname(member) use an OPEN of ddname followed by a BLDL or FIND for member (the way any reasonable programmer would) or does it do a whole new DYNALLOC for dsname(member)? (Seems like a dumb question, but FTP does it that way, so stranger things have happened.) My *interpretation* of the allocation messages - I don't see allocate and de-allocate messages for a SYSn that appears to be for member - leads me to believe that C/C++ LE does it right. But I could be reading it wrong. Does anyone *know*? Thanks, Charles -- 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 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Have you ever done this using FTP?
You can do your own explicit allocate via FTP if you want. Check out the SITE command. You can say something like (from memory) site cyl pri 5 sec 1 dir 20 which is roughly equivalent to SPACE=(CYL,(5,1,20)) and then a mkdir which will create the PDS. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Paul Gilmartin Sent: Thursday, April 26, 2012 4:18 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Have you ever done this using FTP? On Thu, 26 Apr 2012 18:09:27 -0400, Rob Schramm wrote: Yep. lcd 'local pdsname' cd 'foreign pdsname' MPUT * will do it just fine. The tricky part may be allocating the receiving PDS. Notice that the statement of the problem said it had to be done using FTP. It's easily enough done with the lately deprecated squatty boxes: -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Have you ever done this using FTP?
Exactly. Could not be more straightforward. Exactly the same as copying the contents of a folder from one UNIX or Windows machine to another. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Rob Schramm Sent: Thursday, April 26, 2012 3:09 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Have you ever done this using FTP? Yep. lcd 'local pdsname' cd 'foreign pdsname' MPUT * will do it just fine. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: EXTRACT,QEDIT macro
You can process a stop (P) or modify (F) command. The CIB is the CIB is the CIB no matter how many tasks you have. Only one can wait on the (on any, for that matter) ECB at one time, however. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Micheal Butz Sent: Monday, April 23, 2012 2:31 PM To: IBM-MAIN@bama.ua.edu Subject: EXTRACT,QEDIT macro Hi, I have a question regarding the usage of the Extract Qedit macros for operator communication I have started task looking to process a Flush Or Modify command via the com/cib the pointer to the CIB is just for the current task If after issuing the EXTRACT to get the address of the communication parameter list (com) and the communication input buffer (cib) I attach 4 subtasks are the com/cib address obtaining by the originating tasks valid for the subtask that I have now attached -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: DESERV for HFS Folders?
Bob, thanks, a lot of stuff in there, most of it waay beyond what I need. Is there a particular service you had in mind for my problem below? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Bob Shannon Sent: Friday, April 20, 2012 4:34 AM To: IBM-MAIN@bama.ua.edu Subject: Re: DESERV for HFS Folders? I need to be able to process for input all members of a PDS, PDSE, or HFS folder. Refer to UNIX System Services File System Interface Reference SA22-7808. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: DESERV for HFS Folders?
Thanks. Sounds like I will need two code paths: - DESERV for PDS(E) - readdir (which in my general UNIX ignorance I was not aware of) for HFS directories Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of McKown, John Sent: Friday, April 20, 2012 5:56 AM To: IBM-MAIN@bama.ua.edu Subject: Re: DESERV for HFS Folders? I think the only way to do what you want is via the UNIX readdir type functionality. The only thing I can find for reading a directory using non-UNIX BPAM support are the BLDL and FIND macros. Conspicuously missing is DESERV support. Also, here http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dgt2d490/3.8.7.4 it says: DESERV provides interfaces to access the directories of PDS and PDSE data sets. http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dgt2d570/2.2.20 says the same thing in very similar word. But here: http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dgt2r190/8.0 it is explicitly stated: Table 73. DESERV reason codes Reason Code Meaning 1127 (X'0467') UNIX(r) directories not supported. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
IBM C/C++ Productivity Tools for OS/390
The current (V1R13) LE Concepts Guide refers to the IBM C/C++ Productivity Tools for OS/390 product. Is that really the current name of the product (OS/390)? It's Windows-based? Does anyone have any idea of the pricing? (I don't have an IBM salesperson in my hip pocket.) Thanks, Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: IBM C/C++ Productivity Tools for OS/390
I was mostly interested in the profiler. Me too. What did you end up using? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of David Crayford Sent: Friday, April 20, 2012 6:25 PM To: IBM-MAIN@bama.ua.edu Subject: Re: IBM C/C++ Productivity Tools for OS/390 I looked into the product a few years ago and it wasn't available via partnerworld. It's mostly been deprecated by RDz. I was mostly interested in the profiler. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
DESERV for HFS Folders?
I need to be able to process for input all members of a PDS, PDSE, or HFS folder. I need to process them individually - the order does not matter - and not as one big concatenated file. DESERV GET_ALL will get me the names if it's a PDS or PDSE (and I can take it from there) but what about a USS (gasp!) folder? Does DESERV see it as a PDS? The documentation doesn't say it does but a fellow can hope. The main program is in C. Have I missed a library routine that will do this? What about the old-fashioned PDS technique - emulated for PDSE - of reading the directory of the PDS with BPAM and parsing the 256-byte directory blocks? Does BPAM simulate that for an HFS folder like it simulates it for a PDSE? Any other good solutions to this problem? Thanks, Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Assembler - convrssion of Epoch (Unix) time to printable
Leap seconds pretty much have to be of interest to you or you will be off by twenty seconds plus, probably too much to ignore. But they are not a big deal (spoken as one who recently had to solve this problem). They are available (assuming they have been input, and if not, then obviously all bets are off) in a CVT extension. They are stored in hardware clock units (of course we store a two-digit integral number of seconds as a 64-bit fraction!) but converting hardware clock units to seconds is not a big deal. (Shift right twelve and divide by a million as I recall.) Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Paul Gilmartin Sent: Tuesday, March 27, 2012 6:30 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Assembler - convrssion of Epoch (Unix) time to printable On Tue, 27 Mar 2012 07:47:39 -0500, McKown, John wrote: ..., the UNIX epoch is simply a number. The number of seconds since 00:00:00 GMT 1 Jan 1970. It would be rather easy to convert to -mm-ddThh:mm:ss if it weren't for the leap seconds. Which may or may not be of any interest to you. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Leaving IBM
I don't usually respond to these things -- but you have been a big help over the years. Thank you. You will be missed. Best wishes to you also. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Walt Farrell Sent: Monday, March 26, 2012 6:53 AM To: IBM-MAIN@bama.ua.edu Subject: Leaving IBM I mentioned this over on RACF-L the other day, so for some of you this will be old news. I've been an IBMer for 28 years and have had a lot of fun with RACF and MVS, and I've had a lot of fun interacting with you folks on RACF-L and IBM-MAIN. But the time has come for me to retire and have fun with other things. I've enjoyed the discussions here, and working with many of you to plan enhancements or resolve problems. I'm sure I'll still read both lists for awhile, and probably even participate from a personal email address. But after Wednesday morning I will no longer be an active IBM employee and I'll speak about z/OS and RACF even less officially than than I do now. It's been a great 28 years, but my family and other activities are calling to me more and more strongly, and it's time to spend more time with them. Best wishes to you all, Walt -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Assembler - convrssion of Epoch (Unix) time to printable
Right, probably the slickest solution is to figure out how to set up LE and call mktime() or gmtime() and then strftime(). See the C library manual for details. People here can help you with setting up an LE environment and calling a C routine. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of McKown, John Sent: Tuesday, March 27, 2012 5:48 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Assembler - convrssion of Epoch (Unix) time to printable Cheat? I'm a big fan of cheating. I often use LE enabled HLASM just so that I can use the subroutines from the C language to do fancy printing by using sprintf() calls. Of course, you could also cheat by converting the C epoch to a Lilian date (simple addition) and using the LE subroutine CEEDATE to convert it to printable form. But, then, the UNIX epoch is simply a number. The number of seconds since 00:00:00 GMT 1 Jan 1970. It would be rather easy to convert to -mm-ddThh:mm:ss if it weren't for the leap seconds. Which may or may not be of any interest to you. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Assembler - convrssion of Epoch (Unix) time to printable
So Gil, you are saying that a UNIX time of, for example, 60, represents 1:34 am on 1/1/1970 -- or represents 0:26 am? (Theoretically -- there were no leap seconds before 1970.) Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Paul Gilmartin Sent: Tuesday, March 27, 2012 6:30 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Assembler - convrssion of Epoch (Unix) time to printable On Tue, 27 Mar 2012 07:47:39 -0500, McKown, John wrote: ..., the UNIX epoch is simply a number. The number of seconds since 00:00:00 GMT 1 Jan 1970. It would be rather easy to convert to -mm-ddThh:mm:ss if it weren't for the leap seconds. Which may or may not be of any interest to you. Not really. In effect, the origin of NTP shifts by one second every time a leap second occurs. It is now 00:00:34 GMT 1 Jan 1970; in a little over 3 months it will be 00:00:35 GMT 1 Jan 1970. http://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap04.html ... it is inappropriate to require that a time represented as seconds since the Epoch precisely represent the number of seconds between the referenced time and the Epoch. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Tips for continuing DD statement with only one parameter field
All good points. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Paul Gilmartin Sent: Wednesday, March 07, 2012 11:19 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Tips for continuing DD statement with only one parameter field On Wed, 7 Mar 2012 19:04:40 -0800, Charles Mills charl...@mcn.org wrote: Well, who's counting indeed, but my JCL reference says The pathname: ... - Has a length of 1 through 255 characters. ... I stand corrected; I misread earlier in the same section: Each directory or filename: Is preceded by a slash (/). The system treats any consecutive slashes as a single slash. ... Has a length of 1 through 254 characters, not including the slash. But now I've read it more carefully and submitted the RCF: Hello, MHVRCFS In: Title: z/OS V1R13.0 MVS JCL Reference Document Number: SA22-7597-15 12.48.2 Subparameter Definition pathname Is incomplete, perhaps misleading. The description appears to prohibit the following which are in fact allowed: o A pathname need not contain a filename; it may consist solely of directories, in which case it refers to a directory. o If (and only if) a pathname refers to a directory, it may end with a slash. The following may be implicit, or perhaps needs clarification: o The list of directories may be empty; the path may consist of only a filename, in which case it refers to a file in the root directory; or of only a slash, in which case it refers to the root directory itself. The following appear to be permitted, but are in fact invalid: o A slash may not appear in a directory or filename; it may be used only as a separator between directories and the filename. o The forms . and .. may not be used as filenames; these are reserved for directory names. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Program FLIH backdoor - This is a criminal breach of security!
an APF authorized program can do that. It can also create a backdoor (my definition) that any task in the system can walk through and get into supervisor state. That is the objection that was raised, and it is a very different matter. I should be smarter than to wade into this one but is it not true, unfortunately, that an APF program can do ANYTHING it wants to do? Doing anything it wants to do would include granting privileges implicitly to other programs would it not? Further, there is no industry agreement -- witness this thread -- on what constitutes acceptable APF authorized program conduct. My the only technique that will work is someone else's criminal breach of security. It seems to me the problem here is, from a technological point of view, the all or nothing nature of APF authorization. IBM is moving away from that approach, but APF authorization as it is and was is going to be with us for a long time. From a non-technology point of view, we need some sort of industry agreement on what is good behavior in an authorized program. I am thinking of something like a standardized set of questions that a vendor could answer and have an officer certify: Mr./Ms. Customer, we are asking for APF authorization. I certify under penalty of fraud that our program uses APF authorization to do X, and Y, and Z but does not do A, and B, and C. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Tom Marchant Sent: Thursday, March 08, 2012 6:19 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Program FLIH backdoor - This is a criminal breach of security! On Thu, 8 Mar 2012 13:49:28 +, Pate, Gene wrote: You have your definition for 'backdoor', I have mine, Next. That is the root of your confusion. This thread is about a vendor creating a backdoor according to my definition. You are amazed at the uproar over this because you applied your definition of what a backdoor is without considering the description of what the backdoor was in the original discussion. if they were APF authorized then they could by definition switch anyone or any task in the system to supervisor state Yes, an APF authorized program can do that. It can also create a backdoor (my definition) that any task in the system can walk through and get into supervisor state. That is the objection that was raised, and it is a very different matter. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Tips for continuing DD statement with only one parameter field
PATH is not only under-specified in the JCL reference, it is also over-specified. - Is case-sensitive. Thus, /u/joe and /u/JOE and /u/Joe define three different files. Is not an aspect of the PATH= parameter, it is an aspect of the HFS. Logically they could change HFS tomorrow to be non-case-sensitive (granted, it ain't gonna happen -- I'm just talking logic here) without touching the PATH= code and the above sentence would no longer be true. Or I could write a product that mounted a remote Windows volume as an HFS volume and the above sentence would not be true. /u/Joe and /u/Fred are also different files, but that's an aspect of HFS, not of PATH=. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Paul Gilmartin Sent: Wednesday, March 07, 2012 11:19 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Tips for continuing DD statement with only one parameter field On Wed, 7 Mar 2012 19:04:40 -0800, Charles Mills charl...@mcn.org wrote: Well, who's counting indeed, but my JCL reference says The pathname: ... - Has a length of 1 through 255 characters. ... I stand corrected; I misread earlier in the same section: Each directory or filename: Is preceded by a slash (/). The system treats any consecutive slashes as a single slash. ... Has a length of 1 through 254 characters, not including the slash. But now I've read it more carefully and submitted the RCF: Hello, MHVRCFS In: Title: z/OS V1R13.0 MVS JCL Reference Document Number: SA22-7597-15 12.48.2 Subparameter Definition pathname Is incomplete, perhaps misleading. The description appears to prohibit the following which are in fact allowed: -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Tips for continuing DD statement with only one parameter field
Duh! The whole point of home directories. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Edward Jaffe Sent: Thursday, March 08, 2012 7:47 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Tips for continuing DD statement with only one parameter field On 3/8/2012 7:28 AM, Paul Gilmartin wrote: o Pathnames must be absolute (start with /) This is an inconvenience I wish could be rectified. No leading slash should default to one's home directory. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Program FLIH backdoor - This is a criminal breach of security!
Not sure I get your drift. I am talking about the problem in the OP, not about me, and not about preventing programs from doing X and Y but rather about an agreement about what is legitimate and what is not, or as I said, one person's 'the only technique that will work' [a phrase one poster used] is someone else's 'criminal breach of security.' Failing that, a formal affirmation of we do X but we don't do Y. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Edward Jaffe Sent: Thursday, March 08, 2012 7:15 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Program FLIH backdoor - This is a criminal breach of security! On 3/8/2012 6:40 AM, Charles Mills wrote: From a non-technology point of view, we need some sort of industry agreement on what is good behavior in an authorized program. I am thinking of something like a standardized set of questions that a vendor could answer and have an officer certify: Mr./Ms. Customer, we are asking for APF authorization. I certify under penalty of fraud that our program uses APF authorization to do X, and Y, and Z but does not do A, and B, and C. You have no integrity statement?? Wow! You might consider drafting one... Here is IBM's you can use as a template: http://www.ibm.com/systems/z/os/zos/features/racf/zos_integrity_statement.ht ml -- Edward E Jaffe Phoenix Software International, Inc 831 Parkview Drive North El Segundo, CA 90245 310-338-0400 x318 edja...@phoenixsoftware.com http://www.phoenixsoftware.com/ -- 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
Re: Program FLIH backdoor - This is a criminal breach of security!
I will give it one more shot at trying to clarify what I mean. Witness this thread, reasonable people can disagree on what violates the statement of integrity means. One person's reasonable or only available technique is another person's violation. We could use some finer granularity. We could use a standard statement of does X but does not do Y. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Ray Overby Sent: Thursday, March 08, 2012 8:45 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Program FLIH backdoor - This is a criminal breach of security! The IBM statement of Integrity or its equivalent is a standard that all authorized programs should conform with. See IBM statement of Integrity http://www-03.ibm.com/systems/z/os/zos/features/racf/zos_integrity_statemen t.html. If you look at z/OS V1R12.0 MVS Authorized Assembler Services Guide: 21.1.2 http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/iea2a8b0/21.1.2? ACTION=MATCHESREQUEST=system+integrityTYPE=FUZZYSHELF=EZ2ZBK0KDT=2010062 9141054CASE=searchTopic=TOPICsearchText=TEXTsearchIndex=INDEXrank=RANK ScrollTOP=FIRSTHIT#FIRSTHIT/you/ will see that IBM puts the responsibility on the installation for ensuring the integrity (i.e. - conforms to the IBM statement of Integrity) for any modifications or extensions to z/OS the installation makes. This would include any authorized code written/installed by the installation as well as any authorized code installed that is from ISVs. If the backdoor, intercept, or other authorized program violates the IBM statement of integrity then it is a problem that needs to be remediated. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()
Thanks. Great suggestion. I will do that when I am done. I am mentally committed to completing this, but it won't be this week. (Gotta get the talk ready for SHARE!) I have all of the tools and methodology I think. I am a Wikipedia member and have done edits before. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Timothy Sipples Sent: Tuesday, March 06, 2012 10:44 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Good source for relationship of opcodes, models, MACHINE() and ARCH() A suggestion: if there are some volunteers to collect and organize the information, how about putting it on Wikipedia where it can be maintained and publicly accessed easily going forward, together with links to other references? Wikipedia is available here: http://en.wikipedia.org Perhaps the article should be entitled something like IBM mainframe models with appropriate redirect aliases and links from existing, related articles. Timothy Sipples Resident Enterprise Architect (Based in Singapore) E-Mail: timothy.sipp...@us.ibm.com -- 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
Tips for continuing DD statement with only one parameter field
I've got several DD statements in a proc that have only a single parameter, PATH='long/path/name' Because the path is long the statement will not fit on a single card image (but the PATH parameter by itself will). So I coded //MYDDNAME DD // PATH='long/path/name' No good. It turns out the JCL Reference means what it says when it says you can break a JCL statement *after* any parameter (but not, apparently, before any parameter!). Putting an X in column 72 does not help. Putting a solo comma somewhere after DD does not help. The JCL reference does not provide any guidance that I could find. Google does not seem to know how to do this. I'm sure I could wrestle with the rules for continuing quoted parameters, but that makes an obscure, difficult to maintain mess IMHO. Do any of you more experienced JCL jockeys know a simple trick for getting around this problem? Is there some DD parameter that I should code as a no-op on the first line? Thanks all. Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Tips for continuing DD statement with only one parameter field
Ha! //MYDDNAME DD PATHDISP=, // PATH='long/path/name' works. Kinda silly, but it works. The SET symbol is not a bad idea also as there actually is a fair amount of commonality among the three paths, so I could factor out that common part into one SET symbol. Thanks, Charles -Original Message- Do any of you more experienced JCL jockeys know a simple trick for getting around this problem? Is there some DD parameter that I should code as a no-op on the first line? Couldn't you code PATHDISP on the first line? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Interfacing with the MainFrame
I have a lot of experience designing commercially successful products that ran with one foot on the mainframe and one foot on a little white box. Can you say (without divulging that which you are not willing to divulge) what in broad strokes the product is going to accomplish? Your 1. is a technique that was common in the early days of PC-mainframe integration. http://en.wikipedia.org/wiki/Data_scraping#Screen_scraping . I think screen scraping has kind of fallen into disrepute. Your 2. sounds like a solution to a different problem than 1. Using FTP with no exits you can build JCL and data files, submit the JCL as a mainframe job, wait for it to complete, and bring back both the system messages and the output files. If that does the job for you, it's a lot of work getting it perfect but it's a very valid technique. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Ed Mackmahon Sent: Wednesday, March 07, 2012 12:47 PM To: IBM-MAIN@bama.ua.edu Subject: Interfacing with the MainFrame Hi How would you prefer a product running on a server outside the mainframe will interface with the mainframe? Some Ideas i had: 1. Using a macro emulator that simulate a user which logon as a regular user, snap shot the screen display and parse the results on the open. 2. Using FTP exits in order to submit a job / moving a rexx to be ran under AXR etc... will this be a problem in your organization? Any other ideas would be appreciated... Thanks Ed -- 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
Re: Interfacing with the MainFrame
I should add that some (many?) shops ban FTP onto the mainframe, so that may be a problem with 2. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Charles Mills Sent: Wednesday, March 07, 2012 1:08 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Interfacing with the MainFrame I have a lot of experience designing commercially successful products that ran with one foot on the mainframe and one foot on a little white box. Can you say (without divulging that which you are not willing to divulge) what in broad strokes the product is going to accomplish? Your 1. is a technique that was common in the early days of PC-mainframe integration. http://en.wikipedia.org/wiki/Data_scraping#Screen_scraping . I think screen scraping has kind of fallen into disrepute. Your 2. sounds like a solution to a different problem than 1. Using FTP with no exits you can build JCL and data files, submit the JCL as a mainframe job, wait for it to complete, and bring back both the system messages and the output files. If that does the job for you, it's a lot of work getting it perfect but it's a very valid technique. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Ed Mackmahon Sent: Wednesday, March 07, 2012 12:47 PM To: IBM-MAIN@bama.ua.edu Subject: Interfacing with the MainFrame Hi How would you prefer a product running on a server outside the mainframe will interface with the mainframe? Some Ideas i had: 1. Using a macro emulator that simulate a user which logon as a regular user, snap shot the screen display and parse the results on the open. 2. Using FTP exits in order to submit a job / moving a rexx to be ran under AXR etc... will this be a problem in your organization? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Tips for continuing DD statement with only one parameter field
Yup. That's what I was referring to when I said I'm sure I could wrestle with the rules for continuing quoted parameters, but that makes an obscure, difficult to maintain mess IMHO. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of R.S. Sent: Wednesday, March 07, 2012 1:40 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Tips for continuing DD statement with only one parameter field JCL Reference is your friend: //S1 EXEC PGM=IEFBR14,PARM='THIS IS A LONG PARAMETER WITHIN APOST // ROPHES, CONTINUED IN COLUMN 16 OF THE NEXT RECORD' Example 4 shows continuation of a parameter field when a parameter is enclosed in apostrophes. The parameter field is continued from column 71 of the first card image to column 16 of the second. APOST - 'T' has to be on 71th column ROPHES - 'R' has to be on 16th column. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Tips for continuing DD statement with only one parameter field
Many long threads here on that one ... What's worse, parm means two different things. There is a limit of 100 characters on the operand of PARM=. But I was referring to parameters in the more general sense of, as the manual says, The parameter field consists of two types of parameters: positional parameters and keyword parameters. All positional parameters must precede all keyword parameters. Keyword parameters follow the positional parameters. Some of those parms such as PATH= can have operands with a length of 255 characters. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Scott Ford Sent: Wednesday, March 07, 2012 2:30 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Tips for continuing DD statement with only one parameter field There is a limitation on parms of 100 bytes if memory serves me. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: Tips for continuing DD statement with only one parameter field
Well, who's counting indeed, but my JCL reference says The pathname: - Has the form: /name1/name2/name3/.../namen - Begins with a slash. - Has a length of 1 through 255 characters. The system checks the length after substituting for any symbols and before compressing any consecutive slashes. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Paul Gilmartin Sent: Wednesday, March 07, 2012 5:58 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Tips for continuing DD statement with only one parameter field On Wed, 7 Mar 2012 18:54:47 -0500, Tony Harminc wrote: On 7 March 2012 18:27, Charles Mills wrote: Many long threads here on that one ... What's worse, parm means two different things. There is a limit of 100 characters on the operand of PARM=. But I was referring to parameters in the more general sense of, as the manual says, The parameter field consists of two types of parameters: positional parameters and keyword parameters. All positional parameters must precede all keyword parameters. Keyword parameters follow the positional parameters. Even worse, they probably should've been calling them arguments all these years... Some of those parms such as PATH= can have operands with a length of 255 characters. No, uh, argument. No, uh, the passage Charles quoted appears verbatim in article 3.1.1 Parameter Field of: Title: z/OS V1R13.0 MVS JCL Reference Document Number: SA22-7597-15 (or have you submitted an RCF that will appear in a future edition?) Op. cit. limits PATH to 254 characters, but who's counting? Anyway, that's closer to 255 than to 100. -- 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
Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()
This was bugging me so I got a start on a document. I have a table now (with some question marks in it) that correlates Model numbers, the HLASM MACHINE() option, and the XL C/C++ ARCH() option, and also the Enterprise PL/I option ARCH() which (believe it or not!!!) is apparently exactly equivalent to that of C/C++. I had the bright idea that I could run assemblies with MACHINE(xxx,LIST) at the various levels and then use ISPF 3.12 to determine the differences as the level changed, but HLASM prints the opcode list in a three-column format, so nearly every line changes from one level to the next. I have not yet come up with an approach other than using some tool to make each list into a single column -- but that's more work than I wanted to take on this morning. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of Charles Mills Sent: Monday, March 05, 2012 7:02 PM To: IBM-MAIN@bama.ua.edu Subject: Re: Good source for relationship of opcodes, models, MACHINE() and ARCH() Thanks. Good list. IBM Canada does some cool stuff. Sheesh! Add G-levels to MACHINE() and ARCH() levels. All the information is out there. I could do a document that answered these questions if I didn't already have a day job. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN