|
Hello Paul,
You wrote:
>Maybe this is a FAQ, but what do I need to do to inform Java programs on
>my AS/400s that the current time is in Pacific Standard/Daylight Time and
>not in GMT? When I get a Date object, the value I get from it is
>something like 18:42 GMT instead of 11:42 PDT. Setting up a system
>property via -Duser.timezone=PST works, but only as long as all my
>AS/400s are actually in the same time zone. Is there a setting somewhere
>I can make on each machine? System value QUTCOFFSET = -0700 doesn't seem
>to make any difference.
I've been through this for a customer in Australia. You need to create a
locale object describing the timezone information. The following is an
excerpt describing the necessary steps. Change the values as appropriate
for your system. You will have less work to perform because IBM supply
locale templates for the US. You should only need to change the timezone
information which is at the bottom of the locale template. I have attached
an Australian example at the end of this note.
1/ QUTCOFFSET should be -10:00 because Australia is West of GMT.
The QUTCOFFSET is subtracted from the current system time to derive GMT
(which is not how it works on some other platforms).
2/ The JVM sets a property called user.timezone when it starts.
It sets this by calling the QlgRetrieveLocaleInformation API. If no
timezone information exists, or no locale is found, then GMT is assumed --
hence your problem.
3/ The locale information comes from the user profile or the
system value QLOCALE. The default for the user profile is *SYSVAL and the
default for the system value is *NONE.
4/ Locales are created from source definitions. Template
definitions are found in the QSYSLOCALE library if option 21 "Extended NLS
Support" of OS/400 is installed. You can install this from the OS/400
CD-ROM if you want the templates but I have provided one modified for
Australia.
What you must do to correct the problem:
o CRTLIB MY_SYS TEXT('MY system changes.')
o CRTSRCPF MY_SYS/LOCALESRC TEXT('Locale definitions.')
o Use FTP (or equivalent) to transfer the attached EN_AU locale
source to the file
o Make any changes to the source as required. You will probably
have to change the start and end times of daylight saving time found at
the bottom of the source. The source is described in the AS/400
International Application Development manual.
o CRTLOCALE LOCALE('/qsys.lib/my_sys.lib/en_au37.locale')
SRCFILE('/qsys.lib/my_sys.lib/localesrc.file/en_au.mbr')
CCSID(37)
TEXT('Australian/English Locale Definition.')
NOTE:- I suggest putting the locale in the MY_SYS library but you
could put it anywhere, even in the IFS. IBM supplies some locales in
/QIBM/locale.
o Make the locale available:
Global change:
CHGSYSVAL
QLOCALE('/qsys.lib/my_sys.lib/en_au37.locale')
User-specific change
CHGUSRPRF user
LOCALE('/qsys.lib/my_sys.lib/en_au37.locale')
o Test your timestamps
<====== Here is a locale definition for Australia ====>
comment_char <percent-sign>
escape_char <slash>
%
% SHC @ 00/05/25
% LC_MONETARY : International currency symbol modified for Australian
Dollars
% LC_TIME : Date format modified for Australia
% LC_TOD : TimeZone modified for Australian Eastern Standard Time
%
%
% 5716SS1 (C) COPYRIGHT IBM CORP. 1991,1996
% ALL RIGHTS RESERVED.
% US GOVERNMENT USERS RESTRICTED RIGHTS -
% USE, DUPLICATION OR DISCLOSURE RESTRICTED
% BY GSA ADP SCHEDULE CONTRACT WITH IBM CORP.
%
% LICENSED MATERIALS-PROPERTY OF IBM
%
% FILE NAME : EN_AU
%
% COUNTRY/REGION: AUSTRALIA
%
% LANGUAGES(S): ENGLISH
%
% DESCRIPTION: LOCALE SOURCE DEFINITION FILE.
%
LC_CTYPE
upper <A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;<L>;<M>;/
<N>;<O>;<P>;<Q>;<R>;<S>;<T>;<U>;<V>;<W>;<X>;<Y>;<Z>;/
<A-acute>;<A-grave>;<A-circumflex>;<A-diaresis>;/
<A-tilde>;<A-ring>;<AE>;<C-cedilla>;<Eth>;<E-acute>;/
<E-grave>;<E-circumlex>;<E-diaresis>;<I-acute>;/
<I-grave>;<I-circumflex>;<I-diaresis>;<N-tilde>;/
<O-acute>;<O-grave>;<O-circumflex>;<O-diaresis>;/
<O-tilde>;<O-slash>;<Thorn>;<U-acute>;<U-grave>;/
<U-circumflex>;<U-diaresis>;<Y-acute>
lower <a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;/
<n>;<o>;<p>;<q>;<r>;<s>;<t>;<u>;<v>;<w>;<x>;<y>;<z>;/
<a-acute>;<a-grave>;<a-circumflex>;<a-diaresis>;/
<a-tilde>;<a-ring>;<ae>;<c-cedilla>;<eth>;<e-acute>;/
<e-grave>;<e-circumflex>;<e-diaresis>;<i-acute>;/
<i-grave>;<i-circumflex>;<i-diaresis>;<n-tilde>;/
<o-acute>;<o-grave>;<o-circumflex>;<o-diaresis>;/
<o-tilde>;<o-slash>;<s-sharp>;<thorn>;<u-acute>;/
<u-grave>;<u-circumflex>;<u-diaresis>;<y-acute>;/
<y-diaresis>
space
<tab>;<newline>;<NL>;<vertical-tab>;<form-feed>;<carriage-return>;/
<space>
cntrl <NUL>;<SOH>;<STX>;<ETX>;<EOT>;<ENQ>;<ACK>;<alert>;<backspace>;/
<tab>;<newline>;<vertical-tab>;<form-feed>;<carriage-return>;/
<SO>;<SI>;<DLE>;<DC1>;<DC2>;<DC3>;<DC4>;<NAK>;<SYN>;<ETB>;/
<CAN>;<EM>;<SUB>;<ESC>;<IS4>;<IS3>;<IS2>;<IS1>;<DEL>;/
<DS>;<SOS>;<FS>;<WUS>;<BYP>;<NL>;<RNL>;<POC>;<SA>;<SFE>;<SM>;/
<CSP>;<MFA>;<SPS>;<RPT>;<CU1>;<DCS>;<PU1>;<UBS>;<IR>;<PP>;/
<TRN>;<NBS>;<GE>;<SBS>;<IT>;<RFF>;<CU3>;<SEL>;<RES>;<PM>;<EO>
graph <exclamation-mark>;<quotation-mark>;<number-sign>; /
<dollar-sign>;<percent-sign>;<ampersand>;<apostrophe>; /
<left-parenthesis>;<right-parenthesis>;<asterisk>;<plus-sign>;/
<comma>;<hyphen-minus>;<period>;<slash>;/
<zero>;<one>;<two>;<three>;<four>;<five>;<six>;<seven>;/
<eight>;<nine>;<colon>;<semicolon>;<less-than-sign>; /
<equals-sign>;<greater-than-sign>;<question-mark>;/
<commercial-at>;<A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;/
<L>;<M>;<N>;<O>;<P>;<Q>;<R>;<S>;<T>;<U>;<V>;<W>;<X>;<Y>;<Z>;/
<left-square-bracket>;<backslash>;/
<right-square-bracket>;<circumflex>;/
<underscore>;<grave-accent>;/
<a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;/
<n>;<o>;<p>;<q>;<r>;<s>;<t>;<u>;<v>;<w>;<x>;<y>;<z>;/
<left-brace>;<vertical-line>;<right-brace>;/
<tilde>;<C-cedilla>;<u-diaresis>;<e-acute>;<a-circumflex>;/
<a-diaresis>;<a-grave>;<a-ring>;<c-cedilla>;<e-circumflex>;/
<e-diaresis>;<e-grave>;<i-diaresis>;<i-circumflex>;/
<i-grave>;<A-diaresis>;<A-ring>;<E-acute>;<ae>;<AE>;/
<o-circumflex>;<o-diaresis>;<o-grave>;<u-circumflex>;/
<u-grave>;<y-diaresis>;<O-diaresis>;<U-diaresis>;<o-slash>;/
<sterling>;<O-slash>;<multiply>;<a-acute>;<i-acute>;/
<o-acute>;<u-acute>;<n-tilde>;<N-tilde>;<feminine>;/
<masculine>;<question-down>;<registered>;<not>;<one-half>;/
<one-quarter>;<exclamation-down>;<guillemot-left>;/
<guillemot-right>;<A-acute>;<A-circumflex>;<A-grave>;/
<copyright>;<cent>;<yen>;<a-tilde>;<A-tilde>;<currency>;/
<eth>;<Eth>;<E-circumflex>;<E-diaresis>;<E-grave>;/
<I-acute>;<I-circumflex>;<I-diaresis>;<broken-bar>;/
<I-grave>;<O-acute>;<s-sharp>;<O-circumflex>;/
<O-grave>;<o-tilde>;<O-tilde>;<mu>;<thorn>;<Thorn>;<U-acute>;/
<U-circumflex>;<U-grave>;<y-acute>;<Y-acute>;<macron>;/
<acute>;<hyphen>;<plus-minus>;<three-quarters>;<paragraph>;/
<section>;<divide>;<cedilla>;<degree>;<diaresis>;<dot>;/
<one-superior>;<three-superior>;<two-superior>
print <space>;<exclamation-mark>;<quotation-mark>;<number-sign>; /
<dollar-sign>;<percent-sign>;<ampersand>;<apostrophe>; /
<left-parenthesis>;<right-parenthesis>;<asterisk>;<plus-sign>;/
<comma>;<hyphen-minus>;<period>;<slash>;/
<zero>;<one>;<two>;<three>;<four>;<five>;<six>;<seven>;/
<eight>;<nine>;<colon>;<semicolon>;<less-than-sign>; /
<equals-sign>;<geater-than-sign>;<question-mark>;/
<commercial-at>;<A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;/
<L>;<M>;<N>;<O>;<P>;<Q>;<R>;<S>;<T>;<U>;<V>;<W>;<X>;<Y>;<Z>;/
<left-square-bracket>;<backslash>;/
<right-square-bracket>;<circumflex>;/
<underscore>;<grave-accent>;/
<a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;/
<n>;<o>;<p>;<q>;<r>;<s>;<t>;<u>;<v>;<w>;<x>;<y>;<z>;/
<left-brace>;<vertical-line>;<right-brace>;/
<tilde>;<C-cedilla>;<u-diaresis>;<e-acute>;<a-circumflex>;/
<a-diaresis>;<a-grave>;<a-ring>;<c-cedilla>;<e-circumflex>;/
<e-diaresis>;<e-grave>;<i-diaresis>;<i-circumflex>;/
<i-grave>;<A-diaresis>;<A-ring>;<E-acute>;<ae>;<AE>;/
<o-circumflex>;<o-diaresis>;<o-grave>;<u-circumflex>;/
<u-grave>;<y-diaresis>;<O-diaresis>;<U-diaresis>;<o-slash>;/
<sterling>;<O-slash>;<multiply>;<a-acute>;<i-acute>;/
<o-acute>;<u-acute>;<n-tilde>;<N-tilde>;<feminine>;/
<masculine>;<question-down>;<registered>;<not>;<one-half>;/
<one-quarter>;<exclamation-down>;<guillemot-left>;/
<guillemot-right>;<A-acute>;<A-circumflex>;<A-grave>;/
<copyright>;<cent>;<yen>;<a-tilde>;<A-tilde>;<currency>;/
<eth>;<Eth>;<E-circumflex>;<E-diaresis>;<E-grave>;/
<I-acute>;<I-circumflex>;<I-diaresis>;<broken-bar>;/
<I-grave>;<O-acute>;<s-sharp>;<O-circumflex>;/
<O-grave>;<o-tilde>;<O-tilde>;<mu>;<thorn>;<Thorn>;<U-acute>;/
<U-circumflex>;<U-grave>;<y-acute>;<Y-acute>;<macron>;/
<acute>;<hyphen>;<plus-minus>;<three-quarters>;<paragraph>;/
<section>;<divide>;<cedilla>;<degree>;<diaresis>;<dot>;/
<one-superior>;<three-superior>;<two-superior>
punct <exclamation-mark>;<quotation-mark>;<number-sign>; /
<dollar-sign>;<percent-sign>;<ampersand>;<apostrophe>; /
<left-parenthesis>;<right-parenthesis>;<asterisk>;<plus-sign>;/
<comma>;<hyphen-minus>;<period>;<slash>;/
<colon>;<semicolon>;<less-than-sign>; /
<equals-sign>;<greater-than-sign>;<question-mark>;/
<commercial-at>;/
<left-square-bracket>;<backslash>;/
<right-square-bracket>;<circumflex>;/
<underscore>;<grave-accent>;/
<left-brace>;<vertical-line>;<right-brace>;/
<tilde>
digit <zero>;<one>;<two>;<three>;<four>;/
<five>;<six>;<seven>;<eight>;<nine>
xdigit <zero>;<one>;<two>;<three>;<four>;/
<five>;<six>;<seven>;<eight>;<nine>;/
<A>;<B>;<C>;<D>;<E>;<F>;/
<a>;<b>;<c>;<d>;<e>;<f>
blank <space>;/
<tab>
toupper (<a>,<A>);(<b>,<B>);(<c>,<C>);(<d>,<D>);(<e>,<E>);/
(<f>,<F>);(<g>,<G>);(<h>,<H>);(<i>,<I>);(<j>,<J>);/
(<k>,<K>);(<l>,<L>);(<m>,<M>);(<n>,<N>);(<o>,<O>);/
(<p>,<P>);(<q>,<Q>);(<r>,<R>);(<s>,<S>);(<t>,<T>);/
(<u>,<U>);(<v>,<V>);(<w>,<W>);(<x>,<X>);(<y>,<Y>);/
(<z>,<Z>);(<a-acute>,<A-acute>);(<a-grave>,<A-grave>);/
(<a-circumflex>,<A-circumflex>);(<a-diaresis>,<A-diaresis>);/
(<a-tilde>,<A-tilde>);(<a-ring>,<A-ring>);(<ae>,<AE>);/
(<c-cedilla>,<C-cedilla>);(<eth>,<Eth>);(<e-acute>,<E-acute>);/
(<e-grave>,<E-grave>);(<e-circumflex>,<E-circumflex>);/
(<e-diaresis>,<E-diaresis>);(<i-acute>,<I-acute>);/
(<i-grave>,<I-grave>);(<i-circumflex>,<I-circumflex>);/
(<i-diaresis>,<I-diaresis>);(<n-tilde>,<N-tilde>);/
(<o-acute>,<O-acute>);(<o-grave>,<O-grave>);/
(<o-circumflex>,<O-circumflex>);(<o-diaresis>,<O-diaresis>);/
(<o-tilde>,<O-tilde>);(<o-slash>,<O-slash>);(<thorn>,<Thorn>);/
(<u-acute>,<U-acute>);(<u-grave>,<U-grave>);/
(<u-circumflex>,<U-circumflex>);(<u-diaresis>,<U-diaresis>);/
(<y-acute>,<Y-acute>);(<y-diaresis>,<Y>)
tolower (<A>,<a>);(<B>,<b>);(<C>,<c>);(<D>,<d>);(<E>,<e>);/
(<F>,<f>);(<G>,<g>);(<H>,<h>);(<I>,<i>);(<J>,<j>);/
(<K>,<k>);(<L>,<l>);(<M>,<m>);(<N>,<n);(<O>,<o>);/
(<P>,<p>);(<Q>,<q>);(<R>,<r>);(<S>,<s>);(<T>,<t>);/
(<U>,<u>);(<V>,<v>);(<W>,<w>);(<X>,<x>);(<Y>,<y>);/
(<Z>,<z>);(<A-acute>,<a-acute>);(<A-grave>,<a-grave>);/
(<A-circumflex>,<a-circumflex>);(<A-diaresis>,<a-diaresis>);/
(<A-tilde>,<a-tilde>);(<A-ring>,<a-ring>);(<AE>,<ae>);/
(<C-cedilla>,<c-cedilla>);(<Eth>,<eth>);(<E-acute>,<e-acute>);/
(<E-grave>,<e-grave>);(<E-circumflex>,<e-circumflex>);/
(<E-diaresis>,<e-diaresis>);(<I-acute>,<i-acute>);/
(<I-grave>,<i-grave>);(<I-circumflex>,<i-circumflex>);/
(<I-diaresis>,<i-diaresis>);(<N-tilde>,<n-tilde>);/
(<O-acute>,<o-acute>);(<O-grave>,<o-grave>);/
(<O-circumflex>,<o-circumflex>);(<O-diaresis>,<o-diaresis>);/
(<O-tilde>,<o-tilde>);(<O-slash>,<o-slash>);(<Thorn>,<thorn>);/
(<U-acute>,<u-acute>);(<U-grave>,<u-grave>);/
(<U-circumflex>,<u-circumflex>);(<U-diaresis>,<u-diaresis>);/
(<Y-acute>,<y-acute>)
END LC_CTYPE
LC_COLLATE
order_start
<NUL>
<SOH>
<STX>
<ETX>
<SEL>
<tab>
<RNL>
<DEL>
<GE>
<SPS>
<RPT>
<vertical-tab>
<form-feed>
<carriage-return>
<SO>
<SI>
<DLE>
<DC1>
<DC2>
<DC3>
<RES>
<NL>
<backspace>
<POC>
<CAN>
<EM>
<UBS>
<CU1>
<IS4>
<IS3>
<IS2>
<IS1>
<DS>
<SOS>
<FS>
<WUS>
<BYP>
<newline>
<ETB>
<ESC>
<SA>
<SFE>
<SM>
<CSP>
<MFA>
<ENQ>
<ACK>
<alert>
<SYN>
<IR>
<PP>
<TRN>
<NBS>
<EOT>
<SBS>
<IT>
<RFF>
<CU3>
<DC4>
<NAK>
<SUB>
<EO>
<space>
<underscore>
<macron>
<hyphen>
<hyphen-minus>
<comma>
<semicolon>
<colon>
<exclamation-mark>
<exclamation-down>
<question-mark>
<question-down>
<slash>
<period>
<acute>
<grave-accent>
<circumflex>
<diaresis>
<tilde>
<dot>
<cedilla>
<apostrophe>
<quotation-mark>
<guillemot-left>
<guillemot-right>
<left-parenthesis>
<right-parenthesis>
<left-square-bracket>
<right-square-bracket>
<left-brace>
<right-brace>
<section>
<paragraph>
<copyright>
<registered>
<commercial-at>
<currency>
<cent>
<dollar-sign>
<sterling>
<yen>
<asterisk>
<backslash>
<ampersand>
<number-sign>
<percent-sign>
<plus-sign>
<plus-minus>
<divide>
<multiply>
<less-than-sign>
<equals-sign>
<greater-than-sign>
<not>
<vertical-line>
<broken-bar>
<degree>
<mu>
<nobreakspace>
<zero>
<one-quarter>
<one-half>
<three-quarters>
<one>
<one-superior>
<two>
<two-superior>
<three>
<three-superior>
<four>
<five>
<six>
<seven>
<eight>
<nine>
<a>
<A>
<a-acute>
<A-acute>
<feminine>
<a-grave>
<A-grave>
<a-circumflex>
<A-circumflex>
<a-ring>
<A-ring>
<a-diaresis>
<A-diaresis>
<a-tilde>
<A-tilde>
<ae>
<AE>
<b>
<B>
<c>
<C>
<c-cedilla>
<C-cedilla>
<d>
<D>
<eth>
<Eth>
<e>
<E>
<e-acute>
<E-acute>
<e-grave>
<E-grave>
<e-circumflex>
<E-circumflex>
<e-diaresis>
<E-diaresis>
<f>
<F>
<g>
<G>
<h>
<H>
<i-dotless>
<i>
<I>
<i-acute>
<I-acute>
<i-grave>
<I-grave>
<i-circumflex>
<I-circumflex>
<i-diaresis>
<I-diaresis>
<j>
<J>
<k>
<K>
<l>
<L>
<m>
<M>
<n>
<N>
<n-tilde>
<N-tilde>
<o>
<O>
<masculine>
<o-acute>
<O-acute>
<o-grave>
<O-grave>
<o-circumflex>
<O-circumflex>
<o-diaresis>
<O-diaresis>
<o-tilde>
<O-tilde>
<o-slash>
<O-slash>
<p>
<P>
<q>
<Q>
<r>
<R>
<s>
<S>
<s-sharp>
<t>
<T>
<thorn>
<Thorn>
<u>
<U>
<u-acute>
<U-acute>
<u-grave>
<U-grave>
<u-circumflex>
<U-circumflex>
<u-diaresis>
<U-diaresis>
<v>
<V>
<w>
<W>
<x>
<X>
<y>
<Y>
<y-acute>
<Y-acute>
<y-diaresis>
<z>
<Z>
UNDEFINED
order_end
END LC_COLLATE
LC_MONETARY
int_curr_symbol "<A><U><D><space>"
currency_symbol "<dollar-sign>"
mon_decimal_point "<period>"
mon_thousands_sep "<comma>"
mon_grouping 3
positive_sign ""
negative_sign "<hyphen-minus>"
int_frac_digits 2
frac_digits 2
p_cs_precedes 1
p_sep_by_space 0
n_cs_precedes 1
n_sep_by_space 0
p_sign_posn 2
n_sign_posn 2
END LC_MONETARY
LC_NUMERIC
decimal_point "<period>"
thousands_sep "<comma>"
gruping 3
END LC_NUMERIC
LC_TIME
abday "<S><u><n>";/
"<M><o><n>";/
"<T><u><e>";/
"<W><e><d>";/
"<T><h><u>";/
"<F><r><i>";/
"<S><a><t>"
day "<S><u><n><d><a><y>";/
"<M><o><n><d><a><y>";/
"<T><u><e><s><d><a><y>";/
"<W><e><d><n><e><s><d><a><y>";/
"<T><h><u><r><s><d><a><y>";/
"<F><r><i><d><a><y>";/
"<S><a><t><u><r><d><a><y>"
abmon "<J><a><n>";/
"<F><e><b>";/
"<M><a><r>";/
"<A><p><r>";/
"<M><a><y>";/
"<J><u><n>";/
"<J><u><l>";/
"<A><u><g>";/
"<S><e><p>";/
"<O><c><t>";/
"<N><o><v>";/
"<D><e><c>"
mon "<J><a><n><u><a><r><y>";/
"<F><e><b><r><u><a><r><y>";/
"<M><a><r><c><h>";/
"<A><p><r><i><l>";/
"<M><a><y>";/
"<J><u><n><e>";/
"<J><u><l><y>";/
"<A><u><g><u><s><t>";/
"<S><e><p><t><e><m><b><e><r>";/
"<O><c><t><o><b><e><r>";/
"<N><o><v><e><m><b><e><r>";/
"<D><e><c><e><m><b><e><r>"
d_t_fmt "%a %b %e %H:%M:%S %Z %Y"
d_fmt "%d//%m//%y"
t_fmt "%H:%M:%S"
am_pm "<A><M>";"<P><M>"
END LC_TIME
LC_MESSAGES
yesexpr "([yY][eE][sS]|[yY])"
noexpr "([nN][oO]|[nN])"
yesstr "yes:y:Y"
nostr "no:n:N"
END LC_MESSAGES
LC_TOD
%
% Set Timezone difference from GMT
% subtracted from system time to get GMT
tzdiff -600
%
% Set Timezone name (AEST - Australian Eastern Standard Time)
tname "<A><E><S><T>"
%
% Set Daylight Saving Time name (AEDT - Australian Eastern Daylight Time)
dstname "<A><E><D><T>"
%
% Set Daylight Saving Time to start on last Sunday in October at 2:00am
% month, week, day, time
dststart 10,-1,7,7200
%
% Set Daylight Saving Time to end on last Sunday in March at 2:00am
% month, week, day, time
dstend 4,-1,7,7200
%
% Set Daylight Saving Time shift to 1 hour
dstshift 3600
END LC_TOD
Regards,
Simon Coulter.
«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»
«» FlyByNight Software AS/400 Technical Specialists «»
«» Eclipse the competition - run your business on an IBM AS/400. «»
«» «»
«» Phone: +61 3 9419 0175 Mobile: +61 0411 091 400 /"\ «»
«» Fax: +61 3 9419 0175 mailto: shc@flybynight.com.au \ / «»
«» X «»
«» ASCII Ribbon campaign against HTML E-Mail / \ «»
«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»
+---
| This is the JAVA/400 Mailing List!
| To submit a new message, send your mail to JAVA400-L@midrange.com.
| To subscribe to this list send email to JAVA400-L-SUB@midrange.com.
| To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner: joe@zappie.net
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.