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



Here's a simpler method for ILE COBOL (source type CBLLE):

       Working-storage section.
       01   Work-date                pic 9(6).
       01   Display-date             pic 9(8).

       01   Validate-date-time       pic 1.
          88   Valid-date-time       value b'1'.
          88   Invalid-date-time     value b'0'.

       01   Date-format              pic 1.
          88   2-digit-year                      value b'0'.
          88   4-digit-year                      value b'1'.

       Procedure Division.

          evaluate true                                                      
             when Display-date > 1000000                                
                move function                                                
                      test-date-time (Display-date date '@Y%m%d')
                           to Validate-date-time             
                set   4-digit-year to true                                   
             when other                                                      
                move Display-date to Work-date                         
                move function test-date-time (Work-date date '%y%m%d') 
                           to Validate-date-time             
                set   2-digit-year to true                                   
          end-evaluate                                                       

The above logic should work for dates in the format yyyymmdd or yymmdd. If 
the date is valid then the condition 'Valid-date-time' is true.  If the 
date is not valid then the condition 'Invalid-date-time' is true.  If you 
have a 6 digit date, the condition '2-digit-year' is set to true.  If an 8 
digit date, then the condition '4-digit-year' is set to true. 

We use the above logic (albeit modified to handle date in USA format) in a 
service program so we can call it anywhere we need to validate a date.

Michael Quigley
AS/400 Programming Coordinator
The Way International
www.TheWay.org

Original message:

------------------------------
Sent: Friday, April 08, 2005 4:37 PM
To: Cobol400-L@Midrange. Com (E-mail)
Subject: [COBOL400-L] how to validate date in cobol400

hi all!!

     how do we validate differents formats of dates, especially iso
format(yyyy/mm/dd).

TIA!!!
GODBLESS!!!

Wilson 


As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.