×
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.
This is most likely because the IFS "no workie" with adopted authority.
You need to use the QSYGETPH, QWTSETP and QSYRLSPH APIs to temporarily change the current job to run "as" a user profile (like QSECOFR) that has sufficient authority over the IFS directories and files in question, because the IBM i IFS (Unix-like) APIs do not "adopt" authority.
Note that you probably need to be adopting authority to have authority to swap profiles, so you are half way there. :-)
Hope that helps,
Mark S. Waterbury
On Thursday, May 19, 2022, 03:05:27 PM EDT, <smith5646midrange@xxxxxxxxx> wrote:
I have to be overlooking something and I'm hoping one of you will see it.
I have an SQLRPGLE program named SCRTEST. It is owned by QSECOFR and is
USRPRF(*OWNER);
In the program it needs to execute the below MOV command which is built on
the fly. FYI - I'm using MOV because I can rename the file and move it to a
different library at the same time.
MOV OBJ('/QSYS.LIB/OLDLIB.LIB/OLDFILE.FILE')
TOOBJ('/QSYS.LIB/NEWLIB.LIB/NEWFILE.FILE')
I have tried calls using both system() and QCMDEXC().
If I run the program with the QSECOFR profile, both versions work. If I run
it with a *USER profile, both versions fail.
What am I missing? Do system() and QCMDEXC() not pass the adopted authority
to the command that they call? If not, is there a different command that
does?
As an Amazon Associate we earn from qualifying purchases.