You should always work with dates/times/numbers in internal format and only convert them to external format for display. Wherever ST.DATE came from, it should have been converted using ICONV: ST.DATE=ICONV(ST.DATE,"D") and have a value of 16091 (assuming that the "12" means "2012" and not "1912"). The comparison would be IF ST.DATE < ICONV("12-31-2011","D") THEN
The actual data stored in a file should be in internal format--never ever external. When using query LIST/SELECT, make sure the dictionary is right justified and has a date conversion: 0001 D 0002 1 0003 D4/ 0004 DATE 0005 10R or in a 10-line dict: 0001 A 0002 1 0003 date 0004 0005 0006 0007 D4/ 0008 0009 R 0010 10 If the date conversion is being done by an type expression instead of a conversion, or by a correlative on the 8th line of a 10-line dict instead of by a conversion on line 7, queries will likely not work. When you use a query like: SELECT INVOICE-FILE WITH DATE.DUE < "01/01/2012" the query processor uses the conversion code to convert "01/01/2012" into internal format, and then compare against the internal data on file. If you don't have data in internal format, then this is just a string comparison, and "01/01/2012" is NOT equal to "01/01/12", and "02/01/2000" is great than "01/01/2012". On Jan 24, 2012, at 8:17 AM, Barry Rogen wrote: > > We have been experiencing this quite a bit and am not sure why we are getting > mis-comparisions. Below is a simplified example of our issue > > B$CHECK.855.SENT: 51: IF ST.DATE # "" THEN > B$CHECK.855.SENT: 52: IF ST.DATE < "12-31-11" THEN > B$CHECK.855.SENT: 53: PRINT PL:"Date is less than > 12-31-11...": > > : ST.DATE/ > STRING: T r L=8 `01-20-12' > > We have this issue with programs and with SELECT statements throughout. When > you qualify a date for this year to a date from 2011 it screws up. > > > Barry Rogen > Senior Programmer/Analyst > PNY Technologies, Inc. > (973) 560-5327 > bro...@pny.com<mailto:bro...@pny.com> > > ------------------------------------------------------------------------------------------------------------------------ > We are continually faced with great opportunities brilliantly > disguised as insoluble problems. > John W Gardner > ------------------------------------------------------------------------------------------------------------------------ > [http://thinkbeforeprinting.org/struct/signature-1.gif] > > > > > ________________________________ > NOT INTENDED AS A SUBSTITUTE FOR A WRITING > NOTHING IN THIS E-MAIL, IN ANY E-MAIL THREAD OF WHICH IT MAY BE A PART, OR IN > ANY ATTACHMENTS THERETO, SHALL CONSTITUTE A BINDING CONTRACT, OR ANY > CONTRACTUAL OBLIGATION BY PNY, OR ANY INTENT TO ENTER INTO ANY BINDING > OBLIGATIONS, NOTWITHSTANDING ANY ENACTMENT OF THE UNIFORM ELECTRONIC > TRANSACTIONS ACT, THE FEDERAL E-SIGN ACT, OR ANY OTHER STATE OR FEDERAL LAW > OF SIMILAR SUBSTANCE OR EFFECT. THIS EMAIL MESSAGE, ITS CONTENTS AND > ATTACHMENTS ARE NOT INTENDED TO REPRESENT AN OFFER OR ACCEPTANCE OF AN OFFER > TO ENTER INTO A CONTRACT. NOTHING IN THIS E-MAIL, IN ANY E-MAIL THREAD OF > WHICH IT MAY BE A PART, OR IN ANY ATTACHMENTS THERETO SHALL ALTER THIS > DISCLAIMER. > > This e-mail message from PNY Technologies, Inc. is for the sole use of the > intended recipient(s) and may contain confidential and privileged > information. Any unauthorized review, use, disclosure or distribution is > prohibited. If you are not the intended recipient, please contact the sender > by reply e-mail and destroy all copies of the original message. > _______________________________________________ > U2-Users mailing list > U2-Users@listserver.u2ug.org > http://listserver.u2ug.org/mailman/listinfo/u2-users _______________________________________________ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users