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



Alan,

This performance issue can be easily ameliorated by using "group jobs."   (They have been available since System/38 CPF ...).

It is fairly easy to set up a main menu to automatically switch to one of several group jobs, depending on what menu option was selected.   The overhead is absorbed the first time the user activates that particular menu option, and they can switch to any other areas of the application (running in other "group jobs" under their job), and then swap back to that group job as and when needed ...  

Within a group job, all open files are maintained, as well as file position, etc., and swapping back to a previously activated group job is very fast, almost instantaneous.

If you need an example of how to set up group jobs, let me know, and I can send you some sample code.

All the best,

Mark S. Waterbury

On Saturday, March 5, 2022, 11:36:39 AM EST, Alan Cassidy <cfuture@xxxxxxxxxxx> wrote:

Thanks Jon!

Kind of confirms for me what I had been thinking.

I had forgotten to mention that one of the things in the back of my mind
was that these programs (written by somebody else, ahem) have a big
performance issue. The first program called from one of the menu
options, the one that gets most use, takes anywhere from a new seconds
to a literal 48 seconds and sometimes two full /literal/ minutes to get
to the first screen. The guy that wrote this (RIP) even wrote a warning
pop-up for when they hit F3 (exit to menu) by mistake, so that they
wouldn't have to wait that time to get back in.

I converted the main file driver loop to a multi-row SQL, which helped
some, but not much.

So putting the programs in one named activation group will save them
/some/ time, at least, as they navigate other called programs, buying
time to work out the performance thing.

--Alan


On 3/5/2022 11:14 AM, Jon Paris wrote:
Personally I like the idea of using *NEW for programs called from what I would describe as a root menu.  By this I mean one that you don't repeatedly return to every 15 minutes.

If you are popping in and out all day then a named group makes more sense.

One more consideration for the folks who "might use one or two" - if they really are hopping back and forward between two different areas I would not want to use *NEW.

Just my 5 cents worth.


Jon P

On Mar 5, 2022, at 11:09 AM, Alan Cassidy<cfuture@xxxxxxxxxxx>  wrote:


I'm working on organizing the programs called from a menu (or a program submitted for a batch job).

I remember guru-tech suggestions to run a program A as *NEW if it is called directly from a menu, and when that program calls program B or C, to create B or C as *CALLER.

But in the case of a user that is working all day on one thing, like making appointments with customers for pickup or delivery for example, they might use one or two. I'm just wondering if there are case where a named activation group vs. *NEW is the better value for the parameter. Or is this just noise in my head?

--Alan

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

Please contactsupport@xxxxxxxxxxxxxxxxxxxx  for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link:https://amazon.midrange.com

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.