Just that you know immediately that a service program exists. It is the
only way it worked before V6R1 unless you dynamically load the service
program.


On Mon, Dec 24, 2012 at 9:45 AM, Jeff Young <jyoung0950@xxxxxxxxx> wrote:

Thanks Mark.
I was aware of the job description route, but in this case, where I am
dealing with a large number of users, I did not want to get into setting up
a special job description.

What is the advantage of setting a service program to bind *IMMED?

Thanks,

On Mon, Dec 24, 2012 at 11:30 AM, Mark S Waterbury <
mark.s.waterbury@xxxxxxxxxxxxx> wrote:

Hi, Jeff:

You do not _have_ to set the user profile's *CURLIB to that library.
You only need to ensure that the library containing that *SRVPGM is
somewhere in the initial library list for this user profile.

Usually, this is established via some job description -- every user
profile has a default job description associated with it. You might have
many user profiles using the same job description... in that case, you
might want to create a new one just for this one user, or perhaps a few
users who need to use this new procedure.

Another alternative, in conjunction with using the *DEFER option (at
V6R1 and up), is to have the calling CL program issue an ADDLIBLE to
ensure that library is in the *LIBL before the CALLPRC is issued.

Hope that helps,

Mark S. Waterbury

> On 12/24/2012 11:08 AM, Jeff Young wrote:
Hi Scott,
Thanks for the pointer.
In this case, the service program activation was set to *IMMED, so when
the
job description did not contain the library for the service program,
and
the user profile did not have the CURLIB set to a library containing
the
service program, I received the error.

I did not realize that when the activation is set to *IMMED, that the
system attempts to resolve the service program when the program starts
and
before any code is executed.
(I have now learned something new.)

Since this is set as part of a package software, I have set the user
profile CURLIB to a library containing the service program.

Thanks again,




On Mon, Dec 24, 2012 at 10:56 AM, Scott Klement <
midrange-l@xxxxxxxxxxxxxxxx
wrote:
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.)

-SK


On 12/24/2012 8:59 AM, Jeff Young wrote:
All,
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
program.

pgm
dcl
dcl
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
.
endpgm

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'
Authority
X'0000'.


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.

TIA,

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




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




--
Jeff Young
Sr. Programmer Analyst
--
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.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 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.