Il 15/04/2026 22:48, smith5646midrange@xxxxxxxxx ha scritto:
If I have PgmA and it repeatedly calls PgmB, I know not setting on LR makes
the process faster because it doesn't have to reload PgmB into memory every
time.

The argument that we are having is related to PgmA submitting PgmB to enable
multi-thread processing. Does not setting on LR help in this case because
they are different jobs?

For example,
PgmA
Do until shutdown
Read Invoice Header File for unprocessed invoices
If a new invoice is found
Mark the invoice as In-Process
Submit PgmB to process the invoice


PgmB
Process invoice based on invoice number received
Mark invoice as Processed
** Note: no *INLR logic here
Return

VS

Process invoice based on invoice number received
Mark invoice as Processed
*inlr = *on
Return


don't know how many invoices you process and how big is your box, if the PgmA and PgmB are both OPM, ILE or mixed, also don't know if there's any concurrent job on the same files and tables as all these information would be helpful on planning the best way to make your pgms work, anyway in some of the systems where i worked there are ten of thousands of invoices processed per day, simply thousands in the smallest ones, a great benefit came from introducing service programs and implementing ile architecture and full sql access delegating al I/O and reading from files to procedures within a srvpgm's object.

Let's say that instead of submitting PgmB (is an interactive or a batch job?) you defined it as a procedure of a service program exported, so lets's say you did something this way:

returnCode=processInvoice(invoiceNumber);

if returnCode='ok'; //it all went well
//do something or nothing
elseIf returnCode<>'ok';
//do something else
endif;

and in another module:

dcl-proc processInvoice export;
dcl-pi *n like(returnCode);
invoiceNumber int(10);
end-pi;

dcl-s retCode char(35);

//marck the invoice as in process
invoiceInProcess(invoiceNumber);

//then process the invoice


//then mark the invoice as processed
invoiceProcessed(invoiceNumber);

return retCode;
end-proc;

in really big volumes this saves some resources, i've seen it happens with my eyes

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