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



Better yet, just use SQL and run a few times and look at the Index Adviser
to see if it advising any new indexes. Let the OS do the work.


On Thu, Apr 11, 2013 at 10:49 AM, Klugman, Luke
<LKlugman@xxxxxxxxxxxxxxxxx>wrote:

Thanks everyone. Yes its isn't too tricky, I guess I just started
looking into the logical/view/index side of things more than I had
before and thought I would be able to set something up using one of
these methods but couldn't.
It isn't a big deal for me to use a file keyed on orderId. Thanks again.
Luke

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Michael Schutte
Sent: 11 April 2013 17:45
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Re: Logical file in RPG

Luke, seems simple to me. You are just making more difficult then it
needs to be.

create a procedure to do the check for you.

p duplicate_order_past_year...
p b export
d pi 10I 0
d orderid 20I 0 const

// if not found at all in the file.
setll (orderid) from orderheader;
If not %equal(orderheader);
return 0;
endif;

reade (orderid) orderheader;
If not %EoF();
if orderdate >= %date() - %days();
return 1;
endif;
endif;
return 0;

P e


You can then compile this into a module, then a service program. Then
you may want to have a wrap with a SQL function so that you can put into
a select statement.

select * from tmp_order
where duplicate_order_past_year(orderid) = 0






On Thu, Apr 11, 2013 at 11:50 AM, Gary Thompson
<gthompson@xxxxxxxxxxx>wrote:

Luke,
Maybe have index/logical with key by year, ordered At 50 million per
year, you can justify the separate year column/field

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Klugman, Luke
Sent: Thursday, April 11, 2013 9:38 AM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: RE: Logical file in RPG

An example of my situation is that I have an order file, say with an
orderId and orderDate field.

I may receive 50 million orders a year, and I want to be able to check

whether I have previously received the same order within the last
year.

I know I can just create a logical on orderId and check, but just
wanted to know if there was a way of sub setting my file by for
instance current ytd, and then checking for my orderId.

Kind rgds
Luke

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Anderson, Kurt
Sent: 11 April 2013 15:48
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: RE: Logical file in RPG

Create a new index?

I don't understand this line of thinking. If I was concerned about
all the different fields we may want to access a file by I'd never get

any indexes created - or they'd end up convoluted and inefficient. Is

it that any new index would want to also select only a subset of
records?
If so, then each new index may need a new view (as Gene gave an
example
of) if you want the database to be the one supplying a subset of data
(instead of needing programs to do it).

I guess if you provided an example of a possible situation you're
concerned about, I (and possibly we) could better visualize your
concern.

-Kurt

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Klugman, Luke
Sent: Thursday, April 11, 2013 9:19 AM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: RE: Logical file in RPG

Thanks for this Gene, but what if I have an additional field I want to

use as the key, instead of the date...

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Gene Burns
Sent: 11 April 2013 14:36
To: RPG programming on the IBM i / System i
Subject: Re: Logical file in RPG

You could create the index over the table using the date then create a

view over the table with the date selection. If I recall correctly
the view would utilize the index to select the correct data.


CREATE INDEX ATABLEI1 ON ATABLE (DATE_FIELD)


CREATE VIEW ATABLEV1 ON ATABLE
WHERE DATE_FIELD >= (CURRENT DATE - 1 YEARS)
--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx

To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/rpg400-l.


----------------------------------------------------------------------
- The information contained in this email is confidential and may also

contain privileged information. Sender does not waive confidentiality
or legal privilege. If you are not the intended recipient please
notify the sender immediately; you should not retain this message or
disclose its content to anyone.
Internet communications are not secure or error free and the sender
does not accept any liability for the content of the email. Although
emails are routinely screened for viruses, the sender does not accept
responsibility for any damage caused. Replies to this email may be
monitored.
For more information about the Tullett Prebon group of companies
please visit the following web site: www.tullettprebon.com

----------------------------------------------------------------------
-
--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx

To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/rpg400-l.

--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx

To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/rpg400-l.

--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx

To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/rpg400-l.



--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx

To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.

--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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.