×
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.
In my logical file I have 8 fields FCC FYY FMM FDD and TCC TYY TMM TDD
My user enters data in this way 01082002 TO 31122007
If I create keys in reverse order year month and day how do I point to
record, if my records are in century year month format
One more thing why you have used RecordDate and what value does
RecordDate
Will have.
Sorry I'm unable to catch the point.
Thanks in advance
Regards,
Srinivas
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jonathan Mason
Sent: Wednesday, September 12, 2007 2:22 PM
To: 'RPG programming on the AS400 / iSeries'
Subject: RE: Dates Problem
Hi Srinvas
The key is to have the date in reverse format, in other words Year,
Month
Day as that will put the dates in the correct order. For example,
suppose
you had the following dates:
01/11/07
02/10/07
03/09/07
Sequencing them in DD/MM/YY doesn't give you the correct order or
records.
If you tried to select records from 01/09/07 to 30/09/07 the first
record
you would read would be the 01/11/07 which isn't in the date range.
Depending on how the program was written you may or may not read any
more
programs in the loop.
If you store the dates on your file in YYMMDD order (or better still,
use a
date type field in *ISO format - YYYY-MM-DD) then the records would be
in
the following order:
2007-09-01
2007-10-02
2007-11-03
Which is the correct sequence. In your program you can now use SETLL to
position to the 'first' record in your range and have a loop that tests
the
record you've read against the last date of your range. For example:
FMyFile IF E K Disk
D FromDate s d DatFmt(*ISO)
D ToDate s d DatFmt(*ISO)
C FromDate SetLL(e) MyFile
C DoU (RecordDate > ToDate) or
(%Eof(MyFile))
C Read(e) MyFile
C If Not %Eof(MyFile) and (RecordDate <=
ToDate)
C ...
C ... do some processing ...
C ...
C EndIf
C EndDo
C Eval *InLR = *On
C Return
Here the assumption is that MYFILE is keyed on RECORDDATE order and that
RECORDDATE is a date type field in*ISO format. The DOU statement tests
to
see whether or not you need to read any more records and the IF
statement
makes sure that the record you read is in the correct range.
All the best
Jonathan
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Srinivas Boggula
Sent: 12 September 2007 09:31
To: RPG programming on the AS400 / iSeries
Subject: Dates Problem
Hi every one,
How do I Select from Date To - To Date in RPGLE
Say suppose I have 20 records in a Physical File and I have 8 fields in
it.
Now I want to retrieve from Dates To - To Date.
I tried with the following way created a logical file of eight fields
all of them are keyed
In RPGLE program I have created KLIST ( KEY AND KEY1)
C KEY KLIST
C KFLD FDD
C KFLD FMM
C KFLD FCC
C KFLD FYY
C*
C KEY1 KLIST
C KFLD TDD
C KFLD TMM
C KFLD TCC
C KFLD TYY
With the help of KEY & Chain I can able to set pointer to from date and
read the record.
But how do I stop at To-Date.
0004.43 C KEY CHAIN DSPREC 90
Please Can any one guide me on this issue.
Thanks in Advance
Regards,
Srinivas
I want to retrieve records from 10 to 15, I can able to set pointer and
read 10th
record using SETLL and READE but how do I Stop at 15th record.
Thanks in Advance
Regards,
Srinivas
iGATE is ranked as 3rd best IT employer in India as per DQ-IDC Best
Employer
Survey-2007
----------------------------------------------------------------DISCLAIM
ER--
-------------------------------------------------------
Information transmitted by this EMAIL is proprietary to iGATE Group of
Companies and is intended for use only by the individual
or entity to whom it is addressed and may contain information that is
privileged, confidential, or exempt from disclosure under
applicable law. If you are not the intended recipient of this EMAIL
immediately notify the sender at iGATE or mailadmin@xxxxxxxxx
and delete this EMAIL including any attachments
As an Amazon Associate we earn from qualifying purchases.
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.