× 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.



Vern,

The problem is that David did not have a date field, he had a character
field (10A) with a value representing a date separated with '/'.

So, if he only changes the '/' with periods('.') %DATE could return
erroneous or invalid results. For example:

Date (*USA) With Periods DATE(*EUR) *ISO DATE
08/03/2010 08.03.2010 08/03/2010 2010-03-08

Not really the desired answer!!. For example, this year's last day:
12/31/2010 would give an error, as there is not such thing as an *ISO date
of '2010-31-12'

So your former suggestion (mydate = %date(datefield : *USA) ) is right on
the mark.

Regards,

Luis Rodriguez
IBM Certified Systems Expert — eServer i5 iSeries
--



On Tue, Aug 3, 2010 at 4:40 PM, Vern Hamberg <vhamberg@xxxxxxxxxxx> wrote:

Thanks, Luis

So David has to tell us - or tell himself - what his F13 settings are,
in order for us to advise him correctly.

I think I have to change my mind - he said that when he replaced the '/'
with full stops (periods), that it worked. That suggests maybe it is
*EUR after all.

But our information is not conclusive!

Regards
Vern

On 8/3/2010 3:47 PM, Luis Rodriguez wrote:
Vern,

If running STRSQL, as Birgitta pointed out, DATE() returns its value
according to the session attributes (F13) or, in the case of a SQLRPGLE
program, using SET OPTION DATFMT =<desired format>. If not, I think it
defaults to *JOB.

BTW, in Venezuela (Spanish) our most common format is DD/MM/AAAA
(Dia/Mes/Año).

Regards,

Luis Rodriguez
IBM Certified Systems Expert — eServer i5 iSeries
--



On Tue, Aug 3, 2010 at 3:40 PM, Vern Hamberg<vhamberg@xxxxxxxxxxx>
wrote:


Yes, this was confusing - I see where he said it was a DD/MM/AAAA -
mixing English and French, eh? International incident soon to happen!
Then he says that the SQL DATE() function showed it in MM/JJ/AAAA which
if all in French, as he said later, would be *USA. That's what I went
with, because I think the DATE() function will show it as it really is,
correct? Or maybe the DATE() function returns it in what is the job
setting somewhere or some SQL option.

So it is more vague than I thought at first. I wonder which it really
is!!

Vern

On 8/3/2010 11:12 AM, Birgitta Hauser wrote:

Exactly - his format is MM/JJ/AAAA - that is French for MM/DD/YYYY


I was not completely convinced about that, because
1. French use the European notation (but do not prefer the dot as

separator)

2. Davids original format was DD/MM/AAAA (In this way I read it as

Jour/Day,

Mois/Month, Année/Year)
3. If he uses CHAR without specifying any date format, the date format
in
the current SQL environment is used. (STRSQL - F13 - 1 - DatFmt)

Mit freundlichen Grüßen / Best regards

Birgitta Hauser

"Shoot for the moon, even if you miss, you'll land among the stars."
(Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training

them

and keeping them!"


-----Ursprüngliche Nachricht-----
Von: rpg400-l-bounces@xxxxxxxxxxxx [mailto:
rpg400-l-bounces@xxxxxxxxxxxx]

Im

Auftrag von Vern Hamberg
Gesendet: Tuesday, 03. August 2010 17:53
An: RPG programming on the IBM i / System i
Betreff: Re: AW: How to convert DD/MM/AAAA to date

Exactly - his format is MM/JJ/AAAA - that is French for MM/DD/YYYY - I
don't know the French for "month", but it must start with "M" - "J"
means "jour", as David said, which is "day", and "A" has to be
something
like "annes" for "year"

So that is the *USA format - the source supplying the data must be

American!

Vern

On 8/3/2010 8:53 AM, Birgitta Hauser wrote:


That is the *USA format, I believe - you can convert it to a date in

RPG



But USA Format is MM/DD/YYYY while the European format is DD.MM.YYYY.
In this way make sure where the month and day are positioned, before
converting them!!!

Mit freundlichen Grüßen / Best regards

Birgitta Hauser

"Shoot for the moon, even if you miss, you'll land among the stars."

(Les

Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training

them

and keeping them!"


-----Ursprüngliche Nachricht-----
Von: rpg400-l-bounces@xxxxxxxxxxxx [mailto:

rpg400-l-bounces@xxxxxxxxxxxx]


Im


Auftrag von Vern Hamberg
Gesendet: Tuesday, 03. August 2010 15:44
An: RPG programming on the IBM i / System i
Betreff: Re: How to convert DD/MM/AAAA to date

David

That is the *USA format, I believe - you can convert it to a date in
RPG
like this

%date(datefield : *USA)

See if that works

Vern

On 8/3/2010 7:32 AM, David FOXWELL wrote:



Oops, sorry, I've been away.

Forgot to translate JJ means DD ( jour )

Any idea Birgitta, how they ( the company that sent the file ) would

have



got all those dates filled in that way?



Thanks!







-----Message d'origine-----
De : David FOXWELL
Envoyé : mardi 3 août 2010 13:39
À : 'RPG programming on the IBM i / System i'
Objet : How to convert DD/MM/AAAA to date

Hi all,

I have a 10A field with the date filled like DD/MM/AAAA.
If I do SELECT char(datefield) FROM mytable it shows the date
as MM/JJ/AAAA.


I need to read the file in an RPG and pass the 10A field as a
date to an external procedure.

MONITOR;
mydate = %DATE ( datefield : *EUR );
ON-ERROR;


I'm getting an error on each conversion. If I change the / to
a . in the file, the conversion is ok.

What should I do?

Thanks.






--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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.