I would add it is better not to use the * for select * type in the
column names you need. This way if the file is ever expanded it will
not break the applications that are using the SP down the road.
You are correct on the calls being stateless.
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Coyle, Stephen F.
Sent: Wednesday, August 13, 2008 8:51 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: Returning Record Sets from SQLRPGLE Web Services
The .net app will be calling the web service so the connection is
through HTTP I assume. This is my first go round with web services so my
assumptions may be way off base. I'm assuming each call to the web
service is stateless and one call knows nothing about previous calls.
Please correct me if needed.
It looks like Charles' SQL statement is what I was looking for.
Thank you,
- Steve
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Aaron Bartell
Sent: Tuesday, August 12, 2008 5:04 PM
To: RPG programming on the AS400 / iSeries
Subject: Re: Returning Record Sets from SQLRPGLE Web Services
How is the .NET connecting to you? The reason I ask is because it
becomes
important to know if this is a single job processing multiple users
requests
or if each user has their own job (i.e. ODBC connection).
If each user has their own job then state of the cursor *should* be
retained
from one call to the next and your approach *should* work just fine.
If that is not the case, then you could have your "entry point program"
make
calls to data queues that have a unique job-per-user sitting behind it
and
thus holding the state of the cursor. Each job would have an RPG
programming waiting for a specific value (hence you would need to create
a
keyed data queue) which would be a token id of some sort the client
would
pass to the server.
HTH,
Aaron Bartell
http://mowyourlawn.com
On Tue, Aug 12, 2008 at 3:18 PM, Coyle, Stephen F.
<SCoyle@xxxxxxxxxxxxx>wrote:
Hi All,
I have a web service that calls a SQLRPGLE program and returns
a
maximum of 1000 records. If a statement selects over 1000 records, and
multiple calls to the service are needed, how will the service know
where the current cursor should be?
The .net consultant who is writing the front end wants to pass
a
page number, so for records 1000 through 2000 he would request page 2.
I think this would be possible using FETCH RELATIVE but I think this
would require that the cursor cannot move between calls and I cannot
guarantee that. Correct?
Just wondering how others might be handling this paging
situation in a web service.
Thanks for all suggestions and ideas...
Currently I'm using "Fetch C1 for :MaxElem Rows Into :OutDATA ; ".
- Steve
As an Amazon Associate we earn from qualifying purchases.