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



murali,

i would suggest u to use expanded sub-file
set the subfile page size one greater than the subfile size.... handle the
pagedown key to add more records to that..
here i suggest u to load some minimum no. of records at a time instead of
loading all the 9000 records and then 4000...
just load 100 or 1000.. if it exceeds that limit, system will give the
control to your program, now u can load other records
in this way u can achieve the solution

Arul

Be ignorant than urban insane
Smile :-) from your Heart

> -----Original Message-----
> From: MURALI DHAR [SMTP:nmuralidhar@rediffmail.com]
> Sent: Thursday, October 10, 2002 3:10 PM
> To:   rpg400-l@midrange.com
> Subject:      Load all subfile
>
> I have a  requirment where iam using Loadall subfile...The no of
> records Iam having right now is around 9000(less than9999)...Now I
> have to add another 4thousands of records to this...I dont like to
> reprogram it by using single page subfile...How can i do this with
> Loadall subfile?Am I going to loose any records if i add 4
> thousand records to the already existing 9000 records....I cant
> reprogram it....I ve to do with Load all only....Can u please help
> giving answer to this....
> Best Regards
> Murali.
>
> On Thu, 10 Oct 2002 Scott Klement wrote :
> >
> >On Wed, 9 Oct 2002, Steve Richter wrote:
> > >
> > > Its just a hunch of mine.  C relies on null term strings so I
> >am speculating
> > > that ILE handles them efficiently.
> > >
> >
> >Okay, I wrote & ran some benchmarks on these things.  To my
> >surprise, both
> >fixed-length and null-terminated strings performed SIGNIFICANTLY
> >better
> >than varying.  About twice as fast!   I hope Hans or Barbara can
> >explain
> >why...
> >
> >This was done on my company's iSeries, 9406-270(2248) at V4R5.
> >I was the only person online / only job running.
> >I did not enable any special optimization for either compiler.
> >All the strings I passed were 32000 bytes long.
> >
> >Here's the results:
> >
> >Description                             Iters per Second
> >--------------------------------        -----------------
> >ILE RPG fixed-len by value                  4167
> >ILE RPG fixed-len by reference            416667
> >ILE RPG null-terminated by value            4167
> >ILE RPG null-terminated by reference      416667
> >ILE RPG varying by value                    2083
> >ILE RPG varying by reference              217391
> >ILE C null-terminated by value              8333
> >ILE C null-terminated by reference       1666666
> >
> >
> >Here are the programs that I used to perform the test.   Note
> >that I
> >assigned a 'x' to the first byte in each string in each function
> >just
> >to make sure the compiler didn't "remove" the routine during some
> >sort
> >of optimization.
> >
> >      H DFTACTGRP(*NO) ACTGRP(*NEW)
> >
> >      D by_value        PR
> >      D   data                     32000A   value
> >      D by_reference    PR
> >      D   data                     32000A
> >      D v_by_value      PR
> >      D   data                     32000A   value varying
> >      D v_by_reference  PR
> >      D   data                     32000A   varying
> >      D n_by_value      PR
> >      D   data                     32000A   value
> >      D n_by_reference  PR
> >      D   data                     32000A
> >
> >      D data            S          32000A
> >      D data2           S          32000A   varying
> >      D start           S               Z
> >      D end             S               Z
> >      D diff            S             10I 0
> >      D msg             S             50A
> >      D x               S             10I 0
> >
> >      c                   eval      data = 'This is not a
> >null-terminated '+
> >      c                                     'string.'
> >      c                   eval      data2= 'This is not a
> >null-terminated '+
> >      c                                     'string.'
> >
> >      c                   time                    start
> >
> >      c                   for       x = 1 to 50000
> >      c                   callp     by_value(data)
> >      c                   endfor
> >
> >      c                   time                    end
> >
> >      c     end           subdur    start         diff:*seconds
> >      c                   eval      msg = 'by-value ' +
> >%editc(diff:'Z')
> >      c     msg           dsply
> >
> >      c                   time                    start
> >
> >      c                   for       x = 1 to 5000000
> >      c                   callp     by_reference(data)
> >      c                   endfor
> >
> >      c                   time                    end
> >
> >      c     end           subdur    start         diff:*seconds
> >      c                   eval      msg = 'by-ref ' +
> >%editc(diff:'Z')
> >      c     msg           dsply
> >
> >      c                   time                    start
> >
> >      c                   for       x = 1 to 50000
> >      c                   callp     v_by_value(data2)
> >      c                   endfor
> >
> >      c                   time                    end
> >
> >      c     end           subdur    start         diff:*seconds
> >      c                   eval      msg = 'v-by-value ' +
> >%editc(diff:'Z')
> >      c     msg           dsply
> >
> >      c                   time                    start
> >
> >      c                   for       x = 1 to 5000000
> >      c                   callp     v_by_reference(data2)
> >      c                   endfor
> >
> >
> >      c                   time                    end
> >
> >      c     end           subdur    start         diff:*seconds
> >      c                   eval      msg = 'v-by-ref ' +
> >%editc(diff:'Z')
> >      c                   dsply                   msg
> >
> >      c                   eval      data = 'This is now a
> >null-terminated '+
> >      c                                     'string.' + X'00'
> >
> >      c                   time                    start
> >
> >      c                   for       x = 1 to 50000
> >      c                   callp     n_by_value(data)
> >      c                   endfor
> >
> >      c                   time                    end
> >
> >      c     end           subdur    start         diff:*seconds
> >      c                   eval      msg = 'n-by-value ' +
> >%editc(diff:'Z')
> >      c     msg           dsply
> >
> >      c                   time                    start
> >
> >      c                   for       x = 1 to 5000000
> >      c                   callp     n_by_reference(data)
> >      c                   endfor
> >
> >      c                   time                    end
> >
> >      c     end           subdur    start         diff:*seconds
> >      c                   eval      msg = 'n-by-ref ' +
> >%editc(diff:'Z')
> >      c                   dsply                   msg
> >
> >      c                   eval      *inlr = *on
> >
> >      P by_value        B
> >      D by_value        PI
> >      D   data                     32000A   value
> >      c                   eval      %subst(data:1:1) = 'x'
> >      P                 E
> >
> >
> >      P by_reference    B
> >      D by_reference    PI
> >      D   data                     32000A
> >      c                   eval      %subst(data:1:1) = 'x'
> >      P                 E
> >
> >
> >      P v_by_value      B
> >      D v_by_value      PI
> >      D   data                     32000A   value varying
> >      c                   eval      %subst(data:1:1) = 'x'
> >      P                 E
> >
> >
> >      P v_by_reference  B
> >      D v_by_reference  PI
> >      D   data                     32000A   varying
> >      c                   eval      %subst(data:1:1) = 'x'
> >      P                 E
> >
> >
> >      P n_by_value      B
> >      D n_by_value      PI
> >      D   data                     32000A   value
> >      c                   eval      %subst(data:1:1) = 'x'
> >      P                 E
> >
> >
> >      P n_by_reference  B
> >      D n_by_reference  PI
> >      D   data                     32000A
> >      c                   eval      %subst(data:1:1) = 'x'
> >      P                 E
> >
> >
> >
> >#include <stdio.h>
> >#include <string.h>
> >#include <time.h>
> >
> >struct my_data {
> >     char string[32000];
> >};
> >
> >void by_value(struct my_data d);
> >void by_reference(char *str);
> >
> >int main(void) {
> >     struct my_data dta;
> >     time_t start, end;
> >     int x;
> >
> >     strcpy(dta.string, "This is now a null-terminated
> >string.");
> >
> >     time(&start);
> >
> >     for (x=0; x<50000; x++)
> >            by_value(dta);
> >
> >     time(&end);
> >
> >     printf("By-value total time %f seconds\n",
> >difftime(end,start));
> >
> >     time(&start);
> >
> >     for (x=0; x<5000000; x++)
> >            by_reference(dta.string);
> >
> >     time(&end);
> >
> >     printf("By-reference total time %f seconds\n",
> >                difftime(end,start));
> >
> >
> >     return 0;
> >}
> >
> >void by_value(struct my_data d) {
> >     d.string[0] = 'x';
> >}
> >
> >void by_reference(char *str) {
> >     str[0] = 'x';
> >}
> >
> >_______________________________________________
> >This is the RPG programming on the AS400 / iSeries (RPG400-L)
> >mailing list
> >To post a message email: RPG400-L@midrange.com
> >To subscribe, unsubscribe, or change list options,
> >visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
> >or email: RPG400-L-request@midrange.com
> >Before posting, please take a moment to review the archives
> >at http://archive.midrange.com/rpg400-l.
> >
>
> __________________________________________________________
> Give your Company an email address like
> ravi @ ravi-exports.com.  Sign up for Rediffmail Pro today!
> Know more. http://www.rediffmailpro.com/signup/
>
> _______________________________________________
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
> To post a message email: RPG400-L@midrange.com
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
> or email: RPG400-L-request@midrange.com
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/rpg400-l.
**************************************************************************
This email (including any attachments) is intended for the sole use of the
intended recipient/s and may contain material that is CONFIDENTIAL AND
PRIVATE COMPANY INFORMATION. Any review or reliance by others or copying or
distribution or forwarding of any or all of the contents in this message is
STRICTLY PROHIBITED. If you are not the intended recipient, please contact
the sender by email and delete all copies; your cooperation in this regard
is appreciated.
**************************************************************************


As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.