Not sure what exactly you need, ... but with embedded SQL you should be able
to check if the member and/or the program are available:

1. Check whether the member exists
Clear isFound;
Exec SQL
Select 1 into :IsFound
from syspartitionstat
Where system_Table_Schema = :HostSrcLib
and System_Table_Name = :HostSrcFile
and System_Table_Member = :HostSrcMbr;

2. Check whether the Program/Service Program exists
Clear isFound;
Exec SQL
Select 1 into :IsFound
from Table(Qsys2.Object_Statistics(Object_Schema => :HostObjLib,
Objtypelist => '*PGM,
Object_Name => :HostPGM)) ;

Mit freundlichen Grüßen / Best regards

Birgitta Hauser

"Shoot for the moon, even if you miss, you'll land among the stars." (Les
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
?Train people well enough so they can leave, treat them well enough so they
don't want to.? (Richard Branson)

-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of James
H. H. Lampert via MIDRANGE-L
Sent: Samstag, 2. Oktober 2021 02:43
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Cc: James H. H. Lampert <jamesl@xxxxxxxxxxxxxxxxx>
Subject: Checking for existence of members and programs?

I've been asked, in an RPG program that generates other RPG programs (I find
myself doing that a lot, the past few years), to generate names for the
programs being generated.

I'm already (for manually chosen and entered names) checking for member name
collisions simply by watching for errors returned by a call to the ADDPFM
command, and I'm using a call to the CHKOBJ command to determine whether the
program already exists, but I don't even want to think about that for
generated names.

For argument's sake, let's assume the generated names are of the form
AABCCxxxxx, where AABCC is determined by what the generated program does,
and xxxxx is a 5-digit number. And that users might not bother to override
the generated name for programs they want to keep for future use, and may or
may not bother to delete the programs (or
source-members) generated for one-time use.

Any suggestions?

This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related

Help support by shopping at with our affiliate link:

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-2022 by 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.