I'm using it like this:

WORKING-STORAGE SECTION.
...
01 WS-FELDER.
...
05 WS-AKT-DATUM PIC 9(8).
05 WS-AKT-DATUM-X PIC X(10).
...
01 ZW-FELDER.
05 ZW-DATE FORMAT DATE IS '@Y%m%d'.


PROCEDURE DIVISION.
...

AKTDATUM-ERMITTELN.
*** Current Date
MOVE FUNCTION CURRENT-DATE(1:8) TO ZW-DATE
* Extract Date to Numerical Format yyyymmdd
COMPUTE WS-AKT-DATUM =
FUNCTION EXTRACT-DATE-TIME (ZW-DATE '@Y%m%d')
* Extract Date to String Format dd.mm.yyyy
MOVE FUNCTION EXTRACT-DATE-TIME (ZW-DATE '%d.%m.@Y')
TO WS-AKT-DATUM-X





-----cobol400-l-bounces@xxxxxxxxxxxx píše: -----
Komu: "'COBOL Programming on the iSeries/AS400'" <cobol400-l@xxxxxxxxxxxx>
Od: "Stone, Joel"
Odoslal: cobol400-l-bounces@xxxxxxxxxxxx
Dátum: 28.11.2012 20:57
Predmet: Re: [COBOL400-L] how to extract the most common date format - YYYYMMDD

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





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