I agree with Phil as to the cause of your problem. Looking at the posting to use QCMDEXC to solve the situation is over kill in my mind. You can easily put the slash in a variable and place the change variable in a do loop depending on the value of base parm. If you substring the base parms for the first position and find an '*' you will know you do not need the library and slash. Agreement with John is also here. There was nothing sudden about this. Julio Domingo American General Financial Services AS/400 SYSTEMS ANALYST 812-468-5435/812-468-5122 Julio_Domingo@xxxxxxxxxxxxx "John Earl" <john.earl@xxxxxxxxxx To: "'Security Administration on the AS400 / roup.com> iSeries'" <security400@xxxxxxxxxxxx> Sent by: cc: security400-bounces@x Subject: RE: [Security400] RTVUSRPRF/CRTUSRPRF problem idrange.com with INLMNU *SIGNOFF andINLPGM *NONE 06/26/2003 05:54 PM Please respond to Security Administration on the AS400 / iSeries Steve, Suddenly? As in "It used to work, nothing has changed, and now it doesn't work." Can you look at the program object and see when it last changed? I agree with Phil's analisys of the problem, but wanted to add that this is not behavior that should magically appear. If Phil is right, eitehr the program always has done this, or someone has changed something recently. Jte > We have a Command & CL program which allows a (specific) > user to enter a > user profile name and copy it to another (new) user > profile (this is not all > that the CL program does but only the part which is > causing trouble). > Suddenly, this program is not working when the original > user profile has > INLMNU(*SIGNOFF) and/or INLPGM(*NONE) or when a parm > pulled in via RTVUSRPRF > begins with an "*". When this occurs, we receive multiple > CPD0078 (Value > '*NONE ' for parameter INLPGM not a valid name, for > example) messages, > one for initial program, one for initial program library, > etc. > > The offending code looks like this > > IF COND(© *EQ 'Y') THEN(DO) > RTVUSRPRF USRPRF(&FROMUSER) SPCAUT(&SPCAUT) + > INLPGM(&INLPGM) INLPGMLIB(&INLPGMLIB) + > JOBD(&JOBD) JOBDLIB(&JOBDLIB) + > GRPPRF(&GRPPRF) OWNER(&OWNER) + > GRPAUT(&GRPAUT) ACGCDE(&ACGCDE) + > OUTQ(&OUTQ) OUTQLIB(&OUTQLIB) + > USRCLS(&USRCLS) ASTLVL(&ASTLVL) + > SPCENV(&SPCENV) CURLIB(&CURLIB) + > INLMNU(&INLMNU) INLMNULIB(&INLMNULIB) + > LMTCPB(&LMTCPB) PRTDEV(&PRTDEV) + > ATNPGM(&ATNPGM) ATNPGMLIB(&ATNPGMLIB) + > GRPAUTTYP(&GRPAUTTYP) SUPGRPPRF(&SUPGRPPRF) > > . . . . various MONMSGs for original user > profile existence, > authority, locks omitted . . . > > ? CRTUSRPRF USRPRF(&USER) PASSWORD(password) + > PWDEXP(*YES) USRCLS(&USRCLS) + > ASTLVL(&ASTLVL) CURLIB(&CURLIB) + > INLPGM(&INLPGMLIB/&INLPGM) + > INLMNU(&INLMNULIB/&INLMNU) + > LMTCPB(&LMTCPB) TEXT(&LNAME *TCAT ',' + > *BCAT &FNAME *TCAT ' -' *BCAT &DEPT) + > SPCAUT(&SPCAUT) SPCENV(&SPCENV) + > JOBD(&JOBDLIB/&JOBD) GRPPRF(&GRPPRF) + > OWNER(&OWNER) GRPAUT(&GRPAUT) + > GRPAUTTYP(&GRPAUTTYP) + > SUPGRPPRF(&SUPGRPPRF) ACGCDE(&ACGCDE) + > PRTDEV(&PRTDEV) OUTQ(&OUTQLIB/&OUTQ) + > ATNPGM(&ATNPGMLIB/&ATNPGM) > > and the resulting CRTUSRPRF screen looks like this > > Create User Profile (CRTUSRPRF) > > Type choices, press Enter. > > User profile . . . . . . . . . . > STEVETEST > Name > User password . . . . . . . . . > password > Name, *USRPRF, > *NONE > Set password to expired . . . . > *YES > *NO, *YES > Status . . . . . . . . . . . . . *ENABLED > *ENABLED, > *DISABLED > User class . . . . . . . . . . . > *USER > *USER, > *SYSOPR, *PGMR... > Assistance level . . . . . . . . > *SYSVAL > *SYSVAL, *BASIC, > *INTERMED... > Current library . . . . . . . . > *CRTDFT > Name, *CRTDFT > Initial program to call . . . . > *NONE > Name, *NONE > Library . . . . . . . . . . . > ' ' > Name, > *LIBL, *CURLIB > Initial menu . . . . . . . . . . > *SIGNOFF > Name, *SIGNOFF > Library . . . . . . . . . . . > ' ' > Name, > *LIBL, *CURLIB > Limit capabilities . . . . . . . > *YES > *NO, *PARTIAL, > *YES > Text 'description' . . . . . . . > 'TEST, STEVE - > HR' > > > > > More... > F3=Exit F4=Prompt F5=Refresh F10=Additional > parameters F12=Cancel > F13=How to use this display F24=More keys > Value '*NONE ' for parameter INLPGM not a valid name. > + > > > This also happens on the OUTQ and ATNPGM parameters of > CRTUSRPRF. I have > checked for PTFs but have found none. > > Is anyone aware of any fixes for this situation? Or have > you run into this > before? > > TIA, > > Steve > (who apologizes in advance because I don't think the > format of the CRTUSRPRF > screen is going to translate very well into a newsgroup > posting :-) ) > > > > _______________________________________________ > This is the Security Administration on the AS400 / iSeries > (Security400) mailing list > To post a message email: Security400@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: > http://lists.midrange.com/mailman/listinfo/security400 > or email: Security400-request@xxxxxxxxxxxx > Before posting, please take a moment to review the > archives > at http://archive.midrange.com/security400. _______________________________________________ This is the Security Administration on the AS400 / iSeries (Security400) mailing list To post a message email: Security400@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/security400 or email: Security400-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/security400.