John and Patrick

The important point here are as follows:

1. It is a feature of started task procedures that it is possible to provide a 
procedure name that differs from the procedure library member name.

2. z/OS (and many flavours of MVS before it) provides a procedure member 
IEESYSAS which may be used simply to start a program when no DD 
statements are needed.

3. It is possible to specify the value for the EXEC statement PGM parameter 
as a symbolic parameter in a procedure definition (PROG in the case of 
IEESYSAS)[1].

In the case of the resolver program started in its default guise, the procedure 
is IEESYSAS and the started task is given the name RESOLVER by 
adding .RESOLVER to the member name.

These points are MVS business-as-usual even they constitute a bit of a 
relatively obscure "trick".

-

The text in the CS IP 1.9 manual:

<quote>

Because z/OS UNIX does not receive any error indication when it tries to start 
the address space, it will issue an informational message containing the name 
of the procedure it has started. The message is:

   BPXF224I THE RESOLVER_PROC, procname, IS BEING STARTED.

Rule: If the RESOLVER_PROC statement is not present or is specified with a 
procedure name of DEFAULT, the procname value will be RESOLVER even 
though no start procedure was used. If you want to use a start procedure 
named RESOLVER, you must add a RESOLVER_PROC(RESOLVER) statement to 
your BPXPRMxx parmlib member.

</quote>

I would prefer the following:

<quote>

Because z/OS UNIX does not receive any error indication when it submits the 
command internally to start the address space, it will issue an informational 
message containing the name of the procedure it has started. The message is:

   BPXF224I THE RESOLVER_PROC, procname, IS BEING STARTED.

Note: If the RESOLVER_PROC statement is not present in BPXPRMxx or is 
specified with a procedure name of DEFAULT, the procname value will appear 
in this message as RESOLVER. This is because the actual procedure started is 
IEESYSAS with RESOLVER used as the identifier parameter. However If you 
want to use a start procedure with member name RESOLVER, you can ensure 
that a RESOLVER_PROC(RESOLVER) statement is present in your BPXPRMxx 
parmlib member.

</quote>

The point the original author thought he/she was trying to make here is that, 
just because a procedure named RESOLVER appears to be being used, it does 
not imply that a procedure member actually called RESOLVER cannot be 
present in the procedure library and invoked by means of the BPXPRMxx 
statement.

Interestingly enough, if you happened to want your resolver procedure to use 
the member name DEFAULT, *then* you'd be stumped; you'd also be a bit 
weird - but I would stand by the principle that a systems programmer ought to 
be allowed to be weird if he/she so desires. Perhaps "resolver" translates to a 
word that sounds like "default" in some language or other - you never know!

It's unnecessary to make the general point by referring to a general procedure 
name/member name, John's XXXXX, since that is covered in the description of 
the RESOLVER_PROC statement in the MVS Initialization and Tuning Guide.

It's not strictly true that the procedure name IEESYSAS is being started since 
that is the *member* name and the MVS feature is used to provide the 
procedure name - or address space name - RESOLVER.

There's no sort-of hard-coded JCL.

- If RESOLVER_PROC(DEFAULT) is found or assumed by default when 
BPXPRMxx ix processed, the logic issues the command

START IEESYSAS.RESOLVER,PROG=EZBREINI,SUB=MSTR

- If RESOLVER_PROC(xxxxx) is found when BPXPRMxx is processed, the logic 
issues the command

START xxxxx,SUB=MSTR

This is all hinted at in the next section, 1.2.6.3 Managing the resolver 
address 
space.

Chris Mason

[1] Making sure of my facts, I Googled for IEESYSAS and found out that the 
member IEESYSAS consists of the two statements:

//IEESYSAS PROC PROG=IEFBR14
//IEFPROC EXEC PGM=&PROG

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to