Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

JVSEL Limiting the JV selection of the STAJV macros to specific attributes

&pagelevel(4)&pagelevel

General

Domain:

Job variables

Macro type:

Type S (standard form/C/D/L form) see section “The MF operand”

In the C and D forms of the macro, a prefix (PREFIX = pre, where pre is 1..3 letters) can be specified (see section “The PREFIX operand”).

Default value: 

PREFIX=JSE

Macro description

The JVSEL macro limits the job variable set which is handled by a ERAJV or STAJV call, to job variables with specific attributes.

Macro call format and operand description

Operation

Operands

JVSEL

,ACCESS=*ANY / *READ / *WRITE

,SHARE=*ANY / *YES / *NO

,PASS=*ANY  / *NONE / *RDPASS / *WRPASS / (list-of-pass)

,CRDATE=*ANY / date / date([time1][,time2]) / (date[(time)]) / (,date[(time)]) / (date1[(time1)],date2[(time2)])

,EXDATE=*ANY / date / date([time1][,time2]) / (date[(time)]) / (,date[(time)]) / (date1[(time1)],date2[(time2)])

,BASACL=*ANY  / *NONE / *YES 

,OWNERAR=*ANY  / *NO-ACCESS / (access-list)

,GROUPAR=*ANY  / *NO-ACCESS / (access-list)

,OTHERAR=*ANY  / *NO-ACCESS / (access-list)

,GUARDS=*ANY  / *NONE / *YES /    READ={ *ANY / *NONE / fname }  , WRITE={ *ANY / *NONE / fname }    )

,MANCLAS=*ANY  / *NONE / <c-string 1..8>

,MONJV=*ANY  / *YES / *NO

,CJC=*ANY  / *YES / *NO

,PROTACT=*ANY  / *LEVEL-0 / *LEVEL-1 / *LEVEL-2 / (list-of-protact)

,SIZE=*ANY  / nmbr / (nmbr[,]) / (,nmbr) / (nmbr1,nmbr2)

,TIMBASE=*LTI  / *UTC

,VERSION=1

,MF=D / C / L

,PREFIX=JSE  / pre


ACCESS=
Selects job variables on the basis of the access mode

*ANY
Default value; the access mode is not a selection criterion.

*READ
Provides information about job variables for which only read access is permitted.

*WRITE
Provides information about job variables for which only write access is permitted.

SHARE=
Selects and retrieves information on job variables based on whether or not they are shareable. If a foreign user ID is specified with “$userid.”, SHARE=YES applies implicitly.

*ANY
Default value; shareability is not used as a selection criterion.

*YES
Returns information on all job variables that are shareable, i.e. which are also accessible to other user IDs under active standard access control.

*NO
Returns information on all job variables that are not shareable, i.e. that are only accessible to the owner or co-owner under active standard access control.

PASS=
Selects and returns information on job variables on the basis of their password protection. If several password types are specified in the form of a list, all job variables that satisfy one of the named conditions (logical OR) are selected by the system.

*ANY
Default value; password protection is not used as a selection criterion.

*NONE
Selects job variables for which no password protection exists.

*RDPASS
Selects job variables which are protected by means of a read password.

*WRPASS
Selects job variables which are protected by a write password.

(list-of-pass)
The user may specify more than one type of password in the form of a list. All job variables protected by one of the specified password types will be selected.

CRDATE=
Returns information on job variables on the basis of their creation date (CRDATE); range specifications are inclusive of the limit values. It is meaningless to specify a CREATION-DATE which lies in the future!

Here, the user can specify the creation date in either of two ways:

  1. as an  absolute date value
    a specific date in the form yymmdd or [yy]yy-mm-dd (yy = year, mm = month, dd = day)

  2. as a  relative date value
    (6 digits with preceding sign), the number of days from today’s date, in the form -n for dates in the past, and [+]n for dates in the future; (yesterday=-1 or today=+0 )

*ANY
Default value; the creation date is not a selection criterion.

date
Returns information on all job variables that were created on the specified date.

date([time1][,time2])
JVs, that were created on the specified date within the specified period between time1 and time2. If time1 is missing, the time period starts at 0:00, if time2 is missing the period ends at 23:59:59.

(date[(time)])
JVs created from the specified time. If the time is missing, the time is 0:00 on the specified day.

(,date[(time)])
JVs created up to the specified time. If the time is missing, the time is 23:59:59 on the specified day.

(date1[(time1)],date2[(time2)])
JVs that were created in the specified time period. If time1 is missing, the time period starts at 0:00 on date1, if time2 is missing, the time period ends at 23:59:59 on date2.

EXDATE=
Returns information on job variables on the basis of their “expiration date”, i.e. the date from which write accesses to the job variable are allowed. It is meaningful to specify a date in the future if retention periods are being queried.
Here, the user can specify the expiration date as an  absolute date value  or as a  relative date value  (see “CRDATE”).

*ANY
Default value; the expiration date is not a selection criterion.

date
Returns information on all job variables for which the specified expiration date is defined.

date([time1][,time2])
JVs, that were created on the specified date within the specified period between time1 and time2. If time1 is missing, the time period starts at 0:00, if time2 is missing the period ends at 23:59:59.

(date[(time)])
JVs created from the specified time. If the time is missing, the time is 0:00 on the specified day.

(,date[(time)])
JVs created up to the specified time. If the time is missing, the time is 23:59:59 on the specified day.

(date1[(time1)],date2[(time2)])
JVs that were created in the specified time period. If time1 is missing, the time period starts at 0:00 on date1, if time2 is missing, the time period ends at 23:59:59 on date2.

BASACL=
Returns information on files which are selected on the basis of a defined BASIC-ACL.

*ANY
Default value; the BASIC-ACL is not a selection criterion.

*NONE
Returns information on all job variables for which no BASIC-ACL entry is defined.

*YES
Returns information on all job variables for which a BASIC-ACL entry is defined.

OWNERAR=
Returns information on job variables selected on the basis of the access rights that are defined for the job variable owner in the BASIC-ACL entries.

*ANY
Default value; BASIC-ACL entries for the job variable owner are not used as a selection criterion.

*NO-ACCESS
Returns information on all job variables that the owner is not allowed to access.

access-list
Returns information on all job variables for which at least one of the listed access rights has been defined for the file owner in the BASIC-ACL entry.

access-list has the following format:

[ { READ = *YES | R = *Y | READ = *NO | R = *N } ]

[, { WRITE = *YES | W = *Y | WRITE = *NO | W = *N } ]

The individual elements of the access list mean the following:

READ=*YES or R=*YSelects all job variables that may be accessed by the owner for reading.
READ=*NO or R=*NSelects all job variables that cannot be accessed by the owner for reading.
WRITE=*YES or W=*YSelects all job variables that can be accessed by the owner for writing.
WRITE=*NO or W=*NSelects all job variables that cannot be accessed by the owner for writing.

GROUPAR=
Selects and returns information on job variables on the basis of the access rights that are defined for members of the job variable owner's user group in BASIC-ACL entries.

*ANY
The BASIC-ACL entries for members of the job variable owner's user group are not used as a selection criterion.

*NO-ACCESS
Returns information on all job variables that cannot be accessed by the user group of the owner.

access-list
Returns information on all job variables for which at least one of the access rights specified in the list has been entered for the user group of the job variable owner in the BASIC-ACL entry.

access-list has the following format:

[ { READ=*YES | R=*Y | READ=*NO | R=*N } ]

[, { WRITE=*YES | W=*Y | WRITE=*NO | W=*N } ]

The individual elements of the access list mean the following:


READ=*YES or R=*YSelects all job variables that may be accessed for reading by the user group of the owner.
READ=*NO or R=*NSelects all job variables that cannot be accessed for reading by the user group of the owner.
WRITE=*YES or W=*YSelects all job variables that may be accessed for writing by the user group of the owner.
WRITE=*NO or W=*NSelects all job variables that cannot be accessed for writing by the user group of the owner.


OTHERAR=
Selects and returns information on job variables based on the access rights that are defined via BASIC-ACL entries for all users other than the job variable owners's user group.

*ANY
Default value; the BASIC-ACL entries for all users other than the job variable owner's user group do not serve as a selection criterion.

*NO-ACCESS
Returns information on all job variables that may be accessed by users not belonging to the job variable owner's user group.

access-list
Returns information on all job variables for which at least one of the listed access rights has been defined for users not in the job variable owner's user group in the BASIC-ACL entries.

access-list has the following format:

[ { READ=*YES | R=*Y | READ=*NO | R=*N } ]

[, { WRITE=*YES | W=*Y | WRITE=*NO | W=*N } ]

The individual elements of the access list mean the following:


READ=*YES bzw. R=*YSelects all job variables that can be accessed for reading by users who are not in the owner's user group.
READ=*NO bzw. R=*NSelects all job variables that cannot be accessed for reading by users who are not in the owner's user group.
WRITE=*YES bzw. W=*YSelects all job variables that can be accessed for writing by users who are not in the owner's user group.
WRITE=*NO bzw. W=*NSelects all job variables that cannot be accessed for writing by users who are not in the owner's user group.


GUARDS=
The user can select job variables to be processed on the basis of the access protection defined by GUARDS (see the “SECOS” [10] manual). 

*ANY
Default value; the access protection defined by GUARDS is not a selection criterion.

*NONE
Returns information on all job variables which have no access protection defined by GUARDS.

*YES
Returns information on all job variables which have access protection defined by GUARDS.

(READ=...,WRITE=...)
The type of access protection provided by GUARDS that is to be used as a selection criterion can be defined by the user in a list. For each access mode (read and write), the defined protection can be specified precisely. If no entry is made for an access mode, the protection defined for that access mode has no effect on the selection.

For each access mode, one of the following values may be specified:

*ANY
The defined GUARDS protection is not a selection criterion.

*NONE
No guard has been defined for the specified access mode, i.e. the corresponding access is denied.

fname
All conditions for granting access in the specified access mode are defined in the guard fname.

MANCLAS=
Returns in formation on all job variables according to the HSMS management class for file backup to SM pubsets.

*ANY
Default value; the HSMS management class is not a selection criterion.

*NONE
All files for which no HSMS management class is defined are selected.

<c-string 1..8>
All files with the specified HSMS management class are selected.

MONJV=
Selects job variables that are used as job monitoring job variables.

*ANY
Preset value: use as a monitoring job variable is not a selection criterion.

*NO
Selects job variables that do not monitor any jobs.

*YES
Selects job variables that monitor jobs (also see the SHOW-JV-ATTRIBUTES command, the JV-TYPE IS MONJV output field in the “Commands” manual [1]).

CJC=
Selects job variables according to their use in CJC functions.

*ANY
Default value; use in CJC functions is not a selection criteria.

*NO
Selects job variables that are not used in CJC functions.

*YES
Selects job variables that are used in CJC functions.

PROTACT=
Selects and retrieves information on job variables on the basis of the protection level provided by the highest activated access control.

When the file is accessed, the highest activated protection level applies. The following table shows the method used for access control, the protection attribute to be specified in the CATJV macro and the file protection hierarchy (protection levels):


Access control method

Protection attribute (CATJV macro operand)

Protection
level

Standard access control

ACCESS and SHARE

0

Basic access control list

BASACL, OWNERAR, GROUPAR, OTHERAR

1

Access control using GUARDS

GUARDS

2

All other protection attributes of the file (e.g. passwords) are evaluated independently, without regard to the implemented protection level.

*ANY
Default value; is the default value; returns information on all job variables without regard to the protection level of the highest activated access control.

*LEVEL-0
Returns information on job variables for which access is controlled via standard access control.

*LEVEL-1
Returns information on job variables for which access is controlled via a basic access control list (BASIC-ACL protection).

*LEVEL-2
Returns information on job variables for which access is controlled via an access control list by GUARDS.

(list-of-protact)
The user may specify up to a maximum of three protection levels in a list. All job variables for which the protection level of the access control method matches one of those specified are selected.

SIZE=
Selects job variables according to the length of the job variable values. Range specifications include their respective limit values.

*ANY
Default value; the length of the job variable value is not a selection criteria.

nmbr
Selects job variables which are the specified number of bytes long. 
Possible values: 0 <= nmbr <= 256

(nmbr[,])
Returns information about job variables which are at least the specified number of bytes long (SIZE >= specified value).

(,nmbr)
Returns information about job variables which have a length which is less than or equal to the specified number of bytes (SIZE <= specified value).

(nmbr1,nmbr2)
Returns information about job variables which have a length within the specified range (nmbr1 <= length <= nmbr2).

TIMBASE=
Specifies the timebase which is used when inputing creation or expiration dates.

*LTI
Default value: date or time inputs are interpreted as inputs in local time.

*UTC
Date or time inputs are interpreted as GMT.

MF=
PREFIX=
For a description of the MF and PREFIX operands, see "General macro operands".
Their permitted values are indicated at the beginning of the macro description and in the macro call format.

VERSION=
Specifies which version of BS2000 the macro expansion is to be compatible with.

1
Default value: The macro expansion is compatible with JV V14.0.


Return information and error flags

Currently the only option of using a JVSEL parameter list is to use it as SELADDR in a ERAJV or STAJV. They both supply a return code in accordance with Chapter "Messages" - "Macro level" and, specifically in the case of return code 0491 (error during selection), it also records which selection criterion is faulty in the JSERC field of the JVSEL parameter list.

DSECT


  JVSEL    JVSEL MF=D
1 JVSEL    MFCHK MF=D,SUPPORT=(D,C),PREFIX=J,MACID=SE,DMACID=JSE
2 JVSEL    DSECT ,
2                *,##### PREFIX=J, MACID=JSE #####
1 *
1 *
1          DS    0A
1 JSETEXT  DC    C'SELECT'
1 JSEVERS  DC    X'01'
1 JSERC    DC    X'FF'
1 JSERCOK  EQU   X'00'              NO ERROR
1 JSERCCRD EQU   X'01'              INVALID CRDATE
1 JSERCEXD EQU   X'02'              INVALID EXDATE
1 JSERCCRT EQU   X'03'              INVALID CRTIME
1 JSERCEXT EQU   X'04'              INVALID EXTIME
1 JSERCUND EQU   X'FF'              UNDEFINED
1 *
1 JSESELI0 DC    B'00000000'     SELECT IND0
1 JSESICRD EQU   X'80'              CREATION-DATE
1 JSESIEXD EQU   X'40'              EXPIRATION-DATE
1 JSESIPWP EQU   X'20'              PASSWORD-PROTECTED
1 JSESIPRO EQU   X'10'              PROTECTION-LEVEL
1 JSESIACC EQU   X'08'              ACCESS
1 JSESISHR EQU   X'04'              SHARE
1 JSESIBAC EQU   X'02'              BASIC-ACL
1 JSESIGUA EQU   X'01'              GUARDS
1 *
1 JSESELI1 DC    B'00000000'     SELECT IND1
1 JSESISIZ EQU   X'80'              SIZE
1 JSESIMON EQU   X'40'              MONJV
1 JSESIMCL EQU   X'20'              MANAGEMENT-CLASS
1 JSESICJC EQU   X'10'              CJC
1 JSESI5UU EQU   X'0F'           -- UNUSED, MUST BE 0 --
1 *
1 JSEUNUS1 DC    X'0000'
1 *
1 JSEBACL  DC    B'00000000'     BASIC-ACL
1 JSEBACLY EQU   X'80'              YES 
1 JSEBACLN EQU   X'40'              NONE
1 JSEBACLU EQU   X'2F'           -- UNUSED, MUST BE 0 --
1 *
1 JSEBOW   DC    B'00000000'     BASIC-ACL-OWNER
1 JSEBOWRS EQU   X'80'              READ-RIGHT-SPECIFIED
1 JSEBOWWS EQU   X'40'              WRITE-RIGHT-SPECIFIED
1 JSEBOWUN EQU   X'20'           -- UNUSED, MUST BE 0 --
1 JSEBOWRY EQU   X'10'              READ = YES
1 JSEBOWWY EQU   X'08'              WRITE = YES
1 JSEBOWNU EQU   X'04'           -- UNUSED, MUST BE 0 --
1 JSEBOWNO EQU   X'02'              NO-ACCESS
1 JSEBOWUU EQU   X'01'           -- UNUSED, MUST BE 0 --
1 *
1 JSEBGR   DC    B'00000000'     BASIC-ACL-GROUP
1 JSEBGRRS EQU   X'80'              READ-RIGHT-SPECIFIED
1 JSEBGRWS EQU   X'40'              WRITE-RIGHT-SPECIFIED
1 JSEBGRUN EQU   X'20'           -- UNUSED, MUST BE 0 --
1 JSEBGRRY EQU   X'10'              READ = YES
1 JSEBGRWY EQU   X'08'              WRITE = YES
1 JSEBGRNU EQU   X'04'           -- UNUSED, MUST BE 0 --
1 JSEBGRNO EQU   X'02'              NO-ACCESS
1 JSEBGRUU EQU   X'01'           -- UNUSED, MUST BE 0 --
1 *
1 JSEBOT   DC    B'00000000'     BASIC-ACL-OTHERS
1 JSEBOTRS EQU   X'80'              READ-RIGHT-SPECIFIED
1 JSEBOTWS EQU   X'40'              WRITE-RIGHT-SPECIFIED
1 JSEBOTUN EQU   X'20'           -- UNUSED, MUST BE 0 --
1 JSEBOTRY EQU   X'10'              READ = YES
1 JSEBOTWY EQU   X'08'              WRITE = YES
1 JSEBOTNU EQU   X'04'           -- UNUSED, MUST BE 0 --
1 JSEBOTNO EQU   X'02'              NO-ACCESS
1 JSEBOTUU EQU   X'01'           -- UNUSED, MUST BE 0 --
1 *
1 JSECRD   DC    CL10' '         CREATION DATE    - FROM DATE
1 JSECRT   DC    CL8' '                                  TIME
1 JSECRD2  DC    CL10' '                          - TO DATE
1 JSECRT2  DC    CL8' '                                TIME
1 *
1 JSEEXD   DC    CL10' '         EXPIRATION DATE  - FROM DATE
1 JSEEXT   DC    CL8' '                                  TIME
1 JSEEXD2  DC    CL10' '                          - TO DATE
1 JSEEXT2  DC    CL8' '                                TIME
1 *
1 JSEGUA   DC    B'00000000'     GUARDS SPECIFIED FLAG
1 JSEGUARS EQU   X'80'   7-7 S      READ-SPECIFIED
1 JSEGUAWS EQU   X'40'   6-6 S      WRITE-SPECIFIED
1 JSEGUAUN EQU   X'20'   5-5 R   -- UNUSED, MUST BE 0 --
1 JSEGUUNU EQU   X'10'   4-4 R   -- UNUSED, MUST BE 0 --
1 JSEGUANS EQU   X'08'   3-3 S      GUARDS=NONE SPECIFIED
1 JSEGUAYS EQU   X'04'   2-2 S      GUARDS=YES SPECIFIED
1 JSEGUAUU EQU   X'03'   1-0 R   -- UNUSED, MUST BE 0 --
1 JSEGUAR  DC    CL18' '            GUARDS-READ
1 JSEGUAW  DC    CL18' '            GUARDS-WRITE
1 *
1 JSEPWP   DC    B'00000000'     PW PROTECT FLAG -
1 JSEPWPRD EQU   X'80'   7-7 S      READ
1 JSEPWPWR EQU   X'40'   6-6 S      WRITE
1 JSEPWPUN EQU   X'20'   5-5 R   -- UNUSED, MUST BE 0 --
1 JSEPWPNO EQU   X'10'   4-4 S      NONE
1 JSEPWPNU EQU   X'0F'   3-0 R   -- UNUSED, MUST BE 0 --
1 *
1 JSEPROL  DC    B'00000000'     PROTECTION-LEVEL-FLAG
1 JSEPROL0 EQU   X'80'   7-7 S      LEVEL 0
1 JSEPROL1 EQU   X'40'   6-6 S      LEVEL 1
1 JSEPROL2 EQU   X'20'   5-5 S      LEVEL 2
1 JSEPROUU EQU   X'1F'   4-0 R   -- UNUSED, MUST BE 0 --
1 *
1 JSESELF1 DC    B'00000000'     SELECT FLAG 1 -
1 JSEACCRD EQU   X'80'   7-7 S      ACCESS = READ
1 JSEACCWR EQU   X'40'   6-6 S      ACCESS = WRITE
1 JSESHARY EQU   X'20'   5-5 S      SHARE  = YES
1 JSESHARN EQU   X'10'   4-4 S      SHARE  = NO
1 JSEMONY  EQU   X'08'   3-3 S      MONJV  = YES
1 JSEMONN  EQU   X'04'   2-2 S      MONJV  = NO
1 JSECJCY  EQU   X'02'   1-1 S      CJC    = YES
1 JSECJCN  EQU   X'01'   0-0 S      CJC    = NO
1 *
1 JSESELF2 DC    B'00000000'     SELECT FLAG 2 -
1 JSETLTI  EQU   X'80'   7-7 S      TIME-BASE = LOCAL
1 JSESF2UU EQU   X'7F'   6-0 R   -- UNUSED, MUST BE 0 --
1 *
1 JSEUNUS2 DC    X'000000'
1 *
1 JSESIZE  DC    A(0)            SIZE  - FROM
1 JSESIZE2 DC    A(0)                  - TO
1 *
1 JSEMGMCL DC    CL8' '          MANAGEMENT-CLASS
1 JSEFUT4  DC    60X'00'         SPACE FOR FUTURE USE, MUST BE 0
1 JSESPLLN EQU   *-JVSEL