Yea, I see that now: "Ohh, ick" - agreed !
As for the "concern": over two months time there
were two occasions where files were not correctly
updated, but testing in debug did not reveal the
problem to me, and data in a test library would
be correctly updated.
Far from conclusive, but that is the source of
DLYJOB.
We continue in pilot and I monitor closely.
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Buck Calabro
Sent: Monday, February 03, 2014 2:23 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: Activation Group design question
On 2/3/2014 3:45 PM, Gary Thompson wrote:
I have program clle_1 currently in pilot, and am reviewing activation
group design to get correct function with good efficiency.
One concern is file updates made by program sqlrpgle_1 must be read by
programs sqlrpgle_2 and sqlrpgle_3.
Why is this a concern? What sort of I/O is sqlrpgle_1 doing that the updates would be buffered until after the program terminates?
Leave clle_1 set to *DFTACTGRP
Change sqlrpgle_1 from activation group QILE to *NEW
(to force updates to be "posted", assuming that with a *NEW
activation group, when sqlrpgle_1 returns with LR=*ON, file
updates "take effect" similar to FEOD ?)
No, ending an activation group isn't like FEOD.
Change sqlrpgle_2 from activation group *NEW to *CALLER,
Different than the *NEW activation group created by sqlrpgle_1,
for same reasons mentioned for sqlrpgle_1.
Ooh, ick. If clle_1 (DAG) does a CALL SQLRPGLE_2 (*CALLER) then
sqlrpgle_2 will also run in the default activation group. If you're relying on activation group termination to do something for you (what?) then it's not going to ever happen for sqlrpgle_2.
Suggest one named activation group for the lot.
If you're in a commitment control environment, you know what to do. If you're not, then about the only possible buffering would be from RPG WRITEs to a file using blocking. Check the bottom of the compiler listing for a message relating to blocking. But even then, if _1 terminates before the DLYJOB(75) I'd expect that RPG would flush that buffer to disk.
--buck
--
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.