Re: Anyone a Unicode Services expert? -- roundtrip conversion

2012-06-13 Thread Charles Mills
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

2012-06-13 Thread Charles Mills
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

2012-06-13 Thread Charles Mills
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

2012-06-12 Thread Charles Mills
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

2012-06-12 Thread Charles Mills
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

2012-06-12 Thread Charles Mills
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

2012-06-12 Thread Charles Mills
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

2012-06-12 Thread Charles Mills
 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

2012-06-12 Thread Charles Mills
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

2012-06-12 Thread Charles Mills
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

2012-06-12 Thread Charles Mills
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

2012-06-12 Thread Charles Mills
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?

2012-06-12 Thread Charles Mills
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

2012-06-12 Thread Charles Mills
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

2012-06-12 Thread Charles Mills
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?

2012-06-12 Thread Charles Mills
 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

2012-06-12 Thread Charles Mills
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

2012-06-08 Thread Charles Mills
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??

2012-06-07 Thread Charles Mills
 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/++

2012-06-07 Thread Charles Mills
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??

2012-06-06 Thread Charles Mills
 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

2012-06-06 Thread Charles Mills
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??

2012-06-06 Thread Charles Mills
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?

2012-06-04 Thread Charles Mills
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?

2012-06-04 Thread Charles Mills
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?

2012-06-04 Thread Charles Mills
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

2012-06-01 Thread Charles Mills
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

2012-05-31 Thread Charles Mills
 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?

2012-05-31 Thread Charles Mills
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

2012-05-31 Thread Charles Mills
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

2012-05-30 Thread Charles Mills
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

2012-05-30 Thread Charles Mills
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

2012-05-30 Thread Charles Mills
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

2012-05-28 Thread Charles Mills
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

2012-05-25 Thread Charles Mills
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

2012-05-25 Thread Charles Mills
 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

2012-05-24 Thread Charles Mills
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

2012-05-23 Thread Charles Mills
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

2012-05-23 Thread Charles Mills
 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

2012-05-23 Thread Charles Mills
 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

2012-05-23 Thread Charles Mills
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

2012-05-23 Thread Charles Mills
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

2012-05-23 Thread Charles Mills
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?

2012-05-21 Thread Charles Mills
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?

2012-05-19 Thread Charles Mills
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?

2012-05-19 Thread Charles Mills
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?

2012-05-19 Thread Charles Mills
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?

2012-05-18 Thread Charles Mills
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?

2012-05-18 Thread Charles Mills
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

2012-05-13 Thread Charles Mills
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

2012-05-13 Thread Charles Mills
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?

2012-05-06 Thread Charles Mills
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?

2012-05-06 Thread Charles Mills
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?

2012-05-05 Thread Charles Mills
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?

2012-05-05 Thread Charles Mills
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

2012-05-04 Thread Charles Mills
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

2012-05-03 Thread Charles Mills
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

2012-05-03 Thread Charles Mills
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

2012-05-03 Thread Charles Mills
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

2012-05-03 Thread Charles Mills
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

2012-05-03 Thread Charles Mills
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

2012-05-03 Thread Charles Mills
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?

2012-05-02 Thread Charles Mills
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

2012-05-02 Thread Charles Mills
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?

2012-05-02 Thread Charles Mills
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

2012-05-02 Thread Charles Mills
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

2012-05-02 Thread Charles Mills
 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

2012-05-02 Thread Charles Mills
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?

2012-05-02 Thread Charles Mills
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

2012-05-01 Thread Charles Mills
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?

2012-05-01 Thread Charles Mills
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?

2012-04-30 Thread Charles Mills
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?

2012-04-30 Thread Charles Mills
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?

2012-04-27 Thread Charles Mills
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?

2012-04-26 Thread Charles Mills
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

2012-04-23 Thread Charles Mills
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?

2012-04-20 Thread Charles Mills
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?

2012-04-20 Thread Charles Mills
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

2012-04-20 Thread Charles Mills
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

2012-04-20 Thread Charles Mills
 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?

2012-04-19 Thread Charles Mills
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

2012-03-27 Thread Charles Mills
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

2012-03-27 Thread Charles Mills
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

2012-03-27 Thread Charles Mills
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

2012-03-27 Thread Charles Mills
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

2012-03-08 Thread Charles Mills
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!

2012-03-08 Thread Charles Mills
 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

2012-03-08 Thread Charles Mills
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

2012-03-08 Thread Charles Mills
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!

2012-03-08 Thread Charles Mills
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!

2012-03-08 Thread Charles Mills
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()

2012-03-07 Thread Charles Mills
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

2012-03-07 Thread Charles Mills
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

2012-03-07 Thread Charles Mills
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

2012-03-07 Thread Charles Mills
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

2012-03-07 Thread Charles Mills
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

2012-03-07 Thread Charles Mills
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

2012-03-07 Thread Charles Mills
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

2012-03-07 Thread Charles Mills
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()

2012-03-06 Thread Charles Mills
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


  1   2   3   4   5   6   7   8   9   10   >