|
On 12-Jul-2017 10:38 -0600, Alan Campin wrote:
On Wed, Jul 12, 2017 at 6:55 AM, Glenn Gundermann wrote:IIRC, use of Delete Program (DLTPGM), against the PGM_A in *either* the
On 12-Jul-2017 04:23 -0600, Gad Miron wrote:What happens if you delete the program instead of using QRPLOBJ?
[…] We have here a (admittedly primitive) small home grownInstead of leaving it to the system to move the existing program to
authorization system where users are authorized to certain PGMs
(and to PGM's features) in certain Libraries.
Like: User Bob is authorized to LIB1/PGM_A
this system is implemented by having each PGM call (in *INZSR) a
certain authority checking program (passing it's *PSSR's User,
PGM and Library) that returns a pass/fail indication
This works fine until some programmer compiles a PGM while it is
in use by some user.
The compile replaces the PGM and moves the original PGM obj to
QRPLOBJ
The scenario is as follows:
User has authority to LIB1/PGM_A
PGM_B calls PGM_A
PGM_A checks authority of user to LIB1/PGM_A – User passes the
check.
LIB1/PGM_A is compiled. PGM_A in LIB1 is replaced, original PGM_A
is moved to QRPLOBJ
PGM_A returns to caller (PGM_B)
[…]
QRPLOBJ, you could have the promotion program do it as part of the
process:
- Delete any older versions of QRPLOBJ/PGM_A
- Move the current version<lib>/PGM_A to QRPLOBJ
- Compile PGM_A
*_>_O DLTPGM PGM(@OBJLIB/@OBJNAM)
*_>_R CRTBNDRPG PGM(@OBJLIB/@OBJNAME
*_>_C SRCFIL(@SRCLIB/@SRCFIL) SRCMBR(@SRCMBR)
LIB1 or QRPLOBJ [the two most recently quoted replies], whilst that program
is in use by a job, that may cause the process using that program, to
terminate with a machine check [I do not recall the VLog major/minor codes;
¿and ends with effectively no cleanup?]. While I do not think that
termination is an issue when the PGM_A would otherwise "returns to caller
(PGM_B)" [because the RTX aka Return is in memory], that termination is
certain if/when whatever PGM_A called would try to return to PGM_A [because
the RTX aka Return is to a program that has since been destroyed]. Use of
the Replace Object feature is quite preferable, over the potentially
negative consequences of the process terminating.?.?
--
Regards, Chuck
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.