|
The LMMFIND service finds a specified member of an ISPF library
or partitioned data set associated with a given data ID. You can also use LMMFIND to return member
statistics to you. If the data ID represents a concatenated set of
ISPF libraries, LMMFIND finds the first occurrence of the member in
the set of libraries.
The LMINIT and LMOPEN services must be completed before LMMFIND
can be used.
Command invocation format
>>-ISPEXEC--LMMFIND--DATAID(data-id)--MEMBER(member-name)------->
>--+------+--+------------------+--+------------------+--------->
'-LOCK-' '-LRECL(lrecl-var)-' '-RECFM(recfm-var)-'
>--+------------------+--+------------------+--+-------+-------><
'-GROUP(group-var)-' | .-NO--. | '-NOLLA-'
'-STATS(-+-YES-+-)-'
Parameters
- data-id
- The data ID associated with the data set to be searched. The data
ID is generated by the LMINIT service. The maximum length of this
parameter is 8 characters.
- member-name
- The name of the member to be found. The maximum length of this
parameter is 8 characters.
- LOCK
- The LOCK parameter is no longer used since the removal of LMF
from the ISPF product, but is left in for compatibility. If LOCK is
specified, the LMMFIND service will fail with return code 12. If you
want to be able to specify YES and have LMMFIND ignore the value,
change the value of the FAIL_ON_LMF_LOCK keyword in the ISPF Configuration
Table to NO.
The LMMFIND service is being used to find a member
in an LMF-controlled ISPF library to either update it or prevent others
from updating it. This parameter is valid only if the data set is
an ISPF library or a concatenated set of ISPF libraries. The library
management facility control data set must have been allocated under
the ddname ISRCFIL. For more information about the LOCK parameter,
refer to ISPF Library Management Facility.
- lrecl-var
- The name of the variable into which the data record length (or,
if the record format is of variable length, the maximum data record
length) is to be stored. The maximum length of this parameter is 8
characters.
- recfm-var
- The name of the variable into which the record format code is
to be stored. An example is FB for fixed-length block
data. The maximum length of this parameter is 8 characters.
- group-var
- The name of the variable that will store the name of the group
that contains the found member. This variable contains the group name
after the service is executed only if the data is an ISPF library
or a set of concatenated ISPF libraries and LMINIT is used with ISPF
name parameters; otherwise, the variable is set to null. The maximum
length of this parameter is 8 characters.
- YES|NO
-
Whether statistics for the member are to be returned to the
dialog invoking the service. If you specify NO, no statistics are
returned. If you specify YES and the data ID represents a data set
that has unformatted records (RECFM=U), the statistics are returned
in these dialog variables:
- ZLAC
- A 2-character field containing the
authorization code of the member.
- ZLALIAS
- An 8-character field containing the name of the real member that
this member is an alias of. If the member is not an alias this field
is blank.
- ZLAMODE
- A 3-character field containing the AMODE of the member.
- ZLATTR
- A 20-character field containing the load module attributes. The
attributes are 2-character strings separated by blanks. These strings
can appear in the attribute string:
- NX
- Not executable
- OL
- Only Loadable
- OV
- Overlay
- RF
- Refreshable
- RN
- Reentrant
- RU
- Reusable
- SC
- Scatter Load
- TS
- Test
- ZLLIB
- Position in concatenated data set sequence; a number from 1 to
16.
- ZLRMODE
- A 3-character field containing the RMODE of the member.
- ZLSIZE
- An 8-character field containing the load module size in hex.
- ZLTTR
- A 6-character field containing the
TTR of the member.
- ZLSSI
- An
8-character field containing the SSI information for a load module.
For other record formats
(F or V), the statistics are returned in these dialog variables:
- ZLC4DATE
- Creation date in 4-character year
format; a character value shown in your national format. If no value
exists for this variable, ISPF sets the value to blanks.
- ZLCDATE
- Creation date; a character value shown in your national format.
If no value exists for this variable, ISPF sets the value to blanks.
- ZLCNORC
- Current number of records; a number from 0 to 65 535. If
no value exists for this variable, ISPF sets the value to blanks.
- ZLINORC
- Beginning number of records; a number from 0 to 65 535.
- ZLLIB
- Position in concatenated data set sequence; a number from 1 to
16.
- ZLM4DATE
- Last change date in 4-character year format; a character value
shown in your national format. If no value exists for this variable,
ISPF sets the value to blanks.
- ZLMDATE
- Last change date; a character value shown in your national format.
If no value exists for this variable, ISPF sets the value to blanks.
- ZLMNORC
- Number of changed records; a number from 0 to 65 535.
- ZLMOD
- Modification level; a number from 0 to 99.
- ZLMSEC
- Seconds value of the last change
time. This is a two character field.
- ZLMTIME
- Last change time; a character value in the format hh:mm.
- ZLUSER
- User ID of last user to change the given member; an alphanumeric
field with a maximum length of 7 characters.
- ZLVERS
- Version number; a number from 1 to 99. If no value exists for
this variable, ISPF sets the value to blanks.
- ZSCLM
- Indicates whether the member was last modified by SCLM or ISPF.
A value of Y indicates the last update was made through SCLM. A value
of N indicates that the last update was made through ISPF.
- ZLEXT
- Indicates whether extended PDS statistics are available. Possible
values are blanks or YES, and the length is 3.
If ZLEXT has a
value of YES, then these variables contain values in the range 0 to
2147483647 for a length of 10; otherwise they are blank:
- ZLCNORCE
- Current number of records.
- ZLINORCE
- Beginning number of records.
- ZLMNORCE
- Number of changed records.
The preceding variables
are stored in the function pool and therefore become immediately available
to command invocations. You cannot use the VGET service to retrieve
these variables, since VGET accesses the shared and profile pools.
For
an MVS™ partitioned data set,
if the statistics are not stored in the data set directory in the
same format used by Edit, only ZLLIB is set with the position in the
concatenation.
- NOLLA
- If LLA is used to manage a cached directory entry, specify this
keyword to ensure that the cached entry is not used.
- buf-len
- A fullword fixed binary integer containing the length of the buffer
parameter.
- buffer
- A buffer containing the name of the service and its parameters
in the same form as they would appear in an ISPEXEC invocation for
a command invocation.
Return codes
These return codes are possible:
- 0
- Normal completion.
- 8
- Member not found.
- 10
- No data set is associated with the given data ID; that is,
LMINIT has not been completed.
- 12
- One of these:
- Data set is not open or is not open for input.
- A parameter value is invalid.
- Data set is not partitioned.
- LOCK parameter was specified.
- 16
- A truncation or translation error occurred in accessing dialog
variables.
- 20
- Severe error; unable to continue.
Example
This example:
- Invokes the LMMFIND service to find member MYPROG in the data set
associated with the data ID stored in DDVAR.
- Stores the record length in variable LENVAR, the record format
code in FORMVAR, and the name of the group that contains member
MYPROG in GRPVAR.
Command invocation
ISPEXEC LMMFIND DATAID(&DDVAR) MEMBER(MYPROG) +
LRECL(LENVAR) RECFM(FORMVAR) +
GROUP(GRPVAR)
Call invocation
CALL ISPLINK ('LMMFIND ',DDVAR,'MYPROG ',' ',
'LENVAR ','FORMVAR ','GRPVAR ');
OR
Set the program variable BUFFER to contain: BUFFER = 'LMMFIND DATAID(&DDVAR) MEMBER(MYPROG)
LRECL(LENVAR) RECFM(FORMVAR)
GROUP(GRPVAR)';
Set the program variable BUFLEN to the length of the variable BUFFER.
Enter the command: CALL ISPEXEC (BUFLEN, BUFFER);
|