Re: Fw: Another OS/390 to z/OS 1.4 migration question (COBOL)

2005-06-29 Thread Shmuel Metz (Seymour J.)
In [EMAIL PROTECTED], on 06/28/2005
   at 09:27 PM, Bill Klein [EMAIL PROTECTED] said:

I don't understand your comment. 

Because you ignored part[1] of it and are are assuming that what
appears in the listing is identical to what appears in the source
code. That certainly didn't use to be true, and so far nobody has been
willing to state that it has changed.

As previously indicated the FLAG(I,I) option became the default at
the same time as DBCS.

As previously indicated, that is irrelevant.

Therefore, the compiler error message WILL appear in the listing
IMMEDIATELY after the line inserted by the translator (indicating
the column in that line with the problem).

What good does that do when the message lacks the necessary data to
diagnose the problem and is unintelligible to the target audience?

If a CICS application programmer can't recognize a translator
inserted line with
   Move alphanumeric literal to DFH 
field as being inserted by the translator 

Straw dummy. The CICS programmer can recognize it; what he can't do is
to guess what nondisplayable data are in the text.

and/or if that same programmer can't recognize that the column that 
the message is pointing to is within an alphanumeric literal, 

Another straw dummy.

then NO messages and codes manual is ever going to
help that programmer (IMHO)

A combination of a messages manual and a better message would. 
Starting with displaying the message text in hexadecimal, explaining
what SI and SO are and giving their hexadecimal values.

[1] Have they stopped translating out nondisplayable characters?
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Fw: Another OS/390 to z/OS 1.4 migration question (COBOL)

2005-06-28 Thread Bill Klein
I don't understand your comment.  

As previously indicated the FLAG(I,I) option became the default at the same
time as DBCS.

Therefore, the compiler error message WILL appear in the listing IMMEDIATELY
after the line inserted by the translator (indicating the column in that
line with the problem).

If a CICS application programmer can't recognize a translator inserted
line with

   Move alphanumeric literal to DFH 

field as being inserted by the translator and/or if that same programmer
can't recognize that the column that the message is pointing to is within an
alphanumeric literal, then NO messages and codes manual is ever going to
help that programmer (IMHO)

Shmuel  Metz , Seymour J. [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]...
 In [EMAIL PROTECTED], on 06/28/2005
at 08:48 AM, Joe Zitzelberger [EMAIL PROTECTED] said:
 
 While column 50 might look blank iff you are using a printed listing 
  (a rarity in the days of syntax highlighting editors
 
 Editors? It doesn't exist in the source file, so the editor doesn't
 see it.
 
 and a waste of trees)
 
 The term listing also includes DASD files with A or M carriage
 control. Have they stopped translating out nondisplayable characters?
 
 the surrounding columns would have something like:
  Move 'a 0d 2 ic$k34 d  pd e,x d' to DFHEI1234
 
 Why would you get the error message for alphanumeric text? I don't see
 a SI or SO there.
 
 
 That should be enough for anyone to realize it is a translator
 problem.
 
 It would if the compiler were complaining about one of those
 characters.
  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Fw: Another OS/390 to z/OS 1.4 migration question (COBOL)

2005-06-24 Thread Shmuel Metz (Seymour J.)
In [EMAIL PROTECTED], on
06/23/2005
   at 01:33 PM, Bill Klein [EMAIL PROTECTED] said:

With FLAG(I,I) which became the default at the same time as DBCS, the
message *does* appear exactly AFTER the line (inserted by the
preprocessor) which follows the originally coded line.  As the mesage
also tells the column where the problem exists, it should be pretty
obvious where the problem was.  (Again - or at least it would be to
me)

Okay, so you look at column 50 in the listing and you see a blank? Now
what? It would help if the message included the offending literal
text, in hexadecimal, and explained SI and SO for the benefit of those
who have no reason to understand DBCS. If I didn't know what DBCS was
I would have found the message to be totally opaque, and as is I still
wouldn't have known what the offending data were.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Fw: Another OS/390 to z/OS 1.4 migration question (COBOL)

2005-06-23 Thread Bill Klein
Perryman, Brian [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
i.com...
 SNIP
 
snip
 
 What is not self-describing about these is why they suddenly started
appearing when the programmer hadn't changed any of his code, that's what!

If messages start appearing after a migration of compilers, then SOMEONE
(application programmer or systems programmer) SHOULD have the sense to
check in the Migration Guide.

Furthermore, IMHO, anyone (systems programmer) who does a migration of
compilers and does NOT look at what compiler options are DOCUMENTED as
changing and figuring out what implications this has for their shop, isn't
doing their job.

If the complain was (which is NOT true) that this isn't documented as a
CHANGE in both the Migration and Installation manuals, then I would say -
yes, there is a problem, but this one just isn't in that category.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Fw: Another OS/390 to z/OS 1.4 migration question (COBOL)

2005-06-23 Thread Bill Klein
Sorry to disagree on this one (again), but the error message tells you
exactly WHERE (what line and what column in that line) has the problem.  a
VERY simple search of either the COBOL LRM or APG for the term shift-in
will tell you what this means and again, a search of the manual SHOULD take
you to:

http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/igy3c120/2.18 

which should show you where your customization went wrong.


You state,
  IBM message is supposed to have a response documented, like this: ...

Where did you get this idea?  Some products certainly do that, but certainly
NOT all (and it isn't just the COBOL compiler that doesn't).

***

In the days of hard-copy only manuals, there MIGHT have been a need for
more explanation, but I am not convinced that the COBOL messages along with
an online search of the COBOL bookshelves using the keywords from the
message won't get you to the correct place.

P.S.  This specific problem would have been solved by changing to NODBCS.
HOWEVER, the real problem (as pointed out elsewhere) was the change in
CICS and differences between how the COBOL2 translator option worked and now
works - versus how the COBOL3 translator works.  Do you REALLY think that a
COBOL messages manual would have helped you with this?

Thomas Conley [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]...
 - Original Message - 
 From: Joe Zitzelberger [EMAIL PROTECTED]
 Newsgroups: bit.listserv.ibm-main
 Sent: Wednesday, June 22, 2005 7:58 PM
 Subject: Re: Another OS/390 to z/OS 1.4 migration question (COBOL)
 
 
  On Jun 22, 2005, at 7:04 PM, Steve Comstock wrote:
 
  IGYPS0157-E   A shift-out was found in column 50 without a
matching 
  shift-in in a nonnumeric or national literal.  The   literal was 
  processed as written.
 
  A shift-out without a shift-in?  Pretty obvious.
 
  Not if he was not using DBCS. No reason to expect
  this message. Apparently it was caused by the
  change if default compiler option settings, which
  does seem a little obscure, don't you think?
 
  Not at all.
 
  Just because you find a shift-in in your source doesn't mean the  error 
  message is at fault.  If you look at your listing and actually  see a 
  shift in there, then you might want to complain about the  preprocessor 
  that placed it there.  But that would be the  preprocessors fault, not
the 
  message -- it means exactly what it says.
 
  If you will pardon the pun, this sound like a perfect example of 
  'shooting the messenger' instead of addressing the root cause.
 
 
 Joe,
 
 You are wrong here.  Imagine a shop that has used COBOL for decades, and 
 can't even spell DBCS.  All of a sudden this message pops up after a 
 compiler upgrade.  The programmer asks What's a shift-in?  The systems 
 programmer says BTF outta me.  Let's get the message manual.  Oops, no 
 manual, now what?  Open a PMR only to be told by COBOL Level 2 what an
idiot 
 you are..
 
 Your assumption that this message tells the whole story is absurd.  Every 
 IBM message is supposed to have a response documented, like this:
 
 Programmer response:  If using DBCS support, be sure that your DBCS 
 character stream contains proper shift-in shift-out pairs. If you are not 
 using DBCS, be sure that you specify the NODBCS in your compile.
 
 Problem solved.  Expecting the user to know every option and feature of
the 
 COBOL compiler, especially those features and options that they're not
even 
 using, is ridiculous.  That's why every error message generated by an IBM 
 product is supposed to be fully documented with appropriate Response 
 sections.
 
 Regards,
 Tom Conley 
 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Fw: Another OS/390 to z/OS 1.4 migration question (COBOL)

2005-06-23 Thread Bill Klein
So far, I haven't received any off-list or online replies to my pointing out
my work-in-progress web page at:

   http://home.comcast.net/~wmklein/IBM/ErrMsg.htm

Would this type of web-page be of use to those who can't figure out the
COBOL compiler messages?

McKown, John [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]...
 Hum, there appears to be an apparent need/desire for this documentation,
 despite IBM's protestations. What I think would be interesting would be
 a Wikipedia like setup. That's where all these messages could be
 documented and then users could post their observations and helpful
 hints. Unfortunately, a Wikipedia is subject to defacing by kids, and
 others, who have nothing better to do. It also requires a hosting web
 site. Hum, I wonder if Marist would be interested?
 
 
 --
 John McKown

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Fw: Another OS/390 to z/OS 1.4 migration question (COBOL)

2005-06-22 Thread Bill Klein
If you didn't upgrade your COBOL as well as z/OS, then I would be REALLY
surprised in this change occurring.  The COBOL documentation talks about the
change from NODBCS to DBCS as the default compiler option - in newer
releases of Enterprise COBOL.  There should ALSO be a change from FLAG(I) to
FLAG(I,I) so that these messages SHOULD have appeared in the source code
exactly by the line that had the problem.

FYI,
  What the change from NODBCS to DBCS means is that *if* you have hex OD
and OE in your alphanumeric literals, they are treated as DBCS control
characters.

NOTE WELL:
  COBOL compiler messages (IGY) are *not* documented; they are
self-documenting.  If your application programmers can't figure out these
specific messages, I would suggest additional training for them.  If they
don't know WHY they are getting the messages now (but not before), then I
suggest you provide them references to the COBOL Migration Guide which does
talk about such changes (NODBCS to DBCS). 

Finally, it does sound as if you may want to switch your site default to
NODBCS - unless you also have DBCS applications.  The difference between
COBOL2 and COBOL3 compiler options MAY influence some of this, but isn't the
real problem with these messages.

Perryman, Brian [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
i.com...
 Hi folks
  
 Our developers are getting IGYPS0157-E and IGYPS0158E messages when they
try and compile a CICS COBOL program on z/OS 1.4 in Enterprise Cobol of z/OS
and OS/390 V3.2.
  
 I can't find these blasted messages documented anywhere!! Is there some
convoluted format for decoding them?
  
 I suspect it's just a COBOL options member problem, but I need to see the
message description. It only seems to happen when the CICS precompiler (CICS
4.1.0) is included first.
  
 The texts of the messages are:
  
 IGYPS0157-E   A shift-out was found in column 50 without a matching
shift-in in a nonnumeric or national literal.  The literal was processed as
written.
 
 IGYPS0158-E   A nonnumeric or national literal containing double-byte
characters was found which exceeded the maximum literal length or reached
end of area B before terminating.  A literal delimiter was placed at
column 72 of line 
 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Fw: Another OS/390 to z/OS 1.4 migration question (COBOL)

2005-06-22 Thread Steve Comstock

Bill Klein wrote:

If you didn't upgrade your COBOL as well as z/OS, then I would be REALLY
surprised in this change occurring.  The COBOL documentation talks about the
change from NODBCS to DBCS as the default compiler option - in newer
releases of Enterprise COBOL.  There should ALSO be a change from FLAG(I) to
FLAG(I,I) so that these messages SHOULD have appeared in the source code
exactly by the line that had the problem.

FYI,
  What the change from NODBCS to DBCS means is that *if* you have hex OD
and OE in your alphanumeric literals, they are treated as DBCS control
characters.



And I can't figure out why they made that change,
since DBCS is, supposedly, on its eventual way
out, to be replaced by NATIONAL (Unicode). Any
idea why the default was changed? Especially since
the vast majority of US shops do not even use
DBCS data?



NOTE WELL:
  COBOL compiler messages (IGY) are *not* documented; they are
self-documenting.  If your application programmers can't figure out these
specific messages, I would suggest additional training for them.  


Thanks, Bill, I think. But I agree with another
poster who suggested perhaps some messages are
not as self-documenting as the compiler writers
think they are. Maybe some training on English?

I guess the kind of training we (and, presumably
other training vendors) offer on COBOL would
provide the background for programmers to be
more likely to understand the messages.


If they

don't know WHY they are getting the messages now (but not before), then I
suggest you provide them references to the COBOL Migration Guide which does
talk about such changes (NODBCS to DBCS). 


Finally, it does sound as if you may want to switch your site default to
NODBCS - unless you also have DBCS applications.  The difference between
COBOL2 and COBOL3 compiler options MAY influence some of this, but isn't the
real problem with these messages.



Again, why the IBM-supplied compiler default was changed to
DBCS is a mystery. Or at least a curiosity.

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.
http://www.trainersfriend.com

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


DBCS as the default (was: Fw: Another OS/390 to z/OS 1.4 migration question (COBOL)

2005-06-22 Thread Bill Klein
Steve Comstock [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]...
snip
 And I can't figure out why they made that change,
 since DBCS is, supposedly, on its eventual way
 out, to be replaced by NATIONAL (Unicode). Any
 idea why the default was changed? Especially since
 the vast majority of US shops do not even use
 DBCS data?
 

NSYMBOL(National) *requires* (forces on) DBCS, so actually having/allowing
the DBCS option is a pre-requisite for having Unicode support.

There are some long and painful internal discussions (between myself and
the IBM ANSI COBOL rep) and within the J4 group about exactly what is
Standard conforming behavior when you have control characters within an
alphanumeric literal.  I won't go into them here, but I semi-understand the
IBM position that ALLOWING national character strings within an
alphanumeric literal is a good thing when you MAY use X0E type notation
*if* you want to have those x'0d' and  x'0e' within literals.

The change in defaults WAS highlighted in announcements, migration guides,
and installation material - but what its IMPLICATIONS were - are probably
unclear to most programmers (application or systems).

As stated in another note, if you use the COBOL3 CICS translator option, you
will never have a problem with this (for CICS generated code) and the amount
of user code with hex 0E and 0D intentionally within NON-DBCS
alphanumeric literals is so small that I suspect this should not be a major
problem.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: DBCS as the default (was: Fw: Another OS/390 to z/OS 1.4 migration question (COBOL)

2005-06-22 Thread Imbriale, Donald (Exchange)
I think you're confusing the DBCS value of the NSYMBOL option with the
DBCS option.


Don Imbriale

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf
Of Steve Comstock
Sent: Wednesday, June 22, 2005 2:36 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: DBCS as the default (was: Fw: Another OS/390 to z/OS 1.4
migration question (COBOL)

Bill Klein wrote:
 Steve Comstock [EMAIL PROTECTED] wrote in message
 news:[EMAIL PROTECTED]...
 snip

And I can't figure out why they made that change,
since DBCS is, supposedly, on its eventual way
out, to be replaced by NATIONAL (Unicode). Any
idea why the default was changed? Especially since
the vast majority of US shops do not even use
DBCS data?



 NSYMBOL(National) *requires* (forces on) DBCS, so actually
having/allowing
 the DBCS option is a pre-requisite for having Unicode support.

Ah. Now that is just flat out wrong. The doc says it is
NSYMBOL({NATIONAL|DBCS}) - that is, one or the other.

Ahh, but wait. Same doc under Conflicting Compiler Options,
it says NSYMBOL(NATIONAL) forces on the DBCS compiler option.
Now I'm really confused. Why would you set up a choice of
NSYMBOL({NATIONAL|DBCS}) when setting NATIONAL forces on DBCS?

Very nice.


 There are some long and painful internal discussions (between
myself and
 the IBM ANSI COBOL rep) and within the J4 group about exactly what is
 Standard conforming behavior when you have control characters
within an
 alphanumeric literal.  I won't go into them here, but I
semi-understand the
 IBM position that ALLOWING national character strings within an
 alphanumeric literal is a good thing when you MAY use X0E type
notation
 *if* you want to have those x'0d' and  x'0e' within literals.

 The change in defaults WAS highlighted in announcements, migration
guides,
 and installation material - but what its IMPLICATIONS were - are
probably
 unclear to most programmers (application or systems).

Yup.


***
Bear Stearns is not responsible for any recommendation, solicitation, 
offer or agreement or any information about any transaction, customer 
account or account activity contained in this communication.
***

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: DBCS as the default (was: Fw: Another OS/390 to z/OS 1.4 migration question (COBOL)

2005-06-22 Thread Steve Comstock

Imbriale, Donald (Exchange) wrote:

I think you're confusing the DBCS value of the NSYMBOL option with the
DBCS option.


Well, it certainly is confusing. But I tried to make it
clear what I was saying is choosing the NATIONAL value
for the NSYMBOL option forces on the DBCS option. And
it still doesn't make any sense. Of course, it probably
is not a good practice to have standalone options the
same as choices for other options.

Kind regards,

-Steve Comstock




Don Imbriale



[snip]



NSYMBOL(National) *requires* (forces on) DBCS, so actually


having/allowing


the DBCS option is a pre-requisite for having Unicode support.


Ah. Now that is just flat out wrong. The doc says it is
NSYMBOL({NATIONAL|DBCS}) - that is, one or the other.

Ahh, but wait. Same doc under Conflicting Compiler Options,
it says NSYMBOL(NATIONAL) forces on the DBCS compiler option.
Now I'm really confused. Why would you set up a choice of
NSYMBOL({NATIONAL|DBCS}) when setting NATIONAL forces on DBCS?

Very nice.



There are some long and painful internal discussions (between


myself and


the IBM ANSI COBOL rep) and within the J4 group about exactly what is
Standard conforming behavior when you have control characters


within an


alphanumeric literal.  I won't go into them here, but I


semi-understand the


IBM position that ALLOWING national character strings within an
alphanumeric literal is a good thing when you MAY use X0E type


notation


*if* you want to have those x'0d' and  x'0e' within literals.

The change in defaults WAS highlighted in announcements, migration


guides,


and installation material - but what its IMPLICATIONS were - are


probably


unclear to most programmers (application or systems).


Yup.




--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


DBCS as the default (was: Fw: Another OS/390 to z/OS 1.4 migration question (COBOL)

2005-06-22 Thread Bill Klein
OK, to explain ...

*ALL* the DBCS (or NODBCS) compiler option does is to determine how
X'0E' and 
X'0D' are treated when they appear WITHIN an alphanumeric literal.  When
it is 
turned on, then they are treated as SHIFT-OUT/IN control characters (and
this 
may be shifting to Unicode *or* to IBM-specific-DBCS codes).

The NSYMBOL compiler option determines
 - What the default USAGE is for PIC N data items (NATIONAL (aka
UNICODE) or 
DISPLAY-1 (aka DBCS))
- Whether Nliterals (and NXliterals are DBCS or UNICODE format (on
output)

Therefore, it is logically possible to have any combination  of
NODBCS/DBCS 
and NSYMBOL(NATIONAL)/(DBCS).

IBM, however, at roughly the same time they changed the default to
DBCS 
decided (for political reasons - I believe, not syntactic reasons) NOT
to 
support the combination of

   NODBCS ,NSYMBOL(NATIONAL)

Clearer
-- 
Bill Klein
 wmklein at ix.netcom.com
Steve Comstock [EMAIL PROTECTED] wrote in message 
news:[EMAIL PROTECTED]
 Imbriale, Donald (Exchange) wrote:
 I think you're confusing the DBCS value of the NSYMBOL option with
the
 DBCS option.

 Well, it certainly is confusing. But I tried to make it
 clear what I was saying is choosing the NATIONAL value
 for the NSYMBOL option forces on the DBCS option. And
 it still doesn't make any sense. Of course, it probably
 is not a good practice to have standalone options the
 same as choices for other options.

 Kind regards,

 -Steve Comstock


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: DBCS as the default (was: Fw: Another OS/390 to z/OS 1.4 migration question (COBOL)

2005-06-22 Thread Steve Comstock

Bill Klein wrote:

OK, to explain ...

*ALL* the DBCS (or NODBCS) compiler option does is to determine how
X'0E' and 
X'0D' are treated when they appear WITHIN an alphanumeric literal.  When
it is 
turned on, then they are treated as SHIFT-OUT/IN control characters (and
this 
may be shifting to Unicode *or* to IBM-specific-DBCS codes).


The NSYMBOL compiler option determines
 - What the default USAGE is for PIC N data items (NATIONAL (aka
UNICODE) or 
DISPLAY-1 (aka DBCS))

- Whether Nliterals (and NXliterals are DBCS or UNICODE format (on
output)

Therefore, it is logically possible to have any combination  of
NODBCS/DBCS 
and NSYMBOL(NATIONAL)/(DBCS).


IBM, however, at roughly the same time they changed the default to
DBCS 
decided (for political reasons - I believe, not syntactic reasons) NOT
to 
support the combination of


   NODBCS ,NSYMBOL(NATIONAL)

Clearer


Yup.

Thanks.

Kind regards,

-Steve Comstock

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html