Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

SRMUINF - Read user information from user catalog

&pagelevel(3)&pagelevel

General

Application area:

Requesting and accessing lists and tables; see "Requesting and accessing lists and tables"

Macro type:

Type S, MF format 3: D/C/E/L/M form; see "S-type macros"


An entry is made by a user administrator in the user catalog for each user (user ID). The contents of the entry include the following:

  • user ID, password authorization,...

  • specifications on system resources available to the user (CPU time, memory space,...)

  • special user rights (privileged access,...)

  • accounting data.

  • Mailing information (mail and email addresses)

Macro description

The SRMUINF macro reads data from the user catalog and transfers it to an area specified beforehand. Depending on the specification made, the accounting data, the user-specific data or the entire entry for a user ID is output from the user catalog. The following distinction needs to be made:

  • Macro under the ID of the nonprivileged user:
    only data from the user's own entry is output.

  • Macro call under the ID of a user administrator (normally the user ID TSOS or, if the software product SECOS is used, a user ID with the privilege USER-
    ADMINISTRATION):

    • output of data from the user's own entry

    • output of data from other users (individually for any one user or in sequence for more than one user)

  • Macro under the ID of a user group administrator (only possible if the software product SECOS is used). Only data from a local pubset can be output:

    • output of data from the user's own entry

    • output of data from other users who belong to the group or subgroup of the user group administrator.

Macro format and description of operands

SRMUINF

INFO=*USER / *ALL / *ACCOUNT / *POSIX / *EMAIL / *ALL_EMAIL / addr / (r)

[,AREA@=addr / (r)]

[,AREA#=length / addr / (r)]

,USERID=*OWN / *FIRST / 'userid' / addr / (r)

,PVS=*HOME / 'catid' / addr / (r)

,ACTION=*READ / *READNXT / *READSEQ / addr / (r)

,XPAND={PARAM / OUTPUT,DATA={ALL / USER / ACCOUNT / POSIX / EMAIL / ALL_EMAIL} }

,MF=D / C / L / M / E

[,PARAM=addr / (r)]

,PREFIX=S / p

,MACID=RMV / macid

The operands are described below in alphabetical order.

ACTION=
Specifies whether data is to be read from the user catalog for the specified user ID or the next user ID.

*READ
Default setting: the entry for the specified user ID is read from the user catalog.

*READNXT
The entry for the user ID that follows the specified user ID is read from the user catalog.This value can only be specified under the ID of a user administrator with the system privilege “USER-ADMINISTRATION” (this system privilege is normally assigned to the user ID TSOS or, if the software product SECOS is used, to a user ID with the corresponding privileges).

*READSEQ
The entry for the user ID that follows the specified user ID is read from the user catalog. In addition, the user ID whose entry was read is entered in the parameter list as the USERID operand.

addr
Symbolic address (name) of the field containing the information as to which entry from the user catalog is to be transferred.
May be specified only in conjunction with MF=M.

(r)
Register containing the address value for the value of the ACTION operand. May be specified only in conjunction with MF=M.

AREA@=
Denotes the address of an output area to which the data from the user catalog is transferred.

addr
Symbolic address (name) of the area.

(r)
Register containing the address value of the output area. May be specified only in conjunction with MF=M.

AREA#=
Specifies the length of the output area. The minimum length depends on the amount of information to be output (determined by means of the INFO operand). The entry is truncated if the length specification is inadequate (return code aa = X'10').

length
Integer specifying the length of the output area in bytes. “length” can assume the values 0, 1, ..., 4096.

addr
Symbolic address (name) of a field containing the length of the output area. May be specified only in conjunction with MF=M.

(r)
Register containing the address value for the length of the output area. May be specified only in conjunction with MF=M.

DATA=
Controls the definition of specific output areas. This operand is evaluated only if XPAND=OUTPUT is specified.

ALL
Default setting: defines the complete entry for the specified user ID, but without the EMAIL- and POSIX-specific parts.

USER
Defines the user-specific part (without account numbers) of the entry for the specified user ID.

ACCOUNT
Defines the account-specific part (account numbers only) of the entry for the specified user ID.

POSIX
Defines the POSIX-specific part of the entry for the specified user ID.

EMAIL

Defines the EMAIL-specific part of the entry for the specified user ID.

ALL_EMAIL
Defines the complete entry with the EMAIL-specific part for the specified user ID, but without the POSIX-specific part.

INFO=
Specifies how much data is to be transferred from the entry in the user catalog.

*USER
Default setting: only the user-specific data is transferred.

*ALL
The entire entry is transferred, but without the EMAIL- and POSIX-specific parts.

*ACCOUNT
Only the account-specific data is transferred.

*POSIX
The POSIX-specific data is transferred. The same data is output with the SHOW-POSIX-USER-ATTRIBUTES command.

*EMAIL
The area with the receiver addresses for emails is transferred.

*ALL_EMAIL
The complete entry and the area with the receiver addresses for emails is transferred, but not the POSIX-specific part.

addr
Symbolic address (name) of a field containing the information as to how much data is to be transferred. May be specified only in conjunction with MF=M.

(r)
Register containing the address value for the value of the INFO operand. May be specified only in conjunction with MF=M.

MF=
For a general description of the MF operand, its operand values and any subsequent operands (e.g. PREFIX, MACID and PARAM), see section “S-type macros”. The valid MF values are given at the start of the macro description under “Macro type” and are included in the macro format.
A PREFIX can be specified in the C form, D form or M form of the macro and additionally a MACID in the C form or M form (see section “S-type macros”).

PVS=
Specifies the PVS (Public Volume Set; “pubset”) of the user catalog from which an entry is to be read.

*HOME
Default setting: the desired entry is contained in the user catalog of the home pubset.

'catid'
Catalog ID of the PVS containing the user catalog from which an entry is to be read.'catid' has a maximum length of 4 characters.

addr
Symbolic address (name) of a 4-byte field containing the 'catid'. Short catids have to be padded with blanks.
May be specified only in conjunction with MF=M.

(r)
Register containing the address of the 4-byte 'catid'. Short catids have to be padded with blanks.

USERID=
Denotes the user ID whose entry is to be read from the specified user catalog.

*OWN
Default setting: the entry for the caller's own user ID is output.

*FIRST
The first entry in the specified user catalog is output.
This value may be specified only in conjunction with the ACTION=*READNXT operand and only if the caller has the appropriate privileges.

'userid'
User ID.
'userid' has a maximum length of 8 characters.
The privileges of the caller govern which user IDs may be specified. The following cases apply:

  • The caller is a nonprivileged user:
    only the user's own ID is permissible.

  • The caller is a user group administrator (only possible when the software product SECOS is used):
    any user ID from the caller's user group or from a subgroup of the caller's group is permissible.

  • The caller is a user administrator with the system privilege
    “USER-ADMINISTRATION” (normally the user ID TSOS or, if the software product SECOS is used, a user ID with the corresponding privileges):
    any user ID on the specified PVS is permissible.

addr
Symbolic address (name) of an 8-byte field containing the 'userid'. May be specified only in conjunction with MF=M.

(r)
Register containing the address value “addr”. May be specified only in conjunction with MF=M.

XPAND=
Specifies which data area is to be processed.

PARAM
Default setting: the call data area is processed.

OUTPUT
Requests output of a special output area. The DATA operand must be specified. This determines the output layout of the desired information.

Return information and error flags

Standard header:

+---------------+
|   |   |   |   |
| | |b|b| | |a|a|
+---------------+

A structured return code relating to the execution of the SRMUINF macro is transferred in the standard header: (aa = primary return code, bb = secondary return code)

X'bb'

X'aa'

Meaning

X'00'

X'00'

Normal execution

X'01'

X'04'

Operand error or insufficient privileges

X'00'

X'08'

No entry exists for this ID

X'80'

X'0C'

The pubset (PVS) is inaccessible

X'00'

X'10'

The entry for the user ID was not output in its entirety (inadequate length
specification)

Other return codes which, in accordance with conventions, apply to all macros are given in the table “Standard return codes” (Standard header).

Layout of the DSECT (1)

           SRMUINF MF=D,PREFIX=A
1          STACK  PRINT
1          PRINT  NOGEN
2                *,##### PREFIX=A, MACID=RMV #####
1          #INTF REFTYPE=REQUEST,INTNAME=SRMUINF,INTCOMP=001
1 ARMVPL     DS    0F          BEGIN of PARAMETERAREA
1          FHDR  MF=(C,ARMV),EQUATES=NO
2          DS    0A
2 ARMVFHE  DS    0XL8            0   GENERAL PARAMETER AREA HEADER
2 *
2 ARMVIFID DS    0A              0   INTERFACE IDENTIFIER
2 ARMVFCTU DS    AL2             0   FUNCTION UNIT NUMBER
2 *                                  BIT 15    HEADER FLAG BIT,
2 *                                  MUST BE RESET UNTIL FURTHER NOTICE
2 *                                  BIT 14-12 UNUSED, MUST BE RESET
2 *                                  BIT 11-0  REAL FUNCTION UNIT NUMBER
2 ARMVFCT  DS    AL1             2   FUNCTION NUMBER
2 ARMVFCTV DS    AL1             3   FUNCTION INTERFACE VERSION NUMBER
2 *
2 ARMVRET  DS    0A              4   GENERAL RETURN CODE
2 ARMVSRET DS    0AL2            4   SUB RETURN CODE
2 ARMVSR2  DS    AL1             4   SUB RETURN CODE 2
2 ARMVSR1  DS    AL1             5   SUB RETURN CODE 1
2 ARMVMRET DS    0AL2            6   MAIN RETURN CODE
2 ARMVMR2  DS    AL1             6   MAIN RETURN CODE 2
2 ARMVMR1  DS    AL1             7   MAIN RETURN CODE 1
2 ARMVFHL  EQU   8               8   GENERAL OPERAND LIST HEADER LENGTH
2 *
1 *                                       ADDITIONAL MAIN RETURN-CODES:
1 *
1 ARMVMOK  EQU   0                        REQUEST SERVICED
1 ARMVPAER EQU   4                        PARAMETER ERROR
1 ARMVENFO EQU   8                        ENTRY NOT FOUND
1 ARMVPNAC EQU   12                       PVS NOT ACCESSIBLE
1 ARMVRSER EQU   16                       RESOURCE NOT AVAILABLE
1 *
1          DS    XL4                      UNUSED
1 ARMVUSRD DS    CL8                      USERID SPECIFIED
1 ARMVINFO DS    AL1                      INFO-TYPE
1 ARMVIALL EQU   1                          ALL REQUIRED
1 ARMVIUSR EQU   2                          USER INFO REQUIRED
1 ARMVIACI EQU   3                          ACCOUNT INFO REQUIRED
1 ARMVIPOS EQU   4                          POSIX INFO REQUIRED
1 ARMVIEMA EQU   5                          EMAIL INFO REQUIRED
1 ARMVIAEM EQU   6                          ALL&EMAIL INFO REQUIRED
1 ARMVACOD DS    AL1                      ACTION CODE
1 ARMVACRD EQU   1                          READ
1 ARMVACRN EQU   2                          READ NEXT
1 ARMVPVS  DS    CL4                      PVS CATID
1 ARMVHOME EQU   C'#'                     PVS IS HOME
1          DS    CL4                      FOR CAT-ID EXTENSION
1          DS    XL2                      UNUSED1
1 ARMVARE@ DS    A                        AREA ADDRESS
1 ARMVARE# DS    AL2                      AREA LENGTH
1          DS    XL2                      UNUSED2
1 *
1 ARMVPL#  EQU   *-ARMVPL                 P/L LENGTH

Layout of the DSECT (2)

           SRMUINF MF=D,XPAND=OUTPUT,DATA=ALL_EMAIL
1          STACK  PRINT
1          PRINT  NOGEN
2                *,##### PREFIX=S, MACID=RMV #####
1 ***************************************************************
1 *        INFORMATION ON JOB                                   *
1 ***************************************************************
1 SRMVJOB  DS    0F
1 SRMVUSER DS    CL8                     USER-IDENTIFICATION
1 SRMVSVR  DS    CL1                     SEVER INDICATOR
1 SRMVSVRY EQU   1                       - USERID HAS BEEN SEVERED
1 SRMVSVRN EQU   2                       - USERID NOT      SEVERED
1 SRMVPVG  DS    CL1                     USER PRIVILEGE CODE
1 SRMVPVGA EQU   1                       - SYSTEM ADMINISTRATOR
1 SRMVPVGN EQU   2                       - NORMAL USER
1 SRMVPASS DS    CL8                     USER'S PASSWORD
1 SRMVENCR DS    CL1                     PASSWORD-ENCRYPTION
1 SRMVENUN EQU   0                       - UNDEFINED
1 SRMVENNO EQU   1                       - NO ENCRYPTION
1 SRMVESCA EQU   2                       - ENCRYPT-MODE SCA
1 SRMVEOLD EQU   3                       - ENCRYPT-MODE OLD
1 SRMVENOP EQU   4                       - NO PASSWORD
1          DS    XL1                     NOT USED
1 SRMVJOB#  EQU   *-SRMVJOB                 LENGTH OF JOB PART
1 ***************************************************************
1 *        INFORMATION ON DMS                                   *
1 ***************************************************************
1 SRMVDMSD DS    0F
1 SRMVSPLI DS    F                       SPACE LIMIT
1 SRMVSPUS DS    F                       SPACE USED
1          DS    XL2                     RESERVED
1 SRMVIPSE DS    CL1                     PUBLIC SPACE EXCESS IND
1 SRMVIPEN EQU   1                       - NOT PERMITTED
1 SRMVIPET EQU   2                       - TEMPORARY
1 SRMVIPEY EQU   3                       - PERMITTED
1 SRMVTPIG DS    CL1                     TPIGNORE  INDICATOR
1 SRMVTPIY EQU   1                       - YES : ERROR MESSAGES IGNORED
1 SRMVTPIN EQU   2                       - NO  : NO TPIGNORE PRIVILEGE
1 SRMVTPIR EQU   3                       - READ: ERROR MSG IGNORED-INPU
1 SRMVTPIB EQU   4                       - BLP : BY-PASS-LABEL
1 SRMVTPIA EQU   5                       - ALL : BLP AND YES PRIVILEGES
1 SRMVDFCT DS    CL4                     DEFAULT CAT-ID OF PVS
1          DS    CL4                     NOT USED
1 SRMVTSPL DS    F                       TEMP SPACE LIMIT
1 SRMVTSPU DS    F                       TEMP SPACE USED
1 SRMVFILI DS    F                       FILE LIMIT
1 SRMVFILA DS    F                       FILE AMOUNT
1 SRMVJVLI DS    F                       JV LIMIT
1 SRMVJVA  DS    F                       JV AMOUNT
1 SRMVEXHC DS    CL8                     EXTENDED HOST CODE
1 SRMVDMTR DS    X                       DMS TUNING RESOURCES
1 SRMVDTRN EQU   1                           NONE
1 SRMVDTRP EQU   2                           PAGEABLE
1 SRMVDTRR EQU   3                           RESIDENT
1 SRMVPAL  DS    X                       PHYSICAL ALLOCATION
1 SRMVPALN EQU   1                           NOT-ALLOWED
1 SRMVPALA EQU   2                           ALLOWED
1          DS    XL2                       UNUSED
1 SRMVUS1L DS    F                       S1 LEVEL USED
1 SRMVUS2L DS    F                       S2 LEVEL USED
1 SRMVDMCL DS    CL8                     DEFAULT MANAGEMENT CLASS
1 SRMVDSCL DS    CL8                     DEFAULT STORAGE CLASS
1 *                                      PERM SPACE LIMIT
1 SRMVLTOT DS    F                         TOTAL SPACE
1 SRMVLSTD DS    F                         S0 LEVEL SPACE
1 SRMVLSHP DS    F                         HIGH PERF SPACE
1 SRMVLSVP DS    F                         VERY HIGH PERF SPACE
1 SRMVLSHA DS    F                         HIGH AVAIL SPACE
1 *                                      TEMP SPACE LIMIT
1 SRMVLTMP DS    F                         TOTAL SPACE
1 SRMVLTHP DS    F                         HIGH PERF SPACE
1 SRMVLTVP DS    F                         VERY HIGH PERF SPACE
1 *                                      WORK SPACE LIMIT
1 SRMVLWRK DS    F                         TOTAL SPACE
1 SRMVLWHP DS    F                         HIGH PERF SPACE
1 SRMVLWVP DS    F                         VERY HIGH PERF SPACE
1 *                                      PERM SPACE USED
1 SRMVUTOT DS    F                         TOTAL SPACE
1 SRMVUSTD DS    F                         S0 LEVEL SPACE
1 SRMVUSHP DS    F                         HIGH PERF SPACE
1 SRMVUSVP DS    F                         VERY HIGH PERF SPACE
1 SRMVUSHA DS    F                         HIGH AVAIL SPACE
1 *                                      TEMP SPACE USED
1 SRMVUTMP DS    F                         TOTAL SPACE
1 SRMVUTHP DS    F                         HIGH PERF SPACE
1 SRMVUTVP DS    F                         VERY HIGH PERF SPACE
1 *                                      WORK SPACE USED
1 SRMVUWRK DS    F                         TOTAL SPACE
1 SRMVUWHP DS    F                         HIGH PERF SPACE
1 SRMVUWVP DS    F                         VERY HIGH PERF SPACE
1 SRMVCYSL DS    F                       CRYPTO SESSION LIMIT
1 SRMVCYSU DS    F                       CRYPTO SESSION USED
1 SRMVNST  DS    X                       NET-STORAGE USAGE
1 SRMVNSTN EQU   1                           NOT-ALLOWED
1 SRMVNSTA EQU   2                           ALLOWED 
1          DS    XL3                     UNUSED
1 SRMVNCS  DS    CL8                     NET-CODED-CHAR-SET
1 SRMVDMS# EQU   *-SRMVDMSD                LENGTH OF DMS PART
1 ***************************************************************
1 *        INFORMATION ON TASK/PROGRAM                          *
1 ***************************************************************
1 SRMVTASK DS    0F
1 SRMVUSW  DS    CL4                     USER'S SWITCHES
1 SRMVAIDR DS    CL1                     AID'S READ VALUE
1 SRMVAIDW DS    CL1                     AID'S WRITE VALUE
1 SRMVTPRV DS    CL1                     TESTPRIV INDICATOR
1 SRMVTPRY EQU   1                       - TESTPRIV IS YES
1 SRMVTPRN EQU   2                       - TESTPRIV IS NO
1 SRMVADS2 DS    CL2                     ADDRSPACE VALUE
1 SRMVADIT DS    CL1                     AUDIT INDICATOR
1 SRMVADTY EQU   1                       - AUDIT ALLOWED
1 SRMVADTN EQU   2                       - AUDIT NOT ALLOWED
1 SRMVPSW  DS    CL1                     PSWORD CMD'S RIGHT
1 SRMVPSWY EQU   1                       - PSWORD YES
1 SRMVPSWM EQU   2                       - PSWORD MOD
1 SRMVPSWN EQU   3                       - PSWORD NO
1 SRMVCSMP DS    CL1                     CSTMP-MACRO INDICATOR
1 SRMVCSMY EQU   1                       - CSTMP-MACRO ALLOWED
1 SRMVCSMN EQU   2                       - CSTMP-MACRO NOT ALLOWED
1 SRMVHWAU DS    CL1                     HARDWARE-AUDIT INDICATOR
1 SRMVHWAUY EQU   1                       - HW-AUDIT ALLOWED
1 SRMVHWAUN EQU   2                       - HW-AUDIT NOT ALLOWED
1 SRMVLKAU DS    CL1                     LINKAGE-AUDIT INDICATOR
1 SRMVLKAUY EQU   1                       - LNK-AUDIT ALLOWED
1 SRMVLKAUN EQU   2                       - LNK-AUDIT NOT ALLOWED
1 SRMVPRID DS    CL54                    PROFILE ID
1 SRMVRPAG DS    H                       NB OF RESIDENT PAGES
1 SRMVDTKL DS    CL1                     DEFAULT-MESSAGE-LANGUAGE
1 SRMVMSGS DS    CL1                     DEFAULT-MESSAGE-SEARCH
1 SRMVSTSK EQU   X'01'                   -TASK
1 SRMVSALL EQU   X'02'                   -*ALL
1 SRMVADRS DS    F                       ADDRSPACE VALUE
1 SRMVRPGS DS    F                       NB OF RESIDENT PAGES
1 SRMVTSK# EQU   *-SRMVTASK                LENGTH OF TASK PART
1 ***************************************************************
1 *        INFORMATION ON SPOOL                                 *
1 ***************************************************************
1 SRMVSPOL DS    0F
1          DS    CL8                     UNUSED
1 SRMVMAIL DS    CL64                    MAILING ADDRESS
1 SRMVSPL# EQU   *-SRMVSPOL                LENGTH OF SPOOL PART
1 *-
1 SRMVUSR# EQU   *-SRMVJOB                 LENGTH OF USER PART
1 ***************************************************************
1 *        INFORMATION ON ACCOUNTING                            *
1 ***************************************************************
1 SRMVACCT DS    0F
1 SRMVNBAC DS    H                       NUMBER OF ACCOUNT-NB
1 SRMVMARC DS    H                       MAXIMUM OF ACCOUNT RECORDS
1 *-
1 SRMVACC# EQU   *-SRMVACCT                LENGTH OF ACC GLOBAL INF.
1 *-
1 *-       INFORMATION ON ACCOUNT ENTRY
1 *-
1 SRMVACCE DS    0F
1 SRMVACT  DS    CL8                     ACCOUNT NUMBER
1 SRMVCPU  DS    F                       CPU  TIME REMAINING
1 SRMVNTL  DS    CL1                     NTL INFORMATION
1 SRMVNTLY EQU   1                       - NTL ALLOWED
1 SRMVNTLN EQU   2                       - NTL NOT ALLOWED
1 SRMVEXP  DS    CL1                     EXPRESS  INFORMATION
1 SRMVEXPY EQU   1                       - EXPRESS  ALLOWED
1 SRMVEXPN EQU   2                       - EXPRESS  NOT ALLOWED
1 SRMVSCLA DS    CL1                     SPOOL-OUT CLASS
1 SRMVPRI  DS    CL1                     HIGHEST  PRIORITY PERMITTED
1 SRMVINHD DS    CL1                     INHIBIT  DEACTIVATION IND
1 SRMVINHY EQU   1                       - INHIBIT DEACTIVATION ALLOW
1 SRMVINHN EQU   2                       - INHIBIT DEACT NOT    ALLOW
1 SRMVTYPL DS    CL1                     UPPER LIMIT OF TASK TYPE
1 SRMVTYST EQU   1                       - STD
1 SRMVTYTP EQU   2                       - TP
1 SRMVTYSY EQU   3                       - SYS
1 **************************************************************/
1 * INFORMATION FOR POSIX  VERSION V11.2                       */
1 **************************************************************/
1 SRMVPOA  DS    X                       POSIX ACCOUNTNUMBER
1 SRMVPOAY EQU   1                       1: YES POSIX ACCOUNTNUMBER
1 SRMVPOAN EQU   2                       2: NO  POSIX ACCOUNTNUMBER
1 SRMVDAC  DS    X                       DEFAULT ACCOUNTNUMBER
1 SRMVDACY EQU   1                       - YES DEFAULT ACCOUNTNUMBER
1 SRMVDACN EQU   2                       - NO DEFAULT ACCOUNTNUMBER
1 SRMVACE# EQU   *-SRMVACCE                LENGTH OF ONE ACC ENTRY
1 *-
1          DS    CL(59*SRMVACE#)
1 *
1 SRMVACM# EQU   60*SRMVACE#+SRMVACC#      MAX LENGTH OF ALL ACCOUNT
1 *-                                     ENTRIES,GLOBAL INF
SRMVALL#   EQU   *-SRMVJOB                 MAX LENGTH OF A ALL ENTRY
***************************************************************
*        INFORMATION ON EMAIL V17.0                           *
***************************************************************
SRMVEMA    DS    0F
SRMVEMAL   DS    H                         EMAIL-LENGTH
SRMVEMAI   DS    CL1800                    EMAIL
SRMVEMA#   EQU   *-SRMVEMA                 LENGTH OF EMAIL-INFO
1 *-
1 SRMVETR# EQU   SRMVUSR#+SRMVACM#         MAX LENGTH OF A USER ENTRY

Example showing output of user ID and default pubset

SRMUINF  START
SRMUINF  RMODE ANY
SRMUINF  AMODE ANY
         GPARMOD 31
         BALR  3,0
         BCTR  3,0
         BCTR  3,0
         USING SRMUINF,3
         SRMUINF AREA@=SRMAUS,AREA#=SRMVLLLL,INFO=*ALL,MF=M —————————  (1) 
         SRMUINF MF=E,PARAM=SRMPL ———————————————————————————————————  (2) 
         CLI   SRMVMR1,SRMVMOK          * ERROR IN CALL ?
         BNE   ERROR
         MVC   USERID,SRMVUSER          * CALL OK; OUTPUT USER ID
         MVC   DEFPUB,SRMVDFCT          * AND DEFAULT PUBSET
         WROUT MSGAUSG,0
         B     ENDE
ERROR    EQU   *                        * ERROR IN CALL (RC <> 0);
         UNPK  RC(5),SRMVMR1(2)         * OUTPUT RETURN CODE
         TR    RC(4),TAB
         WROUT MSGFEHL,0
* Definitions *
TAB      DS    CL240
         DC    C'0123456789ABCDEF'
*
* Parameter area SRMUINF macro
         DS    0F
SRMPL    SRMUINF MF=C
         ORG SRMVPL
         SRMUINF MF=L
         ORG
*
* Output area SRMUINF macro
         DS    0F
SRMAUS   SRMUINF MF=C,XPAND=OUTPUT,DATA=ALL
*
* Output area if call OK
MSGAUSG  DS    0H
         DC    Y(MSGAUSGL)
         DC    CL3' '
         DC    C'SRMUINF: User ID: '
USERID   DS    CL8
         DC    C'   , Default pubset: '
DEFPUB   DS    CL4
         DC    C'<'
MSGAUSGL EQU   *-MSGAUSG
*
* Output area if call contains error
MSGFEHL  DS    0H
         DC    Y(MSGFEHLL)
         DC    CL3' '
         DC    C'Error in SRMUINF: RC = '
RC       DS    CL5
MSGFEHLL EQU   *-MSGFEHL-1
SRMVLLLL DC    Y(SRMVETR#)              * LENGTH OF OUTPUT AREA
         END
               =AL4(SRMAUS)

Runtime log:

/start-assembh
%  BLS0500 PROGRAM 'ASSEMBH', VERSION '<ver>' OF '<date>' LOADED
%  ASS6010 <ver> OF BS2000 ASSEMBH  READY 
//compile source=*library-element(macexmp.lib,srmuinf), -
//        compiler-action=module-generation(module-format=llm), -
//        module-library=macexmp.lib, -
//        listing=parameters(output=*library-element(macexmp.lib,srmuinf))
%  ASS6011 ASSEMBLY TIME: 438 MSEC
%  ASS6018 0 FLAGS, 0 PRIVILEGED FLAGS, 0 MNOTES
%  ASS6019 HIGHEST ERROR-WEIGHT: NO ERRORS
%  ASS6006 LISTING GENERATOR TIME: 151 MSEC
//end
%  ASS6012 END OF ASSEMBH
/start-executable-program library=macexmp.lib,element-or-symbol=srmuinf
%  BLS0523 ELEMENT 'SRMUINF', VERSION '@' FROM LIBRARY
   ':2OSG:$QM212.MACEXMP.LIB' IN PROCESS
%  BLS0524 LLM 'SRMUINF', VERSION ' ' OF '<date> <time>' LOADED
SRMUINF: User ID: QM212      , Default pubset: 2OSG<

(1)

Initialize parameter list.

(2)

Read user information.