Hello Jeff,

By default, service program binding is resolved when the program is loaded (not when the CALLPRC happens). However, this can be changed by changing the activation from *IMMED (default) to *DEFER.

Also, you need to look at how the library was specified when the srvpgm was bound. It can be specified as *LIBL or a hard-coded library. (Though, I don't think it's possible to specify *CURLIB.)


On 12/24/2012 8:59 AM, Jeff Young wrote:
I have a CLLE program that is specified as the initial program for my user.
This program calls a program to set the users library list and changes the
Current Library to *CRTDFT. The library list set by this program contains
the library that the service program resides in.
After the library list is set it then calls a procedure in a service

call pgm(ZZZ/xxx) /* this is a qualified call specifying the library
containing the program to set the library list */
callproc (sp_xxx_xxx)
. do more stuff

1. When the user profile specifies the Current Library as a library
containing the service program, all works just fine.

2. When the user profile specifies the Current Library as either *CRTDFT or
a library not containing the service program, the signon is aborted by the
system and the following message is received:
CH3401 Escape 40 12/24/12 09:49:38.946985
#mnrnrl 000518 QCMD QSYS 04FA
Message . . . . : Cannot resolve to
object XASRVPG. Type and Subtype X'0203'

Since the service program XASRVPG is in the library list at the time the
CALLPRC is issued, I do not understand why there is a problem.


Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2015 by MIDRANGE dot 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 here. If you have questions about this, please contact