× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Greetings, If you are interested in running Tomcat on IBM i, please
review the document on developer works. The details on how to set the JVM
are listed there.

[1]http://www.ibm.com/developerworks/ibmi/library/i-websolution-asf-tomcat/


Tim


Tim Rowe, timmr@xxxxxxxxxx
Business Architect Application Development & Systems Management for IBM i
IBM i Development Lab, Rochester, MN
(507) 253-6191 (Tie) 553-6191

http://www-03.ibm.com/systems/power/software/i/are/index.html



----- Original message -----
From: midrange-l-request@xxxxxxxxxxxx
Sent by: "MIDRANGE-L" <midrange-l-bounces@xxxxxxxxxxxx>
To: midrange-l@xxxxxxxxxxxx
Cc:
Subject: MIDRANGE-L Digest, Vol 14, Issue 1509
Date: Thu, Oct 22, 2015 6:43 AM

Send MIDRANGE-L mailing list submissions to
midrange-l@xxxxxxxxxxxx

To subscribe or unsubscribe via the World Wide Web, visit
[2]http://lists.midrange.com/mailman/listinfo/midrange-l
or, via email, send a message with subject or body 'help' to
midrange-l-request@xxxxxxxxxxxx

You can reach the person managing the list at
midrange-l-owner@xxxxxxxxxxxx

When replying, please edit your Subject line so it is more specific
than "Re: Contents of MIDRANGE-L digest..."

*** NOTE: When replying to this digest message, PLEASE remove all text
unrelated to your reply and change the subject line so it is meaningful.

Today's Topics:

1. Re: SQL Pre-compiler Issue (John Yeung)
2. changing java version from 1.6 to 1.7 or 1.8 (tim)
3. Re: 5761JV1 download from ESS not there (tim)
4. Re: SQL Pre-compiler Issue (CRPence)
5. DB2 RI, trigger, validation, etc and record level access and
SQL and/or ODBC. (Wilson, Jonathan)
6. RE: systools. group_ptf_currency Secuirty Concern Responses
(rob@xxxxxxxxx)

----------------------------------------------------------------------

message: 1
date: Thu, 22 Oct 2015 01:24:56 -0400
from: John Yeung <gallium.arsenide@xxxxxxxxx>
subject: Re: SQL Pre-compiler Issue

On Wed, Oct 21, 2015 at 4:52 PM, CRPence <crpbottle@xxxxxxxxx> wrote:
> On 21-Oct-2015 10:10 -0500, John Yeung wrote:
>> From where I'm sitting, it feels like the compilation (of correct
>> *syntax*) should either (1) always succeed whether or not the file
>> is found, and if there's a runtime error, so be it; or (2) never
>> succeed when the file is not found.
>
> While those absolutes might fit, in a /logical/ sense, they tend not
to
> fit, in a /practical/ sense. Perhaps strangely, most people are
> [begrudgingly] joyful when the pre-compiler diagnoses that their
reference
> is problematic. That although they may have to make changes to their
> source, and then issue the pre-compile request again, they usually
have
> fared better than if they had only learned of the likely failure
*after*
> they also ran their test suite. In the end, they have saved possibly
huge
> amounts of time.

Well, on the face of it, all you've said is that "static compile-time
checking can save potentially huge amounts of time". Fine. I don't
think anyone could sensibly argue against that. I wouldn't want to
give that up (given that my code is embedded in RPG). My proposed
behavior (2) *doesn't* give it up. Maybe that wasn't clear.

Maybe I need to state it in different terms: I believe that a missing
reference should be treated roughly the same as a
found-but-assumed-erroneous reference. (So if you want to be
permissive, then be permissive with all references; if you want to be
strict, then be strict with all references.)

I don't see how my proposed behavior (2) is any less practical than
what you've described. Unless you are saying that in practice, missing
references are overwhelmingly NOT errors in real-world code, and that
putting the onus on the programmer to either ensure the reference
exists or explicitly choose a higher GENLVL is somehow unreasonably
onerous.

John Y.

------------------------------

message: 2
date: Thu, 22 Oct 2015 02:12:56 -0400
from: tim <iseriesstuff@xxxxxxxxx>
subject: changing java version from 1.6 to 1.7 or 1.8

i installed java 1.7 and 1.8. When i do java *version i get the
following. I also have Tomcat 7 which i would like to point to the newer
version of java.

How does this value know to use 1.6? i dont see anything under WRKENVVAR
and i dont see a properties file.

java version "1.6.0"
Java(TM) SE Runtime Environment (build pap3260sr16fp2-20141026_01(SR16
FP2))
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 OS/400 ppc-32
jvmap3260sr16fp2-20141026_01 (JIT enabled, AOT enabled)
J9VM - 20141010_216764
JIT - r9_20140523_64469ifx2
GC - GA24_Java6_SR16_20141010_1202_B216764)
JCL - 20141005_01
Java program completed

------------------------------

message: 3
date: Thu, 22 Oct 2015 02:13:46 -0400
from: tim <iseriesstuff@xxxxxxxxx>
subject: Re: 5761JV1 download from ESS not there

worked perfect. Thank you. Just need to figure out how to point system
to new java version.

On 10/21/2015 10:10 PM, Pete Helgren wrote:
> Just posted this on my blog for the same reason. I am on 7.2 but the
> drill is the same:
>
> [3]http://www.petesworkshop.com/blog_wp/?p=193
>
> Basically: It's part of the base OS: 5770-SS1 in my case. Drill all
> the way down to find out you have to download the latest 5770-SS1 DVD
> and install from there.
>
> Not exactly intuitive..
>
> Pete Helgren
> www.petesworkshop.com
> GIAC Secure Software Programmer-Java
>
>
> On 10/21/2015 4:39 PM, tim wrote:
>> Im trying to download 5761JV1 options 14-17, but i dont even see this
>> product listed on the screen. When i google how to download it, it
>> points me back to ESS. Any idea what i need to do to get this? We are
>> on v7.1.
>

------------------------------

message: 4
date: Thu, 22 Oct 2015 03:59:21 -0500
from: CRPence <crpbottle@xxxxxxxxx>
subject: Re: SQL Pre-compiler Issue

On 22-Oct-2015 00:24 -0500, John Yeung wrote:
> On Wed, Oct 21, 2015 at 4:52 PM, CRPence wrote:
>> On 21-Oct-2015 10:10 -0500, John Yeung wrote:
>>> <<SNIP>>
>>> From where I'm sitting, it feels like the compilation (of
>>> correct *syntax*) should either (1) always succeed whether or not
>>> the file is found, and if there's a runtime error, so be it; or
>>> (2) never succeed when the file is not found.
>>
>> <<SNIP>>
>> While those absolutes might fit, in a /logical/ sense,
>> they tend not to fit, in a /practical/ sense. Perhaps strangely,
>> most people are [begrudgingly] joyful when the pre-compiler
>> diagnoses that their reference is problematic. That although they
>> may have to make changes to their source, and then issue the
>> pre-compile request again, they usually have fared better than if
>> they had only learned of the likely failure *after* they also ran
>> their test suite. In the end, they have saved possibly huge
>> amounts of time.
>
> Well, on the face of it, all you've said is that "static
> compile-time checking can save potentially huge amounts of time".
> Fine. I don't think anyone could sensibly argue against that. I
> wouldn't want to give that up (given that my code is embedded in
> RPG). My proposed behavior (2) *doesn't* give it up. Maybe that
> wasn't clear.

That was clear. Seems I did not cover that, because in an attempt at
being more succinct I omitted some background from a prior attempt at
replying; I ended up giving up on that draft, as the text had become
unwieldy. Unfortunately my unwritten _thoughts_ are not easily conveyed
in this medium ;-)

>
> Maybe I need to state it in different terms: I believe that a
> missing reference should be treated roughly the same as a
> found-but-assumed-erroneous reference. (So if you want to be
> permissive, then be permissive with all references; if you want to
> be strict, then be strict with all references.)
>
> I don't see how my proposed behavior (2) is any less practical than
> what you've described. Unless you are saying that in practice,
> missing references are overwhelmingly NOT errors in real-world code,

I made mention of, in my above reply [though that part was snipped],
of my acceptance of and there being "the apparent rationale behind the
choice to ignore the missing-references, whilst not ignoring those
located-references for which the validity checking fails."

Specifically to what that "rationale behind the choice to ignore the
missing-references" portion alludes, is that for the SQL [this, from my
ditched attempt at replying]:

"... the typical expectation for a reference /not found/ is that
eventually, the object will exist; that is to suggest, that typically
for a -204, the likely reaction within the program is the respective
CREATE statement. Arguably the SQL has the ALTER as well for which a
revision could occur, thus similarly the SQL could infer that such
changes are possible, but only by overlooking the relative infrequency
[of /altered/ as compared to /created new/ as dealt with in the same
program source]."

Essentially then [also from my ditched draft], I somewhat
repetitively offer, what is the presumption for handling
missing-references vs the presumption for handling located-references:

" So anyhow the SQL has decided that, if a reference is found, then
that reference will be used to perform the validity checking; presuming
the object is persistent and thus validation is appropriate. If the
reference is not found, then the statement will only be syntax checked;
presuming the object is temporal and the intention of the program must
be that the object will be created when required. If there are errors
with the found\validated reference, then the errors will be overlooked
according to a GENLVL specification suggesting to ignore the error."

Specifically with regard to [again, from my ditched draft] the much
rarer "scenario of a program needing to operate in [and thus compile in]
effectively the simultaneous dual-world-view of both past and present
[or present and future], is just not something that is very typical, and
is something easily overcome [...] by upping the severity-level (GENLVL)
allowed, so as to still pass the generated HLL code to the HLL compiler
[which for the OP, apparently that is non-functional], or overcome by
use of dynamic SQL, or overcome by ensuring the references are not found
and thus not validity-checked. Important point about overcoming, is
that the default behavior ensures that validity-checking failures will
fail the compile; i.e. so as to please the most, [whereas] the few will
have to overcome the difficulty in their atypical situation" [the
"atypical situation" referring to the altered\incompatible vs missing
TABLE-reference.

> and that putting the onus on the programmer to either ensure the
> reference exists or explicitly choose a higher GENLVL is somehow
> unreasonably onerous.
>

By intent, considered "unreasonably onerous" for the presumed-common
missing-references scenario, but considered not so onerous for the
presumed-much-rarer altered-reference scenario whereby the program
references both a post-ALTER version of a TABLE and a pre-ALTER version
of that TABLE.

FWiW, ALTER activities are usually done in entirely unrelated
phase(s) from the normal run-time; i.e. during upgrades to the
application. That alone makes them rarer. Often, the ALTER is all that
is done, thus implying that a validity-checked statement occurring for
both the down-level\pre-altered table and the up-level\post-altered
table would be rarer still. On occasion however, the upgrade feature
itself must perform both the ALTER and then an UPDATE [or some other
statement(s)] against the altered TABLE to /finish/ the upgrading of the
TABLE to the matching\present level of the new application run-time that
will have been compiled to\against the up-level vs the down-level
objects; probably most of these will encounter a validation error, but
not all would, because some altered tables will remain compatible with
whatever are the other statement(s) performed with\against that altered
table.

Also FWiW, I acknowledged in a separate post in the thread, that the
SQL pre-compiler could in theory be modified /to look for/ and ignore
failed validity-checks for any file that was named also in an embedded
ALTER. I was hesitant to suggest that would be something to pursue as a
design change, thinking that [esp. due to the rarity but also], that
idea as implementation might end up being described as the proverbial
/opening of a can of worms/; though mostly that reflects my not having
given the idea much thought.

--
Regards, Chuck

------------------------------

message: 5
date: Thu, 22 Oct 2015 12:17:26 +0100
from: "Wilson, Jonathan" <piercing_male@xxxxxxxxxxx>
subject: DB2 RI, trigger, validation, etc and record level access and
SQL and/or ODBC.

I am currently working on a service program handling data access, in its
most simplistic form it has gets, returning data structures, and I am
now working on the Put side of things.

I am thinking along the lines of the service program first sending *diag
messages to the caller, followed by an *escape denoting a hard error.

Something along the lines of:
SRVPGM_CustomerIsValid - procedure
if Customer.Name = *blanks
QMHSNDPM - Name is invalid - *diag.
IsError = *on
endif
etc...

if IsError
QMHSNDPM - Record is invalid - *escape
endif
SRVPGM_CustomerIsValid - end procedure

I know this works, handling the errors and relaying them to the display
is still to be worked on (1), and performs the task well.

I also know I can add tests to the DB using referential integrity and
also additional trigger-before testing and even something as simple as
duplicate key checking.

>From what I can make out, correct me if I'm wrong, any testing in the
DB
is done one by one till either it passes all the tests (and performs the
record update/add), or if an error is raised then any following, yet to
be checked, tests are not performed - it stops dead.

Also, again correct me if I'm wrong, if a file has 2 or more RI's and
none of them are valid then only the first fail is logged, the
outstanding RI's are not checked.

>From looking at ODBC (and I assume embedded SQL and CLI SQL) not only
is
an error/current status returned but also its possible to return a
varying list of diagnostic messages.

Now my questions are:
1) if I were to move the validation into the DB as a
before-record-trigger (or some other method) could I use the same "idea"
of sending *diags followed by an exception, and if I can does this
information get sent to the ILE performing the update so I can do
something along the lines of:
monitor
write Record
on-error
get exception error (QMHRCVM)
if exception = my exception
get all *diags (QMHRCVM)
display/condition fields on screen according to messages
else
handle DB exceptions such as "duplicate key" or "RI" etc.
endif
endmon

2) if the above is valid, does the same hold true if I use embedded SQL,
can I receive the exception and the diags and handle them.

3) again if the above is valid, does it also hold true of CLI SQL on the
i.

4) finally, are the diags and exception available to an application that
doesn't reside on the i (pc-app) or is native but not ILE (say via pase
or the like) - such as a ODBC - Java - C#

The main reason for asking the above is that while I know I can handle
things in a "normal" ILE/RPG/*SRVPGM validation program I don't want to
back myself into a corner and find that the next stage of ideas to test
just won't work. Obviously I'm designing with an eye to moving onto to
the next logical progression, but if that progression is not going to
work then there seems little point in designing with a forward view
(which won't work) and it would be better to design for "this works
really well in this scenario" and look at something totally different
for the next stage of DB constraints and tests.

Has anyone else done something similar?

Thanks in advance
Jon.

(1) I had initially thought about somehow passing back an array with
indicators denoting the field in error, but while this would work in a
simple all ILE program it fails if at some point the code is put into
the DB.

------------------------------

message: 6
date: Thu, 22 Oct 2015 07:43:10 -0400
from: rob@xxxxxxxxx
subject: RE: systools. group_ptf_currency Secuirty Concern Responses

There is just too much data a modern server has to get on a timely basis
from the internet to be isolated from contacting the internet. Serving
the internet may be a different matter.
- The IBM PTF service is one.
- Any number of web services is another. For example, a service which
constantly gets commodity prices from your broker might be used in
extremely frequent updates, if not on a transaction basis. (We used to
sell wire and the price was based on the commodity price of copper rod.)

I'll warrant to say there is much customer data on numerous "clients"
around your business. Down to that spreadsheet on someone's laptop.
The
one with the most data is the one most likely to access the internet.
This
last argument is too logical and will be lost on the security people.
Stick to the first paragraph and document individual needs.

Rob Berendt
--
IBM Certified System Administrator - IBM i 6.1
Group Dekko
Dept 1600
Mail to: 2505 Dekko Drive
Garrett, IN 46738
Ship to: Dock 108
6928N 400E
Kendallville, IN 46755
[4]http://www.dekko.com

From: "Krill, Coy" <CKrill@xxxxxxxxxxx>
To: "Midrange Systems Technical Discussion"
<midrange-l@xxxxxxxxxxxx>
Date: 10/21/2015 03:37 PM
Subject: RE: systools. group_ptf_currency Secuirty Concern
Responses
Sent by: "MIDRANGE-L" <midrange-l-bounces@xxxxxxxxxxxx>

They opened port 80 on the firewall so that the SQL view in IBM i can
consume an xml document at www-912.ibm.com. Generally they are
preventing
any server, particularly ones with customer data from being able to
access
anything on the internet directly. We have it open to connect to ECS but
that's over HTTPS and VPN, so there was less concern about that
originally. We have the same AD and Websense stuff going on and often
have
to reboot as well to get access restored even on the local network.

Coy Krill
Core Processing Administrator/Analyst
Washington Trust Bank

-----Original Message-----
From: MIDRANGE-L [[5]mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf
Of
rob@xxxxxxxxx
Sent: Wednesday, October 21, 2015 04:32
To: Midrange Systems Technical Discussion
Subject: RE: systools. group_ptf_currency Secuirty Concern Responses
Importance: Low

Exactly what did they have to open on the internet? Did you just have
to
open access to port 80 from your IBM i? Or did you have to allow
certain
ports from the internet to get to your IBM i? I'm pretty sure that you
only have to allow your IBM i to get to port 80. Because all of our IBM
i
lpars can use this new function and very few of them have any access TO
them FROM the internet. Do they restrict who can get to the internet by
IP address and stuff to limit time wasting and stuff? Here, we have a
setting in Windows Active Directory which says whether or not a user can
use the internet for http. Those who do access the internet for http
have
all traffic monitored (and restricted) by WebSense. In general they
block
porn, gambling and sites known to be hacks. Sometimes it goes crazy and
I
have to reboot my PC.
Sometimes I have to get permission to access a site which I know to be
valid but is blocked for some reason by WebSense. Perhaps this is just
your companies process. Rarely, if ever, am I denied.

Rob Berendt
--
IBM Certified System Administrator - IBM i 6.1 Group Dekko Dept 1600
Mail
to: 2505 Dekko Drive
Garrett, IN 46738
Ship to: Dock 108
6928N 400E
Kendallville, IN 46755
[6]http://www.dekko.com

From: "Krill, Coy" <CKrill@xxxxxxxxxxx>
To: "Midrange Systems Technical Discussion"
<midrange-l@xxxxxxxxxxxx>
Date: 10/20/2015 05:29 PM
Subject: RE: systools. group_ptf_currency Secuirty Concern
Responses
Sent by: "MIDRANGE-L" <midrange-l-bounces@xxxxxxxxxxxx>

Ordering PTFS via SNDPTFORD goes over a VPN or other secure channel to
IBM. IBM has the request for the systools view go out of regular
internet
channels. We get our CUM packages from our main software vendor as they
vet them for their software and add additional PTFs when necessary for
their software to work. I generally order the Java, HTTP, Security and
HIPER group packages monthly (and sometimes others depending on the
situation). I was looking at using the systools view to have an easily
accessible tool that can tell me what I can order that I don't already
have installed or waiting to apply. I don't generally compare individual
PTFs, just the groups.

Coy Krill
Core Processing Administrator/Analyst
Washington Trust Bank

-----Original Message-----
From: MIDRANGE-L [[7]mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf
Of
Jack Kingsley
Sent: Tuesday, October 20, 2015 12:34
To: Midrange Systems Technical Discussion
Subject: Re: systools. group_ptf_currency Secuirty Concern Responses
Importance: Low

How are you downloading and installing fixes. Do you have to remote
query

IBM to do your local compare for PTF's.

On Tue, Oct 20, 2015 at 3:04 PM, Krill, Coy <CKrill@xxxxxxxxxxx> wrote:

> I had our network folks open the firewall so that our Production, Test
> and DR machines could access
>
[8]http://www-912.ibm.com/s_dir/sline003.nsf/PSPbyNumL.xml?OpenView&count
> =500 and have the systools.group_ptf_currency view work properly.I've
> now been requested to meet with our security folks regarding this
> request.
>
> I assume that they are going to have security concerns and are
> potentially looking to block this site again. Has anyone had to
> respond to any inquiries from security or auditors regarding loading
> the xml table from IBM? It seems pretty innocuous to me, but perhaps
> I'm missing something larger but in any case I'd like to be prepared
> to assuage any security concerns as I would really like to use this
> view rather than having to compare a 5250 screen to a webpage every
month.
>
> Coy Krill
> Core Processing Administrator/Analyst
> Washington Trust Bank
>
>
>
> ---------------------------------------------------------------------
> This electronic mail message and any attachments may contain
> confidential or privileged information and is intended for use solely
> by the above-referenced recipient. Any review, copying, printing,
> disclosure, distribution, or other use by any other person or entity
> is strictly prohibited under applicable law. If you are not the named
> recipient, or believe you have received this message in error, please
> immediately notify the sender by replying to this message and delete
> the copy you received
>
> ---------------------------------------------------------------------
>
> --
> This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
> list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
> unsubscribe, or change list options,
> visit: [9]http://lists.midrange.com/mailman/listinfo/midrange-l
> or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take
> a moment to review the archives at
> [10]http://archive.midrange.com/midrange-l.
>
>
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: [11]http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at
[12]http://archive.midrange.com/midrange-l.

---------------------------------------------------------------------
This electronic mail message and any attachments may contain
confidential
or privileged information and is intended for use solely by the
above-referenced recipient. Any review, copying, printing, disclosure,
distribution, or other use by any other person or entity is strictly
prohibited under applicable law. If you are not the named recipient, or
believe you have received this message in error, please immediately
notify

the sender by replying to this message and delete the copy you received

---------------------------------------------------------------------

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: [13]http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at [14]http://archive.midrange.com/midrange-l.

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: [15]http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at [16]http://archive.midrange.com/midrange-l.

---------------------------------------------------------------------
This electronic mail message and any attachments may contain
confidential
or privileged information and is intended for use solely by the
above-referenced recipient. Any review, copying, printing, disclosure,
distribution, or other use by any other person or entity is strictly
prohibited under applicable law. If you are not the named recipient, or
believe you have received this message in error, please immediately
notify
the sender by replying to this message and delete the copy you received

---------------------------------------------------------------------

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: [17]http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at [18]http://archive.midrange.com/midrange-l.

------------------------------

Subject: Digest Footer

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) digest
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: [19]http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at [20]http://archive.midrange.com/midrange-l.

------------------------------

End of MIDRANGE-L Digest, Vol 14, Issue 1509
********************************************


References

Visible links
1. http://www.ibm.com/developerworks/ibmi/library/i-websolution-asf-tomcat/
2. http://lists.midrange.com/mailman/listinfo/midrange-l
3. http://www.petesworkshop.com/blog_wp/?p=193
4. http://www.dekko.com/
5. mailto:midrange-l-bounces@xxxxxxxxxxxx
6. http://www.dekko.com/
7. mailto:midrange-l-bounces@xxxxxxxxxxxx
8. http://www-912.ibm.com/s_dir/sline003.nsf/PSPbyNumL.xml?OpenView&count
9. http://lists.midrange.com/mailman/listinfo/midrange-l
10. http://archive.midrange.com/midrange-l
11. http://lists.midrange.com/mailman/listinfo/midrange-l
12. http://archive.midrange.com/midrange-l
13. http://lists.midrange.com/mailman/listinfo/midrange-l
14. http://archive.midrange.com/midrange-l
15. http://lists.midrange.com/mailman/listinfo/midrange-l
16. http://archive.midrange.com/midrange-l
17. http://lists.midrange.com/mailman/listinfo/midrange-l
18. http://archive.midrange.com/midrange-l
19. http://lists.midrange.com/mailman/listinfo/midrange-l
20. http://archive.midrange.com/midrange-l

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.