|
John, Yeah, this is a good idea. I've done that. I have the old 0001/01/01 or similar as a named constant, and I also insert the DFT(0001/01/01) keyword in the DDS for new applications so that today's date isn't the default. (Too bad RPG IV doesn't import this default values, heh John? <g>) Then you could do D NULL_DATE C Const(D'0001/01/01') C IF myDate = NULL_DATE C /* do my null-date routine here */ C endif Caveat, what is it we still can't do /* */ for comments in RPG IV, Hans? Bob Cozzi Bob@RPGIV.COM www.rpgiv.com AS/400 Books: http://www.rpgiv.com/as400Books.html On Wednesday, September 10, 1997 5:43 PM, John Carr [SMTP:74711.77@compuserve.com] wrote: > > > RE: Re: RPG - conversion vs re-write > > <snip> > > >And John, you still haven't said what inaccurate date we should use to > >signify a date field that is unfilled yet. > <snip> > > Do the dates the same way you're doing them now. 00/00/00 means something > unique in your code, right? Like ( XXXDATE IFEQ 0 ) or something like > that. Have a "Default" date in your D-Spec initialized to 0001-01-01 and > heck call it ZERO_DATE if you want to. Then change the code to say > (XXXDATE IFEQ ZERO_DATE) It means the same to your logic. > > Unless you use the CHANGE keyword in DDS (which still might have problems) > in your code right now you don't know if the user keyed in a zero date > on the display file entry field or she/he just left it blank(Zero - means > a real null response?). > > The real problem is, what does zero (00/00/00) mean to your applications? > Is it an un-initialized field? How does it get into the data base file > to begin with? Display file entry screen? If that is the case just > transmutate it from screen to data base file. If the user enters a > 00/00/00 convert that to a 0001-01-01 in your data base file. > > It will be just as easy to sort, select/omit, extract, etc. > > Check where you really use the 00/00/00 and see what your REALLY trying > to mean/denote in that instance. > > Sometimes when we first write out a record we may not know all the > information. In alot of Customer Order files if you don't know the > expected ship date, or actual ship date, or expected completion date, > or actual completion date, or , or , or. What do you put in those fields > now and why? Zero's aren't really correct are they? Neither are > 99/99/99 what does that suppose to mean? Maybe Nulls for the > "Actual" dates but for the "Expected" dates? > > Come to an agreement with your users the same way you did when the > system started and say; > > "Hey everybody, when you see a 00/00/00 in actual ship date, it means we > don't know. Now you will see a 0001-01-01, it means we still don't know. > > A rose is a rose. > > Find the meaning of the "Figurative Constant" 00/00/00 or 99/99/99 > and make a new representation for that meaning to your users. > (Like 0001-01-01 or 9999-12-31) > > > John Carr CDP > EdgeTech > +--- > | This is the Midrange System Mailing List! > | To submit a new message, send your mail to "MIDRANGE-L@midrange.com". > | To unsubscribe from this list send email to MAJORDOMO@midrange.com > | and specify 'unsubscribe MIDRANGE-L' in the body of your message. > | Questions should be directed to the list owner/operator: david@midrange.com > +--- > umidr +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to "MIDRANGE-L@midrange.com". | To unsubscribe from this list send email to MAJORDOMO@midrange.com | and specify 'unsubscribe MIDRANGE-L' in the body of your message. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.