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.