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



"COBOL400-L" <cobol400-l-bounces@xxxxxxxxxxxx> wrote on 08/11/2016
08:46:36 AM:
----- Message from Richard Schoen <Richard.Schoen@xxxxxxxxxxxxxxx>
on Wed, 10 Aug 2016 19:16:11 +0000 -----

To:

"cobol400-l@xxxxxxxxxxxx" <cobol400-l@xxxxxxxxxxxx>

Subject:

Re: [COBOL400-L] how to handle date comparison


A friend of mine working in a COBOL shop recently tried this and
solved the problem with a very small callable RPG program.

My experience with COBOL has never been friendly either :-)

Regards,


Richard Schoen
Director of Document Management
e. richard.schoen@xxxxxxxxxxxxxxx
p. 952.486.6802
w. helpsystems.com

-------------------------------------------

message: 1
date: Tue, 9 Aug 2016 19:08:11 +0000
from: "Stone, Joel" <Joel.Stone@xxxxxxxxxx>
subject: [COBOL400-L] how to handle date comparison

In COBOL, what is a good method of comparing a data field date to
the current date?

It seems that ALL data fields must be declared to appear with a
separator character.

And it sees that the CURRENT-DATE function cannot return a date
separator.

Is it mandatory to break apart the current date, and string it back
together with a separator?


Surely there must be an easier way to write something like:


If Cust-add-date = ws-curr-date

Where Cust-add-date is type "L" format *MDY


Without breaking apart and rebuilding the current date?

Thanks

It is really very simple and easy. Here's the code excerpts:

---------------------------------

Working-storage.
01 Today format date '@Y%m%d'.

Procedure Division.

move function current-date to Today.
if Cust-add-date = Today
. . .
. . .
. . .

---------------------------------

You have to specify the format date as YYYYMMDD (using the '@Y%m%d' format
string) because that's how the current-date function will provide it. Once
you have the data in a true date field, the complier handles the
comparison for you. Internally the dates are stored as a Scaliger or
Julian day number. That's an integer using a system Joseph Scaliger
formalized counting the days since an epoch. The system converts the dates
for you anytime you need to see the value.

Michael Quigley
Computer Services
The Way International
www.TheWay.org
419 753-1222

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.