|
Wow thank you so much - this works great!!
How in the world would someone figure this out??
I see other users breaking apart the string into YYYY, MM, DD and putting them back together because it is not intuitive.
So one has to not only figure out that the result has to be numeric (unusual for dates in COBOL), but also one has to figure that the normal MOVE command cannot be used, rather COMPUTE must be used (as opposed to all the other DATE FUNCTIONS where MOVE is the norm).
Any idea what the reason was that a normal MOVE into an alpha field is allowed for YYYY/MM/DD but not YYYYMMDD?
Seems like a bug??
Cant be blamed on ANSI COBOL committee outside IBM because these are all IBM extensions anyways!
Thanks again!!
-----Original Message-----
From: cobol400-l-bounces@xxxxxxxxxxxx [mailto:cobol400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jon Paris
Sent: Wednesday, November 28, 2012 3:54 PM
To: COBOL Programming on the iSeries/AS400
Subject: Re: [COBOL400-L] how to extract the most common date format - YYYYMMDD
Sorry - I misunderstood the original intent.
There's a much easier answer than the one you derived - you should be able to just redefine the target field. It may not fit directly into what you are doing depending on how/where A0468X-DUE-DATE is defined but all you need to do is this:
01 ATR.
05 A0468X-DUE-DATE.
10 ws-num-date Pic 9(8).
and then:
compute ws-num-date
= function EXTRACT-DATE-TIME (ws-date '@Y%m%d').
A0468X-DUE-DATE is now an alpha field with the desired value.
On 2012-11-28, at 2:57 PM, Stone, Joel wrote:
Thanks but here is IBM doc example from "Websphere Development Studio ILE COBOL reference" v5 SC09-2539-02:
MOVE FUNCTION EXTRACT-DATE-TIME (date-2 '%m/%d') to alphanum-1.
It's a stinker - I guess I will have to format as 2012/11/28 and then SUBSTRING out the slashes.
It seems that once the slashes or spaces are gone from the edit string, the compiler chokes because it thinks it is numeric.
Is it possible that it is impossible to pull the most common date format? Does no one else use the cobol compiler with dates?
So here is the ugly code that I created:
move function EXTRACT-DATE-TIME (ws-date '@Y/%m/%d')
to ws-date-yyyy-mm-dd
string ws-date-yyyy-mm-dd (1:4)
ws-date-yyyy-mm-dd (6:2)
ws-date-yyyy-mm-dd (9:2)
delimited by size into A0468X-DUE-DATE of AFTR
Does anyone else use DATE functions in COBOL/ILE? Maybe the are full of bugs??
There are no examples on a google search.
-----Original Message-----
From: cobol400-l-bounces@xxxxxxxxxxxx [mailto:cobol400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jon Paris
Sent: Wednesday, November 28, 2012 12:20 PM
To: COBOL Programming on the iSeries/AS400
Subject: Re: [COBOL400-L] how to extract the most common date format - YYYYMMDD
Haven't got time to test Joel but if I recall correctly the editing should go in the target field's pic.
On 2012-11-28, at 1:16 PM, Stone, Joel wrote:
This works:
move function EXTRACT-DATE-TIME (ws-date '@Y %m %d')
to A0468X-DUE-DATE of AFTR
But result is "2012 11 28" (embedded spaces).
The obvious fix is
move function EXTRACT-DATE-TIME (ws-date '@Y%m%d') <--------no spaces between ymd
to A0468X-DUE-DATE of AFTR
But this gives compiler error
* 445 MSGID: LNC2780 SEVERITY: 30 SEQNBR: 027800
Message . . . . : Numeric function 'FUNCTION EXTRACT-DATE-TIME' was
found, but was not allowed in this context. Statement discarded.
Any idea how to get YYYYMMDD result?
Thanks
______________________________________________________________________
This outbound email has been scanned for all viruses by the MessageLabs Skyscan service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________
--
This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing list
To post a message email: COBOL400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/cobol400-l
or email: COBOL400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/cobol400-l.
Jon Paris
www.partner400.com
www.SystemiDeveloper.com
--
This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing list
To post a message email: COBOL400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/cobol400-l
or email: COBOL400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/cobol400-l.
________________________________________________________________________
This inbound email has been scanned for all viruses by the MessageLabs SkyScan
service.
________________________________________________________________________
______________________________________________________________________
This outbound email has been scanned for all viruses by the MessageLabs Skyscan service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________
--
This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing list
To post a message email: COBOL400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/cobol400-l
or email: COBOL400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/cobol400-l.
Jon Paris
www.partner400.com
www.SystemiDeveloper.com
--
This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing list
To post a message email: COBOL400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/cobol400-l
or email: COBOL400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/cobol400-l.
________________________________________________________________________
This inbound email has been scanned for all viruses by the MessageLabs SkyScan
service.
________________________________________________________________________
______________________________________________________________________
This outbound email has been scanned for all viruses by the MessageLabs Skyscan service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________
--
This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing list
To post a message email: COBOL400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/cobol400-l
or email: COBOL400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/cobol400-l.
As an Amazon Associate we earn from qualifying purchases.
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.