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





As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

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

This mailing list archive is Copyright 1997-2021 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.